Technical
The Tools That Survived My Workflow in 2025
Most tools I try do not make it to the end of the quarter. A few make it to the end of the year and become part of my permanent setup. Here is the short list of tools that earned their keep across a full year of real work.
Development
- Claude Code: CLI agent, daily driver
- Cursor: IDE agent for single-file tight loops
- VS Code: fallback editor
- iTerm2: terminal
- ruff: Python linter and formatter
- tsc: TypeScript compiler, always strict mode
Infrastructure
- AWS Lambda: all serverless compute
- DynamoDB: all database work
- SES: all transactional email
- Vercel: all frontend hosting
- GitHub: git hosting and Actions
Business
- Linear: task tracking
- Notion: client docs and internal wikis
- Harvest: time tracking for hourly work
- Stripe: invoicing and payments
Writing
- Markdown files in git: source of truth
- Custom artifact scripts: batch publishing
- Browser devtools: preview before publishing
The Pattern in the Survivors
Every tool on this list shares three traits:
- Does one thing well: no suite software, no kitchen sinks
- Predictable pricing: monthly cost known in advance
- Reliable API or CLI: I can automate it or replace it
Tools that failed one of these dropped off my workflow somewhere during the year.
What I Did Not Add
- No AI note-taking apps stuck
- No project management SaaS beyond Linear stuck
- No extra browser extensions stuck
- No AI chat apps beyond Claude stuck
The test for any new tool: do I open it the next day? If no, it is gone within a week.
The Subtraction Game
Productivity is not about adding tools. It is about the tools you stop using. Every tool in a workflow is a context switch. Fewer tools means fewer context switches means more output. The survivors above earned their place by being essential, not by being interesting.
The Budget Line
Total software cost for my solo operation: under $200 per month including AWS. That covers hosting, development, business ops, and writing. Running a technical consulting practice does not require a big software budget. It requires the right software budget.
The Replacement Test
Before adopting a new tool, I ask: what does this replace? If the answer is nothing, I probably do not need it. If the answer is clear, the new tool has to be substantially better than the incumbent to justify the switching cost. That test kept my stack stable through a year of hype cycles.
The Upgrade Discipline
I upgrade my core tools on a predictable cadence: monthly for editors, quarterly for frameworks, annually for operating system. Out-of-band upgrades only happen for security patches. That rhythm prevents the all-at-once upgrade week that breaks everything simultaneously.
For pricing predictability, see the AWS pricing calculator to model your own infrastructure spend.
RELATED READING
The Consulting Shift I Am Making In Year Two
After a year of writing and building, my consulting practice is changing shape. Shorter engagements. Sharper outcomes.
ReadThe Frontend Shift: Shipping Less JavaScript In Year Two
A year ago I reached for Next.js for everything. This year I often reach for nothing.
ReadThe Serverless Lesson I Would Write On A Sticky Note
After a year of shipping serverless projects, one rule explains most of the wins and all of the losses.
Read