Back to list

Jan 2026 – Feb 2026 · Engineering

Wedding Studio Website & Admin CMS

A website and back-office for a wedding videography studio, built multi-tenant from the start and delivered in an eight-day sprint.

StationOn · CEORuby on RailsVue 3TypeScriptPostgreSQLViteNaive UIPiniaJWTSupabase

Background

A wedding videography studio needs a site that shows its work and takes consultation bookings — but building one
per studio means starting from zero every time. I built the site one studio needed, designed so that
another studio can use it by pointing a domain at it.

Role

Product, backend, frontend, and deployment — solo.

What it does

The public site

  • Pre-wedding and ceremony film portfolios, package information, reviews, and a consultation booking form
  • An about page the studio composes itself
  • Four selectable visual themes, Korean and English, and dark mode

The studio's back office (13 screens)

  • Portfolio, package, and post management, booking pipeline, and user administration
  • Review request links — the admin issues a one-time token, and only the couple holding that link can submit a
    review, so the page fills up with real customers rather than anyone who wanders by
  • Images are resized in the browser before upload, with the favicon generated automatically
  • A per-version changelog with read state tracked separately for each user
  • The admin manual is built into the app itself

How it was built

  • Ruby on Rails 7.1 API + Vue 3 + TypeScript on PostgreSQL
  • Multi-tenant: the request's domain or subdomain decides which studio it belongs to
  • JWT authentication with role-based admin access
  • Video is embedded rather than self-hosted, which keeps running costs down
  • GitHub Actions runs the checks and the deploy; releases are tracked with version tags

Scale

  • ~23,000 lines of code, 13 tables, 20 migrations
  • 22 screens (8 public, 13 admin, plus login)
  • v1.0.0 → v1.4.8 in about eight days from 2026-01-19, built solo