Single-Event App Builder
Branded one-off event apps for weddings, corporate retreats, and family reunions. Per-event pricing. Apps expire with the event and archive as keepsake pages.
Coordinating a large wedding means a guest list in one app, a schedule in another, RSVPs in email, and updates in a group chat half the guests have muted. Corporate retreats and family reunions run the same patchwork. The organizer becomes the integration layer, copying data between tools never designed to work together. Incumbent coordination platforms exist — Whova, Cvent, EventMobi — but they sell monthly subscriptions for events that last a weekend. The shape of the pricing doesn’t match the shape of the use case.
Built for Non-Technical, Solo Founders.
~2.2M US weddings per year (The Knot); average spend on weddings tech and coordination exceeds $1,000 per event.
Cvent public last quarter reported $193M revenue; Whova and EventMobi each passed 10K+ event customers — paid demand is real.
Suggested stack: Next.js 14 multi-tenant, Supabase, Cloudflare R2 + Images, Claude (optional polish), Resend, Stripe + Vercel Cron. Weekend scope: about 12 hours.
The Problem
Coordinating a large wedding means a guest list in one app, a schedule in another, RSVPs in email, and updates in a group chat half the guests have muted. Corporate retreats and…
The Solution
Organizers fill out a short intake form, pick a template (wedding, corporate retreat, reunion), upload branding, and within hours receive a shareable link. Guests open the link to…
Market Research
Reddit r/weddingplanning (1.6M+ members) runs constant threads about fragmented tool stacks — demand is loud and observable.
Competitive Landscape
Cvent / Bizzabo — Enterprise event platforms. Rich feature set built for recurring corporate conferences. $5K+ annual contracts; onboarding assumes a dedicated event-ops team.…
Business Model
Reunion ($75 once) — Family reunion template, up to 100 guests, 90-day active window, keepsake archive
Recommended Tech Stack
Next.js 14 multi-tenant — Wildcard subdomain routing via middleware; each event app reads its config from Supabase and renders the right template. Static generation at publish…
AI Prompts to Build This
Copy these build prompts into Claude, Cursor, or your AI coding tool. Create a free account to unlock the full research behind them.
1. Project Setup
Build the weekend MVP of the "Single-Event App Builder": an organizer fills a short form and gets a mobile event page for a wedding with a schedule, RSVP and guest photos, and after the event it freezes into a keepsake page. One template, one link per event. Stack: Next.js (App Router, TypeScript), Tailwind, Supabase (Postgres, Row Level Security, Storage, Auth with email magic link for organizers), Resend for RSVP confirmations and the keepsake email. Event pages live at a path, with no wildcard domains. A Vercel Cron route runs the nightly expiry. Deploy on Vercel. Tables (Row Level Security on, an organizer reads only their own events; the public event page and guest forms go through server routes): - events(id, user_id, template, slug, name, event_date, timezone, brand jsonb, schedule jsonb, cover_path, status, expires_at) status is live or keepsake - rsvps(id, event_id, guest_name, email, attending, plus_one boolean, dietary, song, created_at) - photos(id, event_id, storage_key, uploader_name, status, created_at) status is pending, approved or removed - keepsakes(id, event_id, snapshot jsonb, published_at) Screens: /login, /events/new (the intake), /events/[id] (RSVPs, photo approvals and editing), /e/[slug] (the guest page), /k/[slug] (the keepsake). Env vars (names only): NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY (server only), RESEND_API_KEY, CRON_SECRET. Do not build: billing, per-event or monthly pricing, wildcard subdomains, corporate and reunion templates, automatic photo moderation, a registry integration. Done when: npm run dev starts, you can sign in, and the four tables exist with Row Level Security on.
2. Core Feature
Build the one feature that proves the builder: a guest-ready wedding page in minutes, and a keepsake that lasts. 1. The intake takes the event name, date and timezone, a cover photo, two brand colors, schedule items and optional travel and stay notes and registry links (https only). Create a slug that cannot be guessed and email the organizer the guest link. 2. The wedding page is mobile first: a hero with a countdown, the schedule, an RSVP form (attending, plus-one, dietary needs, a song request), a guest photo wall, travel and stay notes and registry links. Set it to noindex. 3. Guests upload photos without an account, up to 10 MB each, jpg or png. Remove all location data from every image on upload. New photos are pending until the organizer approves them in a queue. Only approved photos show. 4. An RSVP sends the guest a confirmation through Resend. The organizer sees RSVPs and downloads them as a CSV. 5. A nightly cron route (protected by CRON_SECRET) finds events 30 days past their date. For each, save a static snapshot of the schedule and the approved photos, set the event to keepsake, switch /e/[slug] to read-only and email the organizer the permanent keepsake link. 6. The keepsake page shows no forms and no guest emails or RSVPs. Rules: guest contact details are never public and never in the keepsake. The organizer can delete the event and everything on it. Say that on the intake form. Empty state: a new event shows the guest link and a checklist (add the schedule, upload a cover, share the link). Done when: a sample event takes RSVPs and sends confirmations, an uploaded photo has no location data and stays hidden until approved, the nightly route turns an old event into a keepsake with no guest emails and the organizer's delete removes the photos.
3. Landing Page
Build a one-page landing site for the Single-Event App Builder, a branded page for one event. Hero: "One link for your whole wedding." Sub: "A mobile page with the schedule, RSVP and a photo wall, ready in minutes. After the day, it becomes a keepsake you keep." One button: Join the waitlist. Sections: a sample wedding page on a phone, how it works in three steps (fill in the details, share the link, keep the keepsake), and an FAQ on guest privacy (no accounts, photos are approved by you and stripped of location data), what happens after the event and which event types come next. Waitlist: store the email in a waitlist table in Supabase. No other service. Style: Geist, a warm off-white background, one soft sage accent, generous whitespace. Done when: the page renders on a phone and a submitted email appears in the waitlist table.
4. Branding Package
Use a design or image tool for this one. A coding agent cannot draw a logo. Brand for the Single-Event App Builder: pick a short working name, then design a wordmark and an icon that suggest a calendar page folded into a small keepsake card. Colors: warm off-white, ink and one soft sage. Type: Geist, with a serif for names on the sample pages. Deliverables: wordmark, icon, two event states (live, keepsake) that differ by shape as well as color, a wedding page hero layout, and one launch graphic. Done when: each deliverable is saved in one folder and the two event states are distinguishable without color.