Realtime collaborative whiteboard MVP built for the Gauntlet Cohort challenge.
Live deployment: https://mvp-1-collab-board.web.app/b/mvp-demo-board
- Multi-user collaborative board with cursor/object sync.
- Frontend app built with React + Vite + TypeScript.
- Firebase backend for Hosting, Auth, Firestore, Realtime Database, and Cloud Functions.
- E2E testing flow with Playwright.
mvp-1-collab-board/
├── app/ # React client (Vite, TypeScript, Konva)
├── functions/ # Firebase Cloud Functions API
├── scripts/ # QA and deployment helper scripts
├── docs/ # All project documentation
├── tests/ # Test evidence and outputs
├── submission/ # Deliverable artifacts (PDFs, videos)
├── Sessions/ # Transcript archives
└── thoughts/ # Research notes and spikes
Root files:
README.md— this fileAGENTS.md— Agent protocol and workflow instructionsTASKS.md— Active sprint and backlog trackingARCHIVE.md— Historical task ledger and prior evidence snapshots
cd app && npm install
cd ../functions && npm installcp .firebaserc.example .firebaserc
# set dev/prod project ids in the aliases map
# default and dev should point to your dev project
# prod should point to your production projectcd app
npm run devcd app && npm run build
cd ..
bash scripts/deploy-dev.shProduction deploy runs via GitHub Actions on main.
Manual production deploy is explicit:
git switch main
ALLOW_PROD_DEPLOY=1 bash scripts/deploy-prod.sh- Local UI:
cd app && npm run dev(default local URLhttp://127.0.0.1:5173) - Local backend target: set
VITE_AI_API_BASE_URL_DEVinapp/.env.local - Production UI:
https://mvp-1-collab-board.web.app - Production backend target: set
VITE_AI_API_BASE_URL_PRODfor production builds
- Fast dev gate (default while coding, no tests):
bash scripts/run-dev-gate.sh - Full pre-prod gate (parallelized checks + sharded Playwright):
bash scripts/run-full-gate.sh - Optional critical backend checks in full gate:
RUN_CRITICAL_CHECKS=1 bash scripts/run-full-gate.sh - Critical backend checks:
bash scripts/run-critical-checks.sh - Submission QA:
bash scripts/run-submission-qa.sh
| Doc | Purpose |
|---|---|
docs/PRESEARCH.md |
Phase 1-3 research checklist |
docs/PRD.md |
Product requirements |
docs/MVP.md |
Minimum viable feature set |
docs/DECISIONS.md |
Defendable technical decisions |
docs/DEMO_SCRIPT.md |
3-5 min demo walkthrough |
docs/AI_DEVELOPMENT_LOG.md |
1-page AI tool usage log |
docs/AI_COST_ANALYSIS.md |
Dev spend + user projections |
docs/DOCUMENTATION.md |
Architecture overview |