Skip to content

Work · The desk

What’s on the monitor.

Pick a project: it lights up the screen and spins on the desk. The full story is right below.

Online coaching platform · Jun 2026 — now

EDV

The problem — Online fitness coaches ran their business across WhatsApp, spreadsheets and PDF plans — plans got lost in chats, training went untracked, and access was checked by hand every month.
lines of code
~54k
tables
47
Drizzle migrations
24
commits
200

What I built

  1. Two apps — coach back-office and client PWA — sharing one PostgreSQL schema in a single TypeScript monorepo.
  2. Guided workout player: per-set logging, exercise swap with coach cues, HLS video from Bunny Stream via a proxied endpoint.
  3. HMAC-verified WooCommerce webhooks plus a nightly reconciliation cron grant and revoke access automatically.
  4. 3 scheduled jobs for web push and email — reminders, check-in prompts, expiry warnings — on an installable PWA.
  5. Supabase Auth and Storage, both apps Dockerized, CI/CD auto-deploy to a self-hosted VPS: one flat monthly cost.

Stack

  • TypeScript
  • Next.js
  • React
  • Tailwind
  • PostgreSQL
  • Drizzle
  • Supabase
  • Web Push
  • Bunny Stream
  • Docker
  • CI/CD
EDV — Online coaching platform — Marco Novissimo