Web Applications

My sister's wedding site

Built by Camille Anne Villaruz

One page with the details, a map, and an RSVP form that had to work for a hundred and forty people including our grandmother.

  • Builder email verified

    Verification

Project screenshot
Type
Personal
Category
Web Applications
Published
Jul 25, 2026
Updated
Jul 25, 2026
Built withAstroHTMLCSSNetlify
TopicsLifestyleCommunity

About this project

What I built & why

My sister asked whether I could 'just make a website' for her wedding, which is a sentence every developer in a family hears eventually. I said yes partly to avoid the template services, which all wanted a subscription and put their branding on it. It took about three weekends and was a genuinely useful exercise in building for an audience that includes people who have never filled in a web form. It is still up as a read-only archive with the photos.

The problem

The practical problem was RSVPs. A hundred and forty invitations, a mix of people who would reply instantly and people who would need a phone call, and a caterer needing final numbers on a fixed date. The site had to collect the reply, the meal choice and any plus-one, and — the part that mattered — it had to let my sister see who had not responded so she could chase them. Everything else on the page is information that could have been on paper.

What I owned

All of it: the page, the RSVP form, the admin view my sister used, and the deployment. I also did the content structure, which meant sitting with her and cutting about half of what she initially wanted on the page. The form validation is the part I spent the most time on, because the failure mode here is not a bad record, it is an eighty-year-old relative deciding the internet does not work and giving up.

Technical & product decisions

The form takes a name and matches it against the guest list rather than asking for a code, because codes get lost and a name is what people have. Fuzzy matching on the name was necessary and slightly risky, so a near-match asks for confirmation rather than guessing. I built the whole thing as one page with no navigation, since every extra click is somewhere to lose someone. I also chose to have the form work entirely without JavaScript as a fallback, which felt like overkill until two replies came in from a phone browser I have never heard of.

Hardest challenge

Name matching was the hard part and I underestimated it badly. The guest list had people recorded as 'Tita Baby' while they would type their legal name, married surnames that had changed, and three separate pairs of relatives sharing a first name and surname. I ended up storing multiple accepted forms per guest, adding a disambiguation step for exact duplicates, and — the thing that actually fixed it — having my sister and mother review the list and add the names people would actually use. That review took an evening and eliminated almost every failure.

Result & impact

A hundred and twenty-nine of a hundred and forty replied through the site, and the remaining eleven were phone calls my sister was always going to make. She had final numbers three days before the caterer's deadline, against the two-weeks-late she had been braced for. Nobody needed help using it, which I only know because nobody called me. It cost about nine hundred pesos for the domain and nothing else.

Who else worked on it

My sister wrote everything and made every visual decision, and my mother did the guest list review that saved the whole matching approach. My brother-in-law tested it on the oldest phone in the family, which found a real bug.