Skip to content
Senior engineering for AI-built products

Built it with AI.
Stuck getting it over the line?

I help founders get AI-built apps finished, fixed and ready for real users — without starting over.

Senior engineer · 13 years in production software · Based in Portugal (EU)

No sales theatre. If I think you can keep going alone, I’ll tell you.
BUILT WITH
  • Lovable
  • Bolt
  • Base44
  • Replit
  • Cursor
  • v0
  • Claude Code

You’re probably in one of these.

Sometimes another prompt isn’t the answer. That’s usually where I come in.

01 / STUCK

AI fixes one thing and breaks another.

You’ve spent hours or days circling the same problem and every new prompt creates a new edge case.

02 / ALMOST LIVE

It works. But now real users are about to touch it.

Payments, customer data and private accounts are involved. That’s when “it seems to work” stops being enough.

03 / ALREADY LIVE

Every big change now makes you nervous.

The product has users. You want to keep moving fast without gambling with production.

WHAT YOU SEE
People can sign up
Payments go through
The dashboard works
Data gets saved
It works on your laptop
WHAT REAL USERS WILL TEST
Can one customer see someone else’s data?tenant isolation
What happens if they pay twice?webhook idempotency
What if an email never gets sent?failure handling
What happens when something goes down at 2am?monitoring
Can you undo yesterday’s bad change?rollback
The gap between these two columns is where I work.

Stop prompting around the problem.

If the same problem keeps coming back, another prompt probably isn’t going to solve it. I find out why it’s happening and fix that.

THE PROMPT LOOP
  1. “fix login”
  2. login works
  3. signup breaks
  4. “fix signup”
  5. Stripe breaks

back to the first prompt

THE ENGINEERING LOOP
  1. reproduce
  2. trace cause
  3. fix
  4. test regression
  5. ship

with a test behind it

Start with the smallest thing that gets you moving again.

I don’t open with a rewrite or a retainer. We start with the smallest piece of work that can actually move things forward.

One thing is blocking you

Unblock Sprint

€490 + VAT
€602.70 including VAT. EU businesses with a valid VAT number pay €490 — reverse charge.

You’ve got one thing blocking you. I get into the code, trace the problem and help get it out of the way.

  • Best for one clear blocker
  • Hands-on engineering, not a report
  • €490 credited if it becomes a Rescue
Show me the blocker →
You can’t tell what’s wrong

Vibe2Prod Check

€1,500–3,000 + VAT
€1,845–3,690 including VAT. EU businesses with a valid VAT number pay €1,500–3,000 — reverse charge.

You can’t tell whether the app is safe to put in front of people. I go through it and tell you what I found, what I would fix, and in what order.

  • You get one answer: go, caution, or not yet
  • The reasons behind it, in writing
  • Fixed price agreed before I start
Ask me if it’s ready →
The app needs more than one fix

Production Rescue

€3,500–6,000 + VAT
€4,305–7,380 including VAT. EU businesses with a valid VAT number pay €3,500–6,000 — reverse charge.

Sometimes it’s not one bug anymore. A few things are tangled together and patching them one by one isn’t working. That’s what Rescue is for.

  • Fixed scope before we start
  • No rebuild unless you actually need one
  • For apps near launch or already live
Tell me what’s going on →

Guardrail

€1,000/month + VAT
€1,230/month including VAT. EU businesses with a valid VAT number pay €1,000/month — reverse charge.

After a Rescue, someone watching the things that break quietly: a bad deploy, a failed payment, a backup that stopped running.

Technical Partner

€2,000/month + VAT
€2,460/month including VAT. EU businesses with a valid VAT number pay €2,000/month — reverse charge.

A senior engineer in your corner while you keep building: review before you ship, and a straight answer when you don’t know whether something is safe.

Vibe2Prod Lab

I test the gap between “it works” and “I’d trust it”.

I’m building small apps with the same AI tools founders use, to run the checks I’d want before trusting one in production. The card beside this is the format. The first result isn’t in yet, and the label stays on until it is.

LAB / 001 · SAMPLE FORMATLOVABLE + SUPABASE
Sign upPASS
Log inPASS
One customer could read another’s data tenant isolationFAIL
Duplicate Stripe payment webhook retryNOT TESTED
Restore lost data backupsUNKNOWN
Undo a bad deploy rollbackUNKNOWN
VERDICT → Works in demo. I wouldn’t launch it yet.

Simple questions. Straight answers.

Do I need to rebuild my app?

Usually not. Rebuilding is the last option, not the default recommendation.

Can I keep using Lovable, Cursor or Claude afterwards?

Yes. I’m not here to take the product away from you. If you can keep building it yourself afterwards, that’s a good outcome.

Do you need access to my repo?

For hands-on work, usually yes. We can talk first, before you share anything sensitive.

What if I don’t actually need a developer?

Then I’ll tell you that. I’d rather send you back to Cursor than invent work you don’t need.

No idea which option fits?

Show me what you’ve built and tell me where you’re stuck.

Send me the app and tell me what’s been giving you trouble. I’ll have a look and tell you how I’d approach it, even if the answer is just “keep building”.