React · Express · Sequelize · PostgreSQL · Firebase · Resend
Deepam Together — an RSVP site for a real wedding
An event RSVP platform built for an actual 2024 wedding, later migrated off Vercel and modernized rather than left to rot.
View project ↗Context
Deepam Together was built for a wedding in 2024 — real guests, a real date, no room for the RSVP flow to quietly drop someone's response. A Create React App frontend, an Express API, Sequelize over PostgreSQL for guest and RSVP data, and Firebase on the side.
Problem
An RSVP is only useful if it's durable. The failure mode that matters isn't a slow page, it's a guest submitting an RSVP that never makes it anywhere — whether because the database write failed silently or because a follow-up confirmation email threw an exception and took the whole request down with it. The two concerns needed to be ordered correctly: the RSVP has to be committed before anything else is allowed to fail.
What I built
An RSVP pipeline where the database write commits first and the confirmation email is sent after, so an email failure never costs a guest their RSVP. The event has since passed, but I didn't let the project stop there: I migrated it off Vercel's serverless functions onto the same self-hosted platform running my other projects, swapped the email stack from nodemailer to Resend, and refreshed the dependency tree end to end.
Outcome
The site is still live at its original domain, running on updated infrastructure and a modern email stack rather than the setup it launched with — a small example of maintaining a real product after its original deadline instead of abandoning it once the event was over.