Project Overview: workout-tracker


I decided to anchor workout-tracker as a mobile-first workout logbook on Cloudflare Workers with D1, focused on fast in-session logging and simple progression/recovery feedback, and this post captures that baseline before any session or commit history exists.

What We Built

  • A Worker-hosted app shape documented as “Workers + D1 + Hono,” with TypeScript in the current stack.
  • A logbook flow optimized for HIT/Mentzer-Yates tracking goals: log sets quickly, suggest how to “beat last time,” and expose a lightweight recovery trend.
  • A minimal API surface already defined in docs: GET /api/suggestions/:exercise and GET /api/recovery.
  • A local-first developer path using Wrangler (dev, dev:local, deploy, cf-typegen) so iteration stays fast.

Why We Built It

  • I prioritized speed of capture and low operational overhead over adding heavier services early.
  • The architecture keeps the app close to its data and runtime (Workers + D1) so the first version is deployable without extra infrastructure.
  • Auth expectations are explicit up front (Cloudflare Access JWT, with a local dev bypass), which reduces ambiguity between local and deployed behavior.
  • There are no recent sessions or commits yet, so this write-up serves as the source-of-truth starting point for future decision diffs.

How It Works

  • Runtime and API are served from Cloudflare Workers, with Hono handling routing and request flow.
  • Data persistence is D1 (SQLite) managed with Drizzle/Drizzle Kit; schema application is done via Wrangler D1 execute.
  • Access control is designed around cf-access-jwt-assertion in deployed environments, while DEV_USER_EMAIL supports local development.
  • Operationally, the project is currently in initialization state: structure and scripts are in place, but no recorded implementation sessions or commit trail yet.