MK/CASTRO
Back to the work

Designer & Developer · Client production site · Solo

One Twenty-Three

Editorial marketing site and discovery-call booking system for a Baguio wedding and events planner

  • Next.js
  • React
  • TypeScript
  • PostgreSQL
  • Tailwind CSS
  • Clerk
  • Resend
  • Vercel
  • Docker
One Twenty-Three screenshot
/01

The build

Designed and built one-23-events.com for One Twenty-Three Weddings & Events: an editorial landing page, a filterable portfolio of 170+ event photos, an about page, a press wall, and a free discovery-call booking flow. Availability is computed from recurring weekly rules minus blackouts minus bookings, never pre-generated, with a 12-hour lead time and a 30-day horizon; a partial unique index in PostgreSQL makes double-booking impossible. Clients sign in with Google through Clerk so every confirmation reaches a verified inbox, then receive Resend emails with .ics attachments in Manila time, and the planner pastes the meeting link from a private admin queue to confirm each call. Built with Next.js 16, React 19, TypeScript, and Tailwind CSS v4 on Neon PostgreSQL and Vercel.

/02

Screens

Straight from the product surface.

One Twenty-Three screenshot 1
One Twenty-Three screenshot 2
One Twenty-Three screenshot 3
/03

The stack

What each tool actually did on this project.

Next.js

Built the marketing site, booking flow, and admin queue on Next.js 16 App Router with server actions

React

Built the editorial landing page, filterable portfolio, and booking modal with React 19

TypeScript

Typed the availability, booking, and email layers end-to-end

PostgreSQL

Hand-written SQL schema on Neon with a partial unique index that makes double-booking impossible

Tailwind CSS

Built the client’s editorial brand system with Tailwind CSS v4 and contrast-checked color tokens

Clerk

Google SSO so booking names and emails arrive verified, with an email-gated admin area

Resend

Booking confirmation, planner notification, and meeting-link emails with .ics attachments

Vercel

Deployed to Vercel on the client’s custom domain

Docker

Docker Compose stand-ins for Neon and Resend (Postgres and Mailpit) for safe local development

/04

My part

What I owned, per position that touched this project.

One Twenty-Three Weddings & Events

Freelance Full Stack Developer

Designed and built the marketing site and booking system end-to-end as the sole developer

  • Built a discovery-call booking flow with slots computed from weekly availability rules, blackouts, and existing bookings, stored in UTC and rendered in Asia/Manila
  • Prevented slot collisions with a partial unique index in PostgreSQL instead of an application-level check
  • Implemented Clerk Google SSO so client names and emails arrive verified, plus an admin queue gated to the planner
  • Wired Resend confirmation, notification, and meeting-link emails with .ics calendar attachments, using Mailpit locally so no test message can reach a real inbox
  • Designed the editorial brand system from the client’s palette and type references, with contrast-checked color tokens and a filterable 170+ photo portfolio

Next: the rest of the index

All the work