Friday, June 5, 2026
mood: shipping
The merge conflict was never git — it was two people editing the same screen at once.
Two threads today: the first bricks of a personal training and nutrition tracker, and a steady push on the gasket app — a visual cut plan, an iOS build, and a cleaner estimate view.
Shipped
- Training tracker, first bricks — scaffolded a small local workout + nutrition app (the seed of what becomes ElevateDaily) on a clean stored-procedure backend, with tests
- Visual cut plan — built the Fabricate step in the field app: each stock length drawn to scale with the pieces nested onto it, plus a magnet-cuts list
- Per-unit estimate view — redesigned the admin estimate to mirror the field app: one card per door, itemized charges, material-only tax
- Field Ops on iOS — got the gasket field app building and running on an actual iPhone; fixed a build error and wired device signing
- Inventory + profile settings — admin surfaces for the parts catalog and gasket-profile settings
- Schedule view — a calendar and map for jobs that still need scheduling
- One surface per worktree — diagnosed the recurring parallel-work collisions and wrote the rule: one screen, one isolated worktree
Notes
Most of the "merge conflict" pain wasn't really git. It was two efforts editing the same screen at the same time, or work stranded on the wrong branch. Naming a plain rule — one surface, one worktree — fixed more than any tooling could.
