Context
Add a simple contact form on paweldregan.com that emails the submission to hello@paweldregan.com.
Blocked by: the email setup (mailbox + DNS) for hello@paweldregan.com landing first — see the email-setup issue.
Scope
- Pick a place for the form. Likely under
pages/coaching.stx(where prospects already land) and/or as a section onpages/index.stx. Could also be a standalonepages/contact.stx. - Form fields (minimum):
- Name (required)
- Email (required, validated)
- Message (required, multiline)
- Submission handler: POST to a server endpoint that emails the payload to
hello@paweldregan.com. Keep it small — a single API route, no queue, no DB. Use the same SMTP credentials the mail server uses (or relay through it directly since it's on our own infra). - Honeypot field + simple rate-limit (e.g. one submission per IP per 60s) to keep spam bots off.
- Success / error UI states inline on the form (no full-page reload).
- i18n: form labels + button text + success/error messages translated for
en/de/pl(matchingsite.config.tstranslations shape).
Verification
- Submit via the live form. Check
hello@paweldregan.cominbox. Plain-text or simple HTML body — sender, subject, message. - Submit with the honeypot filled — should be silently rejected.
- Submit twice within 60s — second one rejected (or queued + dropped).
Notes
- No third-party form service (Formspree etc.) — we own the mail server, so we own the form too.
- Consider exposing the same endpoint for future contact forms on other paw-related sites — generic enough that it can be reused.