Introduction
After years of tweaking my setup, I've settled on a productivity stack that helps me ship faster, maintain focus, and actually enjoy the development process. Here's everything I use and why.
The Terminal: Where Magic Happens
Warp Terminal
Switched from iTerm2 to Warp and never looked back. Features I love:
- Command suggestions based on history
- Built-in IDE-like features (workflows)
- Shareable commands and blocks
- Modern, fast, and beautiful
Oh My Zsh with Plugins
Essential plugins I can't live without:
plugins=(
git
docker
laravel
npm
composer
zsh-autosuggestions
zsh-syntax-highlighting
z # Jump to directories by frecency
)
Starship Prompt
Shows git status, Node version, PHP version, and more—all contextually.
[character]
success_symbol = "[➜](bold green)"
error_symbol = "[✗](bold red)"
[git_branch]
format = "[$symbol$branch]($style) "
style = "bold purple"
Code Editor: VSCode Setup
Theme & Font
- Theme: GitHub Dark Dimmed (easy on the eyes)
- Font: JetBrains Mono (excellent ligatures)
- Icons: Material Icon Theme
Must-Have Extensions
PHP & Laravel
- Laravel Extra Intellisense
- Laravel Blade Snippets
- PHP Intelephense
- PHP CS Fixer
JavaScript & Vue
- Volar (Vue 3)
- ESLint
- Prettier
- Auto Close Tag
Productivity
- GitLens (supercharged git)
- Error Lens (inline errors)
- Todo Tree (track TODOs)
- Better Comments (categorize comments)
- Peacock (workspace colors)
AI Assistants
- GitHub Copilot (code suggestions)
- Codeium (free alternative)
Custom Keybindings
{
"key": "cmd+shift+t",
"command": "workbench.action.terminal.toggleTerminal"
},
{
"key": "cmd+k cmd+s",
"command": "workbench.action.files.saveAll"
}
Settings Sync
Use VSCode's built-in settings sync to maintain consistency across machines.
Development Environment
Docker for Everything
No more "works on my machine":
# docker-compose.yml
version: '3.8'
services:
app:
build: .
ports:
- "8000:8000"
volumes:
- ./:/var/www/html
environment:
- DB_HOST=mysql
mysql:
image: mysql:8.0
environment:
MYSQL_DATABASE: app
MYSQL_ROOT_PASSWORD: secret
redis:
image: redis:alpine
Laravel Valet (for Mac)
For quick local development without Docker overhead. Perfect for testing and prototyping.
Herd (Alternative to Valet)
Newer, faster, with better PHP version management.
CLI Tools That Save Time
Laravel Artisan Helpers
# Custom aliases in .zshrc
alias pa='php artisan'
alias pas='php artisan serve'
alias pam='php artisan migrate'
alias pamc='php artisan migrate:fresh --seed'
alias pat='php artisan tinker'
alias composer-update='composer update && composer dump-autoload'
git aliases
alias gs='git status'
alias ga='git add .'
alias gc='git commit -m'
alias gp='git push'
alias gl='git log --oneline --graph --decorate'
alias gco='git checkout'
alias gcb='git checkout -b'
HTTPie for API Testing
Better than cURL for API development:
http POST api.example.com/users name="John" email="john@example.com"
Task & Project Management
Linear
For project management and issue tracking. Fast, keyboard-driven, beautiful.
Notion
For documentation, meeting notes, and knowledge base. My second brain.
Obsidian
For personal notes and PKM (Personal Knowledge Management). Markdown-based, local-first.
Communication & Collaboration
Slack with Workflows
Automate repetitive tasks:
- Standup summaries
- Deploy notifications
- Error alerts from production
Loom
For async video communication. Better than meetings for many things.
Tuple (Pair Programming)
Best remote pair programming tool. Low latency, high quality.
Focus & Time Management
Pomodoro Technique
25-minute focused work sessions. I use Session app on Mac.
Time Blocking
Calendar blocking for deep work:
- 9-12: Deep work (no meetings)
- 12-1: Lunch & admin
- 1-3: Meetings & collaboration
- 3-5: Development or creative work
- 5-6: Learning & side projects
RescueTime
Automatic time tracking. Shows where time actually goes (often surprising).
Cold Turkey
Website blocker for deep work sessions. Blocks distracting sites completely.
Learning & Documentation
DevDocs
Offline documentation for everything. Essential for focused work.
Dash (Mac) / Zeal (Windows/Linux)
API documentation browser with snippets.
Notion/Obsidian
Personal knowledge base. I document:
- Solutions to problems I've solved
- Code snippets I use often
- System architecture decisions
- Learning notes from courses/books
Backup & Sync
Backblaze
Automated cloud backup. $7/month for unlimited backup. No thinking required.
GitHub/GitLab
All code in version control, obviously. But also:
- Configuration files (dotfiles)
- Personal scripts
- Documentation
Dropbox/Google Drive
For project assets, designs, and shared documents.
AI Tools Integration
ChatGPT/Claude
For:
- Explaining complex code
- Generating boilerplate
- Debugging assistance
- Documentation writing
- Learning new concepts
GitHub Copilot
Code completion that actually understands context. Particularly good for:
- Writing tests
- Generating regex
- Boilerplate code
- Converting between formats
Health & Well-being
Because productivity isn't just tools:
- Standing Desk: Alternate sitting/standing every hour
- Blue Light Filter: f.lux or Night Shift after 6 PM
- Regular Breaks: Stand up every 30 minutes
- Exercise: Daily walk, gym 3x/week
- Sleep: 7-8 hours, non-negotiable
The Meta-Productivity Tip
Don't optimize forever. Pick your stack, stick with it for 3 months, then evaluate. Tool-hopping is productive procrastination.
My Daily Routine
6:00 - Wake up, no phone for first hour
7:00 - Exercise
8:00 - Breakfast & review calendar
9:00 - Deep work session (most important task)
12:00 - Lunch & admin tasks
13:00 - Meetings & collaboration
15:00 - Development work
17:00 - Learning/side projects
18:00 - Shutdown routine (review day, plan tomorrow)
Conclusion
Productivity isn't about having the perfect tools—it's about having tools that get out of your way and let you focus on what matters: building great software and solving real problems.
Start with the basics, add tools as you find specific needs, and regularly prune what isn't serving you anymore.
What's your productivity stack? I'd love to hear what works for you.