Work

A few recent websites, tools, and product builds. Some are client-facing, some are self-initiated, and all are representative of how I like to work: clear, practical, and carefully finished.

Not every engagement is public. Advisory work and internal systems often stay private.

  • 2026 Design, build, and launch
    Hearth

    Hearth

    C.C. Shepherd Funeral Home

    A private tool for funeral directors that captures the arrangement meeting in plain language and helps turn the notes into the documents the family will see.

    • iPhone PWA
    • Fly.io
    • Designed and built end-to-end for a Massachusetts funeral home, in active production since May 2026
    • iPhone-first progressive web app, no app store install, deployable in a day
    • Voice and typing both first-class so the director can stay with the family during the meeting
    • Single-tenant per funeral home: private deployment, private data, no crossover between homes
    Read case study
  • 2026 Design, build, and go-to-market
    Summer of Soccer

    Summer of Soccer

    Self-initiated, for South Shore bars

    A multi-tenant score-prediction game for the 2026 World Cup, built so an independent bar can run its own prize pool on the big screen — patrons prove they are in the room, predict the scores, and climb a named leaderboard on the TV, while the owner keeps the opt-in customer list it builds.

    • FastAPI
    • SQLite
    • Fly.io
    • Multi-tenant by design — every venue gets its own themed leaderboard, prize, and customer list from one codebase and a one-line config
    • A physical-presence check-in, opt-in capture with timestamped consent, and a sweepstakes-compliant prize wrapper, so the fun stays on the right side of the rules
    • The same venue config drives both the live game and the printed pitch mockup, so onboarding a new bar is mostly already done
    • A public South Shore leaderboard ties every participating bar together, turning one venue's game into a regional rivalry that runs across town lines
    Read case study
  • 2026 Design and build
    PrayerTrain

    PrayerTrain

    Non-profit

    Built for a family-run ministry. A faith-centered prayer coordination platform — like meal trains, but for organized prayer support during times of need, helping Catholic families rally around a loved one in crisis.

    • Next.js
    • Tailwind CSS
    • Cloudflare
    • Curated library of Catholic prayers — novenas, rosaries, chaplets — with smart recommendations by situation
    • Three-step prayer train creation with a visual calendar of committed slots
    • Email reminders and a community guestbook to keep the train together
    Read case study
  • 2026 Design and build
    PocketRef

    PocketRef

    Personal build, Baystate APA league

    A native iOS app for league players and captains mid-match — answers Baystate APA pool rules questions in plain English, with structured rulings grounded in both the national APA manual and Baystate's local bylaws.

    • Swift 6
    • SwiftUI
    • OpenAI API
    • Ask any rules question in plain English — get a structured ruling, a "could change it" note for local bylaws or house rules, and the manual section the answer came from
    • 17 browsable rule categories, with Baystate APA Local Bylaws called out separately from the national rulebook
    • Photograph a table mid-game and get AI-powered analysis — the likely game state, detected ball positions, and an honest list of what a photo alone can't tell you
    Read case study
  • 2026 Design, build, and content
    Lantern Harbor

    Lantern Harbor

    Lantern Harbor LLC (this site)

    The site you're reading — a small but deliberate example of the craft I bring to small-business work.

    • Astro
    • Hand-written CSS
    • Cloudflare Pages
    • Typography and color palette derived from the Lantern Harbor logo — Lora headings, Inter body, harbor navy and warm gold throughout
    • Content-collection driven — every page is editable in plain markdown with zod-validated frontmatter
    • Fast, accessible, and responsive by default — fluid type and spacing scales, hand-tuned card-grid layouts
    Read case study