Every year there's a new batch of productivity tools claiming to 10x developer efficiency. Most of them I try once and forget. Some become essential. Here's what I'm actually using in 2025 as a developer juggling university coursework, a part-time DevOps role at Commsult, and building AI Gymbro. The bar for inclusion: I used it in the past week.
The 2025 Stack Overflow Developer Survey found 76% of developers are using or plan to use AI coding tools. My setup: Claude (Anthropic) as my primary AI assistant for reasoning-heavy tasks, GitHub Copilot for inline code completion, and Cursor IDE as my daily editor. Cost: ~$20/month combined. ROI: 2-3 hours of saved time per week minimum.
I use Claude as my primary AI assistant because it's better at following complex, multi-step instructions; gives longer, more thorough responses for technical explanations; and is more honest about uncertainty. ChatGPT's main advantage: code interpreter (Python execution in browser) for quick data analysis.
Terminal setup I recommend: Warp (AI-powered terminal that explains commands and remembers your history), zsh with Oh My Zsh (git integration, auto-suggestions, syntax highlighting), fzf (fuzzy finder), bat (cat with syntax highlighting), and eza (ls replacement with icons and better formatting).
My Developer Toolbox 2025 (tools I used this week)
CODING
──────────────────────────────────────────────────────
Cursor IDE → Primary editor (AI-native, multi-model)
GitHub Copilot → Inline completion (separate from Cursor)
Claude (claude.ai) → Reasoning, architecture, writing
ChatGPT → Data analysis (code interpreter)
TERMINAL
──────────────────────────────────────────────────────
Warp → AI-powered terminal, session management
zsh + Oh My Zsh → git aliases, auto-suggestions
fzf → Fuzzy history and file search
bat / eza → Better cat / ls
PROJECT MANAGEMENT
──────────────────────────────────────────────────────
Linear → Issue tracking (keyboard-first)
Notion → Documentation only (not tasks)
Toggl Track → Time tracking for freelance billing
LOCAL DEV
──────────────────────────────────────────────────────
Docker Compose → Every project, every service
TablePlus → PostgreSQL / Redis GUI
Bruno → API testing (files in repo, no cloud)
direnv → Per-project env vars (auto-load)
MONITORING (personal projects)
──────────────────────────────────────────────────────
Axiom → Log aggregation (free tier)
Sentry → Error tracking (free tier)
UptimeRobot → Uptime alerts (free)
Vercel Analytics → Web vitals (Next.js)
LAUNCHER (macOS)
──────────────────────────────────────────────────────
Raycast → Replaced Spotlight, clipboard history,
snippets, window mgmt, AI chatThe productivity tool I'm most glad I adopted in 2025 is Raycast (macOS). It replaced Spotlight. I use it constantly: clipboard history, custom snippets (type /curl and it expands to my standard curl template), window management, calculator, unit converter, and direct AI chat without switching windows. The free tier covers everything I use.
What works for a solo developer or small team in 2025: Linear for software projects (keyboard-first design, automatic cycle tracking, GitHub integration), Notion for documentation and notes, and a simple weekly text file for daily task tracking. For time tracking: Toggl Track — set up projects per client, start a timer, invoice from the report.
Docker Compose for every project, no exceptions. I maintain a docker-compose.yml in every project that starts the database, any required services, and the development server. For database management: TablePlus (paid, worth it) for GUI access. For API testing: Bruno (open-source, stores collections as files in your repo).
# ~/.gitconfig — useful aliases
[alias]
st = status
co = checkout
br = branch
lg = log --oneline --graph --decorate --all
wip = !git add -A && git commit -m "WIP: work in progress"
undo = reset HEAD~1 --mixed
# docker-compose.yml — standard project template
version: "3.8"
services:
postgres:
image: pgvector/pgvector:pg16 # includes vector extension
environment:
POSTGRES_DB: myapp_dev
POSTGRES_USER: dev
POSTGRES_PASSWORD: devpassword
ports: ["5432:5432"]
volumes: ["pgdata:/var/lib/postgresql/data"]
redis:
image: redis:7-alpine
ports: ["6379:6379"]
app:
build: .
volumes: [".:/app", "/app/node_modules"]
ports: ["3000:3000"]
env_file: .env.local
depends_on: [postgres, redis]
volumes:
pgdata:Git aliases are underrated. I have aliases for my most-used commands that save significant keystrokes. Pre-commit hooks via Husky for TypeScript projects: ESLint + Prettier on staged files, TypeScript compiler check. Conventional Commits format for commit messages (enforced by commitlint) means my git log is machine-parseable.
I've been guilty of spending 3 hours setting up a new productivity system that would theoretically save me 10 minutes per week. The math never works out. Before adopting a new tool, ask: do I have a specific problem this solves, or am I attracted to the tool itself? The developers I know who are most productive have simple, stable toolchains.
For my personal projects: Axiom (free tier) for log aggregation and search. Sentry (free tier) for error tracking — every unhandled exception in AI Gymbro sends a notification. UptimeRobot (free) for uptime monitoring. Vercel Analytics for web vitals on Next.js projects. These four cover 90% of production observability needs for indie projects.
The learning tools that actually move my skills forward: documentation-first reading, Exercism for deliberate practice of fundamentals, curated newsletters (TLDR, ByteByteGo for system design, Cloudflare and Anthropic engineering blogs), and recording myself explaining a new concept (the Feynman technique).