Switchpoint Internal — Zack's Build Sprint

D1 Migration
& KPI Launch

Hard Deadline
MAR 19
calculating...
Overall Progress
0 / 0 done

The Stack — Lock This In

Database
Cloudflare D1
switchpoint_db
API Layer
1 Cloudflare Worker
switchpoint-api
Auth
Zero Trust
@switchpoint.org
Identity
Cf-Access-Authenticated
-User-Email header
Frontend
HTML files on
Cloudflare Pages
Multi-tenancy
org_id column
default: switchpoint

Department Dashboard Status

🏠
Housing
In Progress
🐾
Bed N Biscuits
Queued
🌿
Garden
Queued
👗
Thrift / Boutique / Exchange
Queued
Coffee
Queued
👶
Stepping Stones
Queued
DAY 1 — MON MAR 16
The Foundation
Backend only — no UI yet
Architecture decision locked
D1 + single Worker + Zero Trust identity. org_id on all tables. JSON answers column for flexibility. Done — you're reading the output.
Backend ~0 min — already done
Create D1 database in Cloudflare dashboard
Workers & Pages → D1 → Create database → name it switchpoint_db. Three clicks.
Deploy 5 min
Run D1 schema — Claude writes, you paste and run
Tables: kpi_submissions, garden_log, marketing_tasks, org_chart, activity_log, facilities, departments. JSON answers column. org_id everywhere.
Backend Data 15 min with Claude
Deploy switchpoint-api Worker
One Worker handles all tools. Endpoints: POST /submit, GET /submissions, GET /summary, POST /log. Reads Zero Trust header for identity. Bind D1 database.
Backend Deploy 30 min with Claude
Test Worker endpoints with dummy data
POST a test KPI submission, GET it back, verify activity_log entry, confirm email comes from header not body.
Backend 15 min
Blocker to resolve today: Do you have your Cloudflare account subdomain handy? You'll need it to wire the Worker URL into the HTML files tomorrow.
DAY 2 — TUE MAR 17
The Form + Housing Dashboard
First real data hits D1
Build KPI submission form — all departments
Single HTML file. Department selector at top drives conditional sections. Housing, Bed N Biscuits, Garden, Thrift/Boutique/Exchange, Coffee, Stepping Stones. POSTs JSON to Worker. Replaces Microsoft Forms entirely.
Frontend 45–60 min with Claude
Finalize KPI questions per department
You have Housing questions solid. Confirm Bed N Biscuits, Garden, Thrift, Coffee, Stepping Stones question lists before building the form. Claude has Excel files as reference.
Data 20 min — you + Claude
Deploy KPI form to Cloudflare Pages
kpi.switchpoint.pages.dev or similar. Put behind Zero Trust — @switchpoint.org only. Test a real submission end to end.
Deploy 15 min
Build Housing dashboard — reads D1 live
Same navy/orange look Carol already knows. Strip out Excel upload. Replace with live D1 fetch via Worker. Traffic lights, week filter, location breakdown. No more manual uploads.
Frontend Data 45 min with Claude
DAY 3 — WED MAR 18
All Department Dashboards
Revenue generators get their views
Bed N Biscuits dashboard
Occupancy, boarding revenue, grooming revenue, open slots. Reads from D1 kpi_submissions filtered by dept=bednbiscuits.
Frontend 20 min with Claude
Garden dashboard
Migrate garden KPIs from KV to D1 reads. Harvest weight, subscription revenue, yield by crop. Same data, better home.
Frontend Data 20 min with Claude
Thrift / Boutique / Exchange — one shared dashboard
Three locations, one view with a location toggle. Daily sales, transactions, donation intake, top categories. Same dashboard template, different filter.
Frontend 25 min with Claude
Coffee dashboard
Daily revenue, transactions, top items, catering bookings, training completions. Small footprint, clean view.
Frontend 20 min with Claude
Stepping Stones dashboard
Enrollment vs capacity, DWS subsidized vs self-pay, staff ratios, licensing compliance flags.
Frontend 20 min with Claude
Carol's CEO Hub — all departments in one view
The command center. One page, all departments, traffic lights only. Click a department to drill in. This is her Monday morning screen.
Frontend Design 30 min with Claude
DAY 4 — THU MAR 19
Hub + Hardening
Everything tied together — deadline day
Internal tools hub page
One landing page. Cards for every tool: KPI Form, Housing, Garden, Thrift, Coffee, Stepping Stones, Bed N Biscuits, Marketing Tracker, Org Chart, CEO Hub. Staff always know where to go.
Frontend Design 20 min with Claude
Zero Trust — lock all tools to @switchpoint.org
Every Cloudflare Pages deployment gets an Access policy. One policy, all apps. 20 minutes in the dashboard.
Deploy 20 min
Send Carol the link + 2-minute walkthrough
Hub URL, her login, what she'll see Monday morning. Nothing technical. Just "here's your dashboard, here's where to look."
Quick Win 10 min
Buffer — anything that slipped or needs polish
Reality: something always takes longer than expected. This is your cushion. Use it guilt-free.
Buffer Whatever's left