Cast a Message is the contact page of the Digital Alchemy portfolio, rendered at routeDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/digital-alchemy/llms.txt
Use this file to discover all available pages before exploring further.
/contact. It translates the mundane act of sending an email into a ritual: the visitor inscribes their name, arcane address (email), and message into a styled form — the SpellForm component — which emits runic particle effects when the incantation is cast (submitted).
What Renders on This Page
The page opens with a Framer Motion fade-and-slide heading block:- Heading: “Cast a Message” in large parchment serif
- Subheading: “Reach across the ether” in uppercase turquoise
SpellForm component renders centered within the max-w-6xl page container.
SpellForm Component
The contact form component. Provides three styled input fields (name, email, message), a submit button, and a runic particle animation that fires on form submission. Integrates with the site’s dark parchment aesthetic.
Form Fields
TheSpellForm contains three fields, each styled consistently with the site’s parchment-and-ink color palette:
Name field
Name field
Label: Name (or equivalent runic label in the UI)
Input type:
Purpose: The visitor’s name or handle — how they wish to be known to the developer when the message is received.
Input type:
textPurpose: The visitor’s name or handle — how they wish to be known to the developer when the message is received.
Email field
Email field
Label: Email / Arcane Address
Input type:
Purpose: The reply-to address. Styled and validated as an email field so browsers enforce basic format requirements before the form can be submitted.
Input type:
emailPurpose: The reply-to address. Styled and validated as an email field so browsers enforce basic format requirements before the form can be submitted.
Message field
Message field
Label: Message / Incantation
Input type:
Purpose: The main body of the message. Taller than the single-line fields to accommodate multi-sentence content, such as a project brief or collaboration proposal.
Input type:
textareaPurpose: The main body of the message. Taller than the single-line fields to accommodate multi-sentence content, such as a project brief or collaboration proposal.
Interactive Behaviors
Field focus states
Field focus states
Input fields respond to focus with a glowing turquoise outline consistent with the site’s
text-turquoise accent color. This makes the active field visually distinct and reinforces the magical instrument metaphor.Submit button animation
Submit button animation
Runic particle effect on submit
Runic particle effect on submit
On form submission, the
SpellForm triggers an animated particle system that emits runic/sigil shapes from the form boundary. This is a purely cosmetic flourish that plays while the form data is being processed, providing visual feedback that the action was registered.Success and error states
Success and error states
After submission, the form transitions to a success or error state — the success state typically replaces the form fields with a confirmation message in parchment text, while an error state surfaces an inline message prompting the visitor to try again.
Contextual Connections
The Cast a Message page is the natural destination after visiting several other pages:- The World tarot card on The Witch page explicitly states availability for “freelance summonings” — the contact page is the mechanism for those summonings
- The Coven testimonials on The Coven page establish credibility, priming visitors to reach out
- The
CandleTimelineon Lineage shows 5+ years of progression, giving confidence to prospective clients before they commit to writing a message
The navigation label for this route is “Cast a Message” — the most explicitly thematic name in the nav, and intentionally so. By the time a visitor reaches the contact page, they are fully immersed in the alchemy metaphor, and the label feels natural rather than whimsical.
Route Information
| Property | Value |
|---|---|
| Route path | /contact |
| React component | Contact (internal name F) |
| Key components | SpellForm |
| Animation library | Framer Motion |