What is Claude Code? The €600 Contractor Invoice I Stopped

Last Friday I shipped a feature my contractor quoted at twelve hours and €600. It took me ninety minutes and one terminal window. If you own a small SaaS and you're still emailing developers every Friday for two-hour features, this is the tool that quietly removed that line item from my P&L.
Most explainers of Claude Code aim at developers. I'm a solopreneur running three production apps from one PC in my office. Here's what it actually is, how I use it on a live codebase, and where it still breaks.
The one-sentence definition (that the docs bury)
Claude Code is a terminal-based agent with full read, edit, and run access to your codebase. That's the whole thing.
It is not Claude.ai. It's not a chat window where you paste code and copy answers back. It lives inside your project folder. It opens files. It greps across thousands of lines to find what it needs. It edits files directly. It runs commands — your test suite, your database migrations, your linters. You sit next to it and review what it did.
The mental model:
- Claude.ai is a consultant on a phone call. You describe, they suggest, you implement.
- Claude Code is a junior engineer sitting at your desk with the laptop already open. You give the task, they read the codebase, they write the diff, you review.
That difference — read access to your actual repo — is the entire reason the contractor invoice goes away. A consultant who can't see your code can only guess. A junior who can grep -r "vat_total" . knows.
The contractor math that changed my year
I run a small invoicing product. Real customers, real revenue, real bugs. Until about six months ago, every customer feature request triggered the same loop:
- Record a Loom, write a short spec
- Send to contractor at €50/hour
- Wait three days for a quote — usually 8–12 hours
- Approve, wait another week
- Review the pull request, merge, pay the invoice
Five of those a month is the math:
| Feature requests/month | Avg hours quoted | Rate | Monthly burn |
|---|---|---|---|
| 5 | 10 | €50/h | €2,500 |
| 5 | 10 | €50/h | €30,000/year |
And the calendar was never mine — every feature was gated by someone else's Friday.
Last month I sent the contractor one task. The other four I shipped myself with Claude Code, in evenings, after my kid was asleep. Same code quality, same test coverage, merged the same way. The bottleneck moved from my wallet to my attention.
What the actual workflow looks like on a 5-year-old codebase
The magic is not a demo on a fresh repo. The magic is on a real codebase with five years of decisions baked in. Here's last Friday's session, verbatim.
I'm in WSL Ubuntu on a regular desktop PC. Nothing fancy.
cd ~/projects/fakturko
claude
That's it. The agent boots up inside the folder. I type the task in plain English:
Add an endpoint that exports VAT totals per customer for a given quarter. Return it as CSV. Follow the existing controller patterns in this project.
Notice what I did not tell it:
- Which file to put the controller in
- Which framework conventions to follow
- Where the routes file is
- How I name my date columns
I let it look. And this is the part that's different from every previous "AI for code" tool:
● Searching codebase for existing controller patterns...
● Read app/controllers/reports_controller.rb
● Read app/controllers/customers_controller.rb
● Read app/controllers/invoices_controller.rb
● Read config/routes.rb
● Read app/models/invoice.rb
Plan:
1. Add VatExportsController#quarterly_by_customer
2. Add route GET /reports/vat_exports/quarterly
3. Add app/services/vat_export_service.rb (matches existing service pattern)
4. Add spec/services/vat_export_service_spec.rb
Proceed?
I say yes. Ninety seconds later there's a diff on my screen. Real code, in my style, using my helpers, with a passing test.
What I do during those 90 seconds
- Read every line of the diff. This is production code touching financial data.
- Catch the one thing it assumed wrong (a column name that doesn't exist in this schema).
- Type the correction. It re-runs the test. Green.
Total time including careful review: ~90 minutes. Contractor quote for the same feature: 12 hours, €600.
Where it still breaks (and where I won't let it run)
I've seen too many videos pretend this thing is magic. It isn't. Here's my honest map of where it works and where I keep it on a short leash.
Where Claude Code shines vs. where I won't trust it alone
- Small-to-medium tasks in an existing codebase: 9/10 useful. The more code it can read, the better it does.
- New endpoints, report columns, CSV exports, PDF tweaks: my sweet spot. These are the €400–€600 contractor invoices.
- Refactors with good test coverage: solid, because the tests catch its mistakes.
- Large database migrations: it hallucinates schema fields. I write the migration manually.
- Payment / tax calculation logic: I write the test first, then let it fill in the implementation. Never the other way around.
- Greenfield projects with no codebase yet: surprisingly worse than on legacy code, because it has no context to read.
My non-negotiable rules:
review_diff: always
auto_merge: never
unsupervised_tasks:
- documentation
- test scaffolding
- simple controllers with existing patterns
supervised_only:
- anything touching money
- anything touching auth
- schema migrations
Treat it like a junior who's fast but green. Fast junior + senior reviewer = shipping velocity. Fast junior + no reviewer = production incident.
The cost structure nobody mentions
Once it's set up, the marginal cost is basically zero. I'm on the Anthropic Max subscription — no per-token panic, no surprise bill at month-end. Compare:
| Approach | Cost per feature | Lead time | Bottleneck |
|---|---|---|---|
| Contractor @ €50/h | €400–€600 | 7–10 days | Their calendar |
| Claude.ai (paste code back and forth) | ~€0 in API but high friction | 2–4 hours | Your context-switching |
| Claude Code | ~€0 marginal | 60–120 min | Your review attention |
And the same PC runs three of my products in parallel terminals: Fakturko (invoicing) in one window, UNA_Intel (Gmail/Telegram ops bot) in another, bizflowai.io-Catalyst (lead-gen tool) in a third. Same machine, same evening, three live products getting features. That's what actually breaks the contractor math.
It's not that one feature got cheaper. It's that the bottleneck moved from my wallet to my attention — and attention I can manage by scheduling, batching, and not opening Twitter.
How to start without breaking your production app
If you're a non-technical founder reading this and tempted to install it tomorrow, here's the sober rollout that won't end in a 3 a.m. database rollback:
- Install on a clone, not the main repo.
git cloneto a sandbox folder. Let Claude Code touch only that for the first week. - Start with read-only tasks. "Explain what this controller does." "List every endpoint that touches the invoices table." This teaches you how it explores, with zero risk.
- Then write tasks with a safety net. Branch off
main, let it work, run the test suite, review the diff in GitHub's web UI (easier to read than terminal output for beginners). - Never
--dangerously-skip-permissionsuntil you've shipped 10+ reviewed PRs. That flag turns the junior engineer into one who doesn't ask before deleting things. - Keep your contractor on retainer for the hard stuff. I didn't fire mine. I went from 5 tasks/month to 1. The 1 is always the one I shouldn't touch.
The skill you're building isn't "prompting." It's reading a diff and knowing what a sane change looks like in your codebase. That skill compounds. Every PR you review teaches you more about your own product.
Why bizflowai.io helps with this
A lot of the small-business automation work we ship at bizflowai.io is exactly this pattern translated for non-code workflows: an agent with read/write access to your real systems — Gmail, your CRM, your invoicing database — that follows your existing conventions instead of forcing you onto a new platform. The same principle that makes Claude Code useful on a 5-year-old repo (let the agent read the context before it acts) is what makes an operations bot useful inside a 5-year-old business. We build the read-access, the guardrails, and the review loop so you stay in control of the diff.
Frequently asked questions
What is Claude Code?
Claude Code is a terminal-based AI agent that has full read, edit, and run access to your codebase. Unlike Claude.ai, which is a chat window where you paste code back and forth, Claude Code lives inside your project folder. It can open files, grep across thousands of lines, edit files directly, and run commands like tests or database migrations while you review its work.
How do I use Claude Code on an existing project?
Open a terminal, cd into your project folder, and type the command 'claude'. The agent boots inside that folder. Then describe your task in plain English, for example asking it to add a CSV export endpoint following existing controller patterns. It will grep the codebase, read related files, propose a plan, and produce a diff with passing tests for you to review.
Why does Claude Code matter for non-technical SaaS owners?
It replaces much of the contractor loop for small to medium tasks. The author runs a small invoicing SaaS and previously paid a contractor 50 euros an hour, roughly 2,500 euros a month for five features. Using Claude Code, he now ships four of those five features himself in evenings, sending only one task to the contractor, cutting cost and reclaiming his calendar.
When should I not use Claude Code unsupervised?
Avoid letting it work unsupervised on large database migrations, where it can hallucinate schema fields, and on anything touching payments or tax calculations. For those, write the test first yourself and let it fill in the implementation. It is also less impressive on greenfield projects, since it shines when it has an existing codebase to read for context.
How much does running Claude Code cost in practice?
Once set up, the marginal cost is essentially zero. The author uses the Anthropic subscription, which avoids per-token pricing anxiety, and runs three separate products in parallel terminal windows on the same regular desktop PC running WSL Ubuntu. One window handles an invoicing app, another an internal ops bot, and a third a client tool, all on the same machine.
Want more like this?
I publish practical AI automation, GenAI engineering, and faceless content workflows on YouTube every week.
Subscribe to bizflowai.io on YouTube — never miss a new tutorial.
Planning an AI automation project or need a second opinion on your architecture?
Connect with me on LinkedIn — Lazar Milicevic, GenAI Engineer & bizflowai.io Founder.
Visit bizflowai.io for our services, case studies, and AI consulting.
Frequently asked questions
What is Claude Code?
Claude Code is a terminal-based AI agent that has full read, edit, and run access to your codebase. Unlike Claude.ai, which is a chat window where you paste code back and forth, Claude Code lives inside your project folder. It can open files, grep across thousands of lines, edit files directly, and run commands like tests or database migrations while you review its work.
How do I use Claude Code on an existing project?
Open a terminal, cd into your project folder, and type the command 'claude'. The agent boots inside that folder. Then describe your task in plain English, for example asking it to add a CSV export endpoint following existing controller patterns. It will grep the codebase, read related files, propose a plan, and produce a diff with passing tests for you to review.
Why does Claude Code matter for non-technical SaaS owners?
It replaces much of the contractor loop for small to medium tasks. The author runs a small invoicing SaaS and previously paid a contractor 50 euros an hour, roughly 2,500 euros a month for five features. Using Claude Code, he now ships four of those five features himself in evenings, sending only one task to the contractor, cutting cost and reclaiming his calendar.
When should I not use Claude Code unsupervised?
Avoid letting it work unsupervised on large database migrations, where it can hallucinate schema fields, and on anything touching payments or tax calculations. For those, write the test first yourself and let it fill in the implementation. It is also less impressive on greenfield projects, since it shines when it has an existing codebase to read for context.
How much does running Claude Code cost in practice?
Once set up, the marginal cost is essentially zero. The author uses the Anthropic subscription, which avoids per-token pricing anxiety, and runs three separate products in parallel terminal windows on the same regular desktop PC running WSL Ubuntu. One window handles an invoicing app, another an internal ops bot, and a third a client tool, all on the same machine.