Projects
WebIn production2026

Web de boda

A wedding website with RSVP and a back office for the couple

Web de boda

A React + Vite SPA with Supabase: wedding information, per-guest RSVP with allergies, a message and a bus leg, and a private back office where the couple manages guests, copy, colours and buses without touching code.

The problem

Organising a wedding ends up being a WhatsApp group and a spreadsheet: who's coming, who avoids gluten, who takes the bus and from where. The information gets duplicated, contradicts itself, and the latest version is always missing. And for a site like this there are two bad options: a paid template you can't really change, or something custom that only I can update every time they change a time or a colour.

The solution

A light Vite SPA with Supabase behind it, plus a back office on a private route so the couple can run it themselves: guests, replies, copy, colours and bus legs. The interesting part is how guest data is protected: the table isn't publicly readable, yet a guest can still reply without creating an account, because the only way into that table is through database functions, and the RLS policies grant public reads only to the config and the bus legs. The message notification comes from an Edge Function triggered by a database webhook rather than from the browser: that way the mail provider's key never reaches the client and the notification doesn't depend on the guest leaving the tab open.

Stack

ReactTypeScriptViteReact RouterSupabasePostgresRow Level SecurityEdge FunctionsBrevoVitestVercel
View all projects