There’s a lot of noise about AI and developer productivity. Most of it is demos on empty projects or 5-minute showreels. This post is different: it’s the exact workflow I use on real projects with real traffic.
Base stack: Laravel 11 + Vue 3 + TypeScript + PostgreSQL. Deployed via Forge/DigitalOcean. Tests with Pest. No toy projects.
Claude Code as driver, not passive copilot
The key difference between using Claude Code well and using it poorly: I drive, Claude executes.
It’s not “suggest me some code.” It’s “open this file, read this function, refactor it respecting these invariants, write the corresponding test, and tell me if there are edge cases I haven’t considered.”
Claude Code has full access to my codebase. It can read, edit, run commands. That changes everything compared to a browser chat.
My morning routine
Every morning, before writing a single line of code, I open Claude Code and run a quick audit of what was left pending from yesterday:
# Review files modified yesterday and give me a summary of what's incomplete
# or has unresolved TODOs
Claude reads the git log, modified files, // TODO comments and returns a prioritized summary. Takes under 30 seconds. Previously took me 10-15 minutes manually.
Writing code: the pattern that works
When a new feature starts, my prompt is not “write me X.” It is:
- Context: what business problem this solves
- Technical constraints: which parts of the codebase it shouldn’t touch, which patterns we follow
- Expected output: tests first, then implementation, then migration if applicable
Real prompt example for a notifications feature:
“Read
app/Services/NotificationService.phpandapp/Models/User.php. I need to add WhatsApp notification support via Twilio. Follow the same channel pattern we use for email. Write the Pest test first, then the implementation. Don’t touch the queue system — it’s already correctly configured.”
With that prompt, Claude Code produces code that fits the existing architecture, not generic code I then have to adapt.
Augmented code review
This is where I save the most time. When I finish a feature, before opening the PR:
# Review all changes on the current branch vs main.
# Look for: security issues, N+1 queries, unused variables,
# logic that could be simplified, missing tests.
# Be specific with line and file.
Claude Code returns a list of real issues, with line and file. It’s not 100% infallible — I’m still the primary reviewer — but it catches 70% of mechanical problems before they reach human code review.
Refactoring with full context
Refactoring is where Claude Code shines most. It can read 20 files at once and maintain coherence across all of them.
Example: I migrated a legacy permissions system (custom ACL) to Spatie Laravel Permission. I gave Claude Code:
- The routes file with all
can()calls - Affected models
- Existing tests
- The internal README explaining the current system
And asked it to plan the migration step by step before executing anything. It gave me a 6-step plan, flagged 3 edge cases I hadn’t seen, then executed each step with my confirmations.
The migration I estimated at 2 days took 4 hours.
What I do NOT delegate to Claude Code
This is equally important:
- Architecture decisions: what microservice to create, how to separate responsibilities. I think those through.
- Business judgments: what feature to prioritize, what trade-off to accept. I discuss those with the client/team.
- Security-critical code: auth, authorization, payments. Claude Code helps, but I review line by line.
- Final merge: I always review the full diff before merging.
MCP servers: the next level
Beyond pure Claude Code, I use MCP servers to connect Claude with my tools:
- GitHub MCP: Claude can read issues, PRs, comments directly
- Sentry MCP: “what new errors appeared in production this week?” — Claude reads them and suggests fixes
- Database MCP (on dev/staging): exploratory queries without leaving context
This turns Claude into more than an intelligent editor: it’s a collaborator that understands the full project context.
Measurable results
After 8 months using this workflow on real projects:
- Code review time: -60% (Claude catches mechanical issues)
- Refactoring time: -50% (full codebase context)
- Production bugs: -30% (morning audit + augmented review)
- Onboarding on new codebase: from 2 weeks to 3 days
These are my numbers, on my projects. Your mileage may vary, but the order of magnitude is the same for any developer who uses it with discipline.
Conclusion
Claude Code is not a shortcut to write code faster. It’s a multiplier for developers who already know what they’re doing. The key is using it as a driver, not as glorified autocomplete.
If you work with Laravel + Vue and want to discuss this in more detail, get in touch.
