Skip to content
cd products/ourvows
cd ../products

PRODUCT // SHIPPED

OurVows

Event pages from templates, guest RSVP, and a simple host dashboard.

PROJECT_SNAPSHOT--format=summary

What it does

Hosts build pages from composable templates. Guests RSVP in a flow that still makes sense on a phone. Owners get responses and analytics in the dashboard; heavier breakdowns show up when the plan allows it.

What stays private

This is a portfolio snapshot. I stay at the level of API, web, and data boundaries. No host names, no schema dumps, no roadmap slides. Try the live site if you want the real feel.

SYSTEM_ARCHITECTURE--view=flow

// data_flow Rough flow left to right. Not every box in prod, just the spine.

Layer_01

Browser

Public event URLs, RSVP UI

Layer_02

Nuxt 3

Templates registry, creator UI

Layer_03

NestJS

Events, RSVP, entitlements

Layer_04

PostgreSQL

PRODUCT_PRINCIPLES--count=4
  • [01]

    Templates without spaghetti

    Public pages resolve through a registry so new visual directions do not fork core RSVP logic.

  • [02]

    Motion with an off switch

    Rich templates still respect reduced motion: same content, less animation when the user asks for that.

  • [03]

    One source for gates

    Plan-aware features are enforced consistently so the dashboard never promises what the API will not deliver.

  • [04]

    API-first contracts

    Validation and predictable error bodies on the server keep clients thin and failures understandable.

next_steps

See the live product or the long write-up

The case study goes deeper on context and trade-offs. I still keep the stuff that belongs in private docs out of it.