Fam Mail turns your photos and a few words into printed postcards, delivered by PostGrid across the US, Canada, and the UK. Texts get forgotten; a postcard on the fridge does not.

The wizard walks you from a blank card to a printed one. Every step shows a live preview that flips in 3D and respects each country's safe zones, so nothing important lands under a stamp.
It becomes the front of the card, cropped to your country's safe zone.
Bold, italic, headings, and lists print on the physical card, not just on your screen.
US, Canadian, and UK addresses are formatted for you.
A 3D render shows the exact front and back before anything is printed.
PostGrid prints the card and puts it in the mail.
Fam Mail ships a static-key API built for automation. My own home assistant mails a birthday card from a single sentence, which is how I know the pipeline holds. An email-to-postcard mode watches an inbox, parses requests with an LLM, and queues the card for review. Grandparents get postcards; nobody has to learn new software.
Versioned /api/v1 endpoints with per-key auth, so scripts and agents post on your behalf.
Forward an email to the watched mailbox; an LLM parses it and the card enters the pipeline.
Mock, test, and live PostGrid modes, so your first run mails nothing by accident.
One Docker image serves the API and the frontend on a single port. SQLite keeps users, drafts, and the mail pipeline in one file you can back up with cp. OIDC sign-in works with Pocket ID, Google, or any provider you already run, and CORS, rate limits, security headers, and XSS-sanitized input are on by default.
The full stack lives on GitHub: Bun and TypeScript on the backend, React 18 with Tailwind and Framer Motion on the frontend, pnpm workspaces holding it together.
NickLewanowicz/fam-mail →