Work

Everything I've built.

Live client sites and demo builds, together and labelled. Each one has a case study covering what the owner actually needed and the parts that were hard.

The Rustic Cowboy Construction homepage Live

Client site · 2026

Rustic Cowboy Construction

Residential contractor in Dallas–Fort Worth. Roofing, fences, retaining walls, patios, remodels. Estimate requests store to a database and email the owner immediately.

  • Astro 6
  • Tailwind 4
  • Cloudflare Workers
  • Supabase
  • Resend
The Lunazul Villa and Cottage homepage Live

Client site · 2026

Lunazul Villa & Cottage

Two vacation rentals above Coral Bay, St. John, on one site. Live Airbnb availability, seasonal pricing, guest booking requests, and a dashboard the owners run themselves.

  • Cloudflare Worker
  • Airbnb iCal sync
  • Supabase
  • Owner dashboard

Demo builds

Three demos in verticals my client work doesn't cover yet. Each one is a fictional business, said so on the page itself, and runs on its own subdomain.

The Emberline homepage, showing a live fire behind the headline Forty-two seats, one is yours Demo

Demo build · 2026

Emberline

A wood-fired restaurant that doesn't exist. Menu with a photo on every row, table booking against real availability, and a to-go basket that prices itself on the server so a tampered order still costs what the kitchen charges.

  • Cloudflare Worker
  • View transitions
  • Server-side pricing
  • No build step
The Northline Dental homepage, headlined Know the price before we start Demo

Demo build · 2026

Northline Dental

A dental practice that doesn't exist. Five clinicians with different weeks and different treatment lists, so the length of the visit decides which openings you're shown. Every bill opens up to show what the plan paid and why the rest is yours.

  • Cloudflare Worker
  • Per-provider scheduling
  • Insurance maths
  • Signed sessions
The Chalkline Climbing homepage, headlined Walk in today, climb today Demo

Demo build · 2026

Chalkline Climbing

A climbing gym that doesn't exist. Classes have a hard cap, so a full one hands you a numbered place in the queue rather than a booking, and giving up a spot on a class with a waiting list doesn't put that spot back on sale. Membership credits expire, guest passes bank up to a cap, and the ledger shows every one.

  • Cloudflare Worker
  • Capacity and waitlists
  • Credit ledger
  • 1,149 assertions

Want something like one of these?

Tell me about your business and I'll tell you what I'd build and whether it's worth doing.

Start a project