2026 · Personal · active
ourevents.fyi
Event planner for Filipino celebrations — guests and RSVP, budget, suppliers, seating, and run-of-show for weddings, debuts, birthdays, and more.
Role: Solo

The Problem
Event planning in the Philippines runs on group chats and spreadsheets. A wedding, a debut, or a christening all need the same things — a guest list, RSVPs, a budget, suppliers, a seating plan, a timeline for the day — but the apps that exist assume a Western wedding and nothing else.
ourevents.fyi started as a wedding-only tracker and grew into a general event planner. Fourteen event types, from debut and despedida to conference and fundraiser, each with its own starter checklist, budget categories, and vocabulary. A debut gets a "celebrant", not a "couple".
Stack Decision
Next.js 15 App Router with React 19 and TypeScript, Tailwind v4, and Supabase for Postgres, auth, and storage. Server actions handle every mutation, so there's no separate API layer to maintain as a solo developer.
Guests RSVP without an account, using the code printed on their invitation. That made the anonymous surface the most important design decision: guests never touch tables directly. They go through a small set of whitelisted database functions that return only the fields an invite page needs, and never the guest list.
URLs That Can't Change
Invitations get printed, so URLs have to outlive every redesign. I chose path-based URLs over per-event subdomains: no wildcard SSL, testable on localhost, and the same pattern the big wedding platforms use. Slugs freeze once an event is published, and every public link goes through one helper, so the scheme lives in exactly one place.
What I Learned
Row-level security fails quietly. An access check couldn't see rows inside the same transaction that created them, so event creation silently failed in production until real users hit it. Every RLS policy now gets tested against production data, not just the happy path in development.
Coming from frontend work, Postgres became the part I enjoyed most: policies, security-definer functions, and migrations as the real source of truth.
What's Next
A friends-and-family beta with real events on real dates. Public event pages with cover images and owner-controlled visibility. Then per-event pricing, where publishing a page, not signing up, is the paid step.