How it works:
- Sign up for an account, where you provide a project name (this is used for the forms public url)
- Grab the html snippet from the How To page, which is a link to your public form.
- Customise your forms header colour scheme and home link to resemble your own website or brand (this is super limited at the moment)
- Embed the html snippet on your own website.
You can then manage any messages received from your dashboard.
Give the form a go without any signup, either directly from the homepage https://first-contact.net/ Or from the contact form that is created when you sign up for an account (here's one I made earlier) https://first-contact.net/first-contact/contact-us
The idea came about when I created https://listofdisks.com. I wanted a simple way for people to contact me from the site. I thought about the usual social channels, but I don't really do socials and didn't want to create new accounts. I also didn't want to force others to need accounts just to send me lovely and thoughtful messages. I could have created a one off contact form for the site, but that seemed like too much work for the handful of people who would visit the site, and probably don't want to send any messages about hard drives, or life in general. This idea seemed like a fun way of learning some new technologies, and might be useful to other people in the same situation as me. A Google form was probably the closest to meeting my needs from a functional point of view, but they offered no branding customisations.
I would be remiss of me not to mention the fine folks at https://goodenough.us/, especially Cade who was generous enough to reply back to my random message :-) They built https://letterbird.co/ which I only discovered a couple of weeks ago, but it was exactly the kind of thing I was looking for before building First Contact. So yeah, I should have looked harder. I didn't go the email route though, so there's that differentiator. :-)
For those interested in the tech. It's NextJs deploying to Cloudflare, pages and workers, using Wrangler. Persistence is done with Cloudflare D1 SQLite. Authentication is handled by Supabase. Frontend is Shadcn and Tailwind. I'm not particularly attached to any of these things, but will say having backend and frontend and apis all in one spot with NextJs is nice, once you overcome its...idiosyncrasies. I'd probably try a different auth provider next time though, but Supabase is easy to get up and running and is nicely documented.
Hopefully other one man bands and startups find this useful.