React · Vite · Supabase ·
2026
Wedding RSVP concept to production in 4 days
How Claude helped me launch a working wedding RSVP website

Overview
I was watching a creator on YouTube create her own wedding app and was instantly inspired to create my own since I was already planning for a mini celebration with my friends. The goal was to see how much I could turn a concept into a working landing page with Claude + Figma MCP without writing a single line of code.
Approach & explorations
I still wanted to create designs in Figma and provide direction before handing off to Claude. Firstly I started a creative assets checklist to run through what I needed to prepare. About 1-2 days went into research and Figma exploration: gathering visual references, settling on a color and type direction, and mocking up key screens in Figma.

Timeline & Milestones
I already had Figma MCP connected to claude, so the build quickly followed. I uploaded all the creative assets to Claude code, and attached the main screens that I have designed on Figma.
Date | Milestones |
|---|---|
Mon Jul 7,3:22 PM | Initial commit: full app scaffolded — all 6 core screens, styled to match Figma, running entirely on localStorage. |
4:34–6:01 PM | Wired RSVP + gallery to a live Supabase backend; moved schema management to versioned CLI migrations. |
Tue Jul 8,9 AM | Redesigned the RSVP flow: guest recognition, edit-in-place, shareable per-guest links, refreshed visuals from updated Figma frames |
2:05 PM | Polished the photo gallery: lightbox navigation, grid fixes, refreshed icon set. |
4:40–5:07 PM | Added the Playlist page and linked it from the main menu. |
Wed Jul 9 | Final content and polish pass: day-of details, dress code, Spotify share tracking, favicon and social preview image, loading states. |
Where Claude helped
At this stage, I didn't need my designs to be fully fleshed out. Claude was able to take a few of the main screens that I have already designed, and set up all the flows and states including error states. I found this to be super efficient, since it completely removed the traditional process of handing off a fully specced Figma file to engineering. It skipped the messy thinking, and iteration process I would usually require when designing a feature/flow.
Where it still needed me
Micro alignment, some interaction states, animation and styling still needed needed human review. Claude got 80% of the styling, hierarchy, spacing, error messages right. However there were issues like gallery photo display, button animation, button navigation that needed guidance to course-correct.

Being familiar with CSS was very useful. Sometimes there were alignment issues that Claude was failing to fix prompt after prompt, it was not until I went to inspect the code to fix the margins manually. Claude still struggles to nail the finer details even if the screen is designed on Figma.
Highlights

Guest recognition without accounts
Without creating an account, I wanted guests to be able to edit their RSVP if they had a sudden change of plans. It was very easy to first brainstorm with Claude to come up with a plan before executing.
An unguessable UUID is stored in the browser and paired with a cached copy of their response, so a returning guest sees their “RSVP’d” state instantly — even if the network read-back is slow or briefly fails — and can still be found across devices via a case-insensitive name lookup.

Photo gallery
Requesting and uploading images from guests can be a lot of work, so I created a gallery that is an all in one easy-to-browse spot. Guests can scroll through images that I've uploaded before the celebration and also able to upload photos they have taken during the event.
Images are uploaded to a Supabase Storage bucket, which handles the actual binary files and returns a public or signed URL for each upload.
Learnings
22 commits later and 4 days later, the site was up and running. Through this, I learned how to provide better context about design, user experience and even how to store data via Supabase. It was fun to be able to demonstrate architectural ownership without having much experience but some systems knowledge was definitely helpful.
Working this way, "vibe coding", was noticeably different from working on a team. Designs never really felt final. Because a Figma screen could be reworked in minutes and re-checked against the running app just as fast. It felt like Figma wasn't the source of truth, the code is. My Figma file felt disorganized and not well documented because of how fast this was aimed to be published. It felt like the craft gets harder to maintain when anyone can turn an idea into working software in seconds.
Through this project, it has made me value the "messy middle" process we have always been in. Because during this process is the experience of learning and exploring the "why" in what we're building. In my opinion, those are the elements that make work fun and valuable.