The experiment
For seven days I kept every active project in a local folder, used plain-text notes for decisions, and treated cloud services as synchronization targets rather than the only source of truth.
The goal was not to reject the cloud. It was to find out which parts of my work became calmer when the primary copy stayed close.
What changed each day
- Day one: I noticed how many tiny tasks began with opening a browser.
- Day two: Search became faster because filenames and project vocabulary were consistent.
- Day three: I wrote decisions beside the code instead of trusting chat history.
- Day four: A train ride without reliable reception stopped being exceptional.
- Day five: Backups became visible work rather than an assumed service.
- Day six: I removed duplicate drafts instead of inventing a new taxonomy.
- Day seven: The workflow felt ordinary, which was the strongest positive result.
Local-first is less about where bytes live than about whether the user can continue when a service is absent.
Habits that mattered
- Name files for the question they answer.
- Keep machine-specific settings separate from portable project state.
- Store important commands in a checked-in script or README.
- Test restoration, not merely backup creation.
- Use
git statusas a daily orientation tool.
project/
README.md
decisions/
scripts/
src/
.gitignore
What did not improve
Collaboration still needed shared services. Mobile capture was less elegant, and large media files required deliberate storage choices. Local-first removed some dependencies; it did not remove the need for coordination.
The experiment succeeded because it produced fewer invisible assumptions. I could point to the working copy, the backup, and the synchronization boundary without reconstructing them from memory.