Two Weeks of Groundwork: A Build Log
This is the git log version of building Groundwork with Claude Code over two weeks of evenings and weekends. The companion article covers what the collaboration was actually like.
413
Commits
18
Pull Requests
24
Migrations
308
Tests
Commits per day
5
5
14
15
23
20
44
10
57
41
37
51
54
Mar 8
Mar 9
Mar 10
Mar 11
Mar 12
13–14
Mar 15
Mar 16
Mar 17
Mar 18
Mar 19
Mar 20
Mar 21
Mar 22
Development Production release
Saturday, March 8 · 5 commits
- feat First commit — still called “Distill”
- Project management, session input, synthesis panel
- Nothing pretty but it ran
Sunday, March 9 · 5 commits
- design Rebranded to Groundwork
- feat First real UI pass — section pages, inline Q&A, actor type overrides, sidebar navigation
- fix Tightened extraction prompt — questions it generated were useless
Monday, March 10 · 14 commits · 2 migrations
- feat Actors page, test scenarios, Technical view, session audit/diff
- design Scrapped the UI — first full visual overhaul (Indigo accent, Inter font)
- First serious CLAUDE.md rewrite
Tuesday, March 11 · 15 commits · 1 migration
- fix QA sweep — actor inference, test scenarios, UI polish
- feat Scenarios tab with AI-generated suggestions
- Export/sharing scaffold
- infra First version of the automated rule validator
Wednesday, March 12 · 23 commits · 3 migrations
- fix Visual and interaction audit across the app
- Cross-section references became real links
- feat Inline editing for process names and actor corrections
- Test case projects for pipeline validation
- 9 migrations applied by end of day
Thursday–Friday, March 13–14
No commits. Life happens.
Saturday, March 15 · 20 commits · 5 migrations
- security API route hardening, rate limiting on AI routes
- Accessibility — ARIA, skip links, focus visibility, reduced motion
- Responsive layout for mobile/tablet
- Performance tuning — memoized filters, faster question lookups
- feat Entity editing, scenario editing, meeting dates
- Migrated backlog from markdown to GitHub Issues
Sunday, March 16 · 44 commits · 3 migrations
- design Workspace redesign — four phases in one day
- Replaced Actors tab with Team + Roles
- Rewrote Processes, Scenarios, Data, Flows tabs with inline editing
- New shared component library (ConfidenceBadge, ItemCard, ConflictQueue)
- infra Validation script got its first batch of rules
Monday, March 17 · 10 commits · 1 migration
- feat Systems tab replacing old Technical view
- security CSP nonce fix (incompatible with Next.js standalone — learned later)
- design Warm reskin design spec written
Tuesday, March 18 · 57 commits · Production release
- deploy Merged dev → main — Groundwork went live
- design Warm reskin landed across every surface
- Next.js 14 → 16, React 18 → 19
- infra GCP Cloud Run pipeline with dual environments (dev + prod)
- WCAG AA contrast audit
- Peak velocity — 57 commits in one evening
Wednesday, March 19 · 41 commits · 4 migrations
- feat Complete redesign — waves 1-5 rebuilt schema, navigation, most components
- fix Things broke. Methodical recovery followed.
- Test infrastructure stood up (Vitest + React Testing Library)
- Extraction switched to
tool_use, all sessions re-extracted - Half the commits were fixing what the redesign broke
Thursday, March 20 · 37 commits
- feat React Flow replaced old flow diagram
- Feedback button — floating button → modal → GitHub issue with screenshot
- Two-pass extraction pipeline built
- deploy Second production promotion
Friday, March 21 · 51 commits · 1 migration
- infra Built the worktree system (create/finish/prune)
- fix Windows debugging — directory locks, cache mismatches, detached HEAD
- feat Demo project with real fixture data
- security Prompt injection protection
- deploy Two production promotions
Saturday, March 22 · 54 commits · 1 migration
- feat Invite link system with SendGrid
- Smoke test suite
- design Design token cleanup — raw hex → semantic Tailwind tokens
- Feedback button opened to all users
- infra R18 validation rule — block direct dev commits
- Worktree finish rewritten to create PRs instead of auto-merge
- deploy Four releases
Want to generate a similar build log for your own project? Here’s the prompt that produced the raw data for this article:
Analyze my git history and build a day-by-day development timeline.
For each day with commits, give me:
- Number of commits
- Key features, fixes, or changes (from commit messages, not guesses)
- Notable milestones (first deploy, major refactors, new tooling)
- Database migration count if applicable (check supabase/migrations/
or whatever migration directory exists)
- Merge/PR activity
Run these commands for the raw data:
git log --oneline --format="%ad" --date=short | sort | uniq -c
git log --oneline --format="%h %ad %s" --date=short --reverse
git log --merges --oneline --format="%h %ad %s" --date=short
ls -1 supabase/migrations/ (or equivalent migration directory)
Categorize each bullet as one of: feat, fix, security, deploy,
design, or infra. Keep it factual — bullet points, not prose.
Don't invent details that aren't in the commit messages.