Skip to main content
BlogCareer

Developer Productivity Tools I Actually Use in 2025

My real developer toolbox in 2025 — not what's trending, but what I reached for every day as a student, part-time DevOps engineer, and indie developer.

Matthews Wong

Software Engineer

June 20259 min readUpdated Jul 14, 2026
Career

Key Takeaway

This post catalogs the actual developer productivity tools Matthews Wong used week-to-week in 2025 - Claude, GitHub Copilot, and Cursor IDE for coding, Warp and fzf for the terminal, Linear and Toggl Track for project management, and Docker Compose for local development - while warning that adopting a new tool without a specific problem to solve rarely pays off.

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 was actually using in 2025 as a developer juggling university coursework, a part-time DevOps role, and building AI Gymbro. The bar for inclusion: I used it in the past week.

The AI Coding Assistant Layer

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.

Claude vs ChatGPT for Development Work

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 and CLI Tools

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 chat

The 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.

Project and Task Management

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.

Development Environment: Containers and Local Setup

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:

Version Control and Code Quality

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.

Monitoring and Observability on a Budget

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.

Learning Tools: How I Stay Current

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).

Update: I've since graduated from Swiss German University and now work full-time as an AI Forward Deployed Engineer at Commsult Indonesia. This post reflects where I was at the time of writing.

Sources & Further Reading

FAQ

Frequently Asked Questions

Short answers to what readers ask most about this topic.

Why does the author prefer Claude over ChatGPT for development work?

Claude is preferred because it better follows complex, multi-step instructions, gives longer and more thorough technical explanations, and is more honest about uncertainty. ChatGPT still has one notable edge: its code interpreter enables quick Python execution in the browser, which is useful for ad-hoc data analysis.

What is the author's rule for deciding which tools to include in the toolchain?

The bar for inclusion is simple: the tool must have been used within the past week. This filter prevents tool accumulation — the author explicitly warns that spending hours setting up a system that saves only minutes per week is a productivity trap developers commonly fall into.

How does the author handle project and task management without a heavy process?

The setup is deliberately lightweight: Linear for software projects (keyboard-first, with automatic cycle tracking and GitHub integration), Notion for documentation and notes, and a plain weekly text file for daily task tracking. This combination works for both solo developers and small teams.

What monitoring stack does the author use for personal projects, and what does it cost?

The stack is entirely free-tier: Axiom for log aggregation and search, Sentry for error tracking (every unhandled exception in AI Gymbro triggers a notification), UptimeRobot for uptime monitoring, and Vercel Analytics for web vitals on Next.js projects. Together these four tools cover 90% of production observability needs for indie projects.

How does the author enforce code quality standards consistently across TypeScript projects?

Pre-commit hooks via Husky run ESLint and Prettier on staged files and perform a TypeScript compiler check before every commit. Commit messages follow the Conventional Commits format enforced by commitlint, making the git log machine-parseable. Git aliases are also used to reduce keystrokes on the most frequently run commands.