O Meu Dia
Digital invitations platform for weddings and christenings with integrated RSVP, logistics and photo album.
- Client
- Personal project
- Year
- 2026
- Role
- Co-founder & developer
- Stack
- Next.js 16, React 19, Supabase, Tailwind CSS 4, Cloudflare

The problem
I got married in 2023, and while planning the wedding, my wife decided to design all the stationery herself — invitations, table markers, menus, rice cones, and more.
After handing out the invitations, and while we were still involved in planning the wedding, we started getting good feedback on all the stationery, and thought about pairing a digital solution with the invitations my wife made by hand.
The solution
Build a platform that integrates the physical invitation with a digital experience: the invitation has a QR code that lets guests access an area reserved exclusively for the event, without creating an account, where they can confirm attendance, share photos, and more. Hosts/organizers have a management dashboard that helps them plan their event, a centralized logistics area, send announcements to guests, and access their photo album and guestbook to preserve the memory of the event. Everything designed to reduce the workload for whoever is organizing a wedding or christening and to create a personalized experience for each guest.
Stack and decisions
For this project I chose to build the whole app in Next.js, with the backend using Supabase (serverless PostgreSQL, authentication, real-time), frontend in Next.js + React with Tailwind for development speed, hosted on Cloudflare. I chose Supabase over the Firebase I use on Mar-Alto because a wedding’s data model — guests, organizers, invitations, tables, announcements — is relational by nature, and the free tier is more generous. I built the foundation already prepared to support multiple events/whitelabeling in the future, even though that’s not the immediate focus — it avoids having to rewrite everything if the product grows in that direction.
Challenges
The biggest challenge here isn’t technical, it’s behavioral: making sure guests save their invitation link so they can use it on the day of the event, or beforehand, to know the details. To help with that, the platform actively suggests they save the contact (email or SMS) and install the event’s PWA on their phone, as an always-at-hand shortcut.