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