Skip to main content
Photo of Anton ShubinAnton ShubinContact

For founders

How to hire a developer to take over your AI-built app

Hiring a developer to take over your AI-built app? The red flags in a proposal, the green flags, three questions to ask and a safe first week.

Anton Shubin9 min read

Contents

TL;DR

  • You are not hiring someone to write code: the AI already did that. You are hiring someone who can read code they didn't write and tell you what is unsafe.
  • Pass on a proposal with two or more red flags, such as a leftover placeholder, a wrong name, a diagnosis that fits any app or an offer of free work.
  • Shortlist the ones with proof: a live app on your stack, one specific insight, an honest gap and a dated, priced first step.
  • Start with a small paid audit and read-only access, keep every account in your name, and keep the right to stop any week.

To hire a developer to take over your AI-built app, look for someone who can read code they didn't write, not someone who promises to write more of it. Skip the proposals that could have been sent to anyone. Shortlist the ones that show a live app on your stack and one specific insight about yours. Then start with a small paid audit before you hand over production.

This post is for a founder who built an MVP with Lovable, Bolt, Cursor or Claude and now needs a senior developer to continue. I am one of those developers: I take over apps like yours, and I sell the audit this post recommends. I'll say where that matters, and every check below works on me too.

The AI wrote your code fast. What it rarely does on its own is decide what is safe, test it, and plan for the day something breaks. That is the job you are hiring for.

AI-built apps tend to break in the same few places:

  • Database access rules. On Supabase these are Row Level Security policies. A table with only a read policy looks fine in a demo. Then updates and deletes can quietly change zero rows, and inserts fail with an error the generated code often never checks. The user sees "Saved!", and nothing was saved.
  • Secret keys in the browser. A key meant for the server ends up in the code every visitor downloads.
  • Payments the browser decides. The page marks an order as paid, instead of your server hearing it from Stripe.
  • No safety net. No staging copy, no backups you have restored once, no tests.

So the person you want reads first, judges second and writes third. They keep what works, which is most of it. A developer whose first idea is "let's rewrite it from scratch" is offering to throw away the one thing you have that already works, and to bill you for the privilege.

Rewrite is a plan, not an insight

If you are still deciding whether you need a person at all, I wrote about when an AI subscription is enough and when it isn't.

What are the red flags in a proposal?

Link to section: What are the red flags in a proposal?

Wherever you post the job (Upwork, LinkedIn, a founder community, a friend of a friend), proposals arrive fast and often look the same. A lot of them are written by AI too, which is a little funny for a job about cleaning up after AI.

Here is what should make you close a proposal before the second paragraph:

  • A template placeholder is still in it. A [client name] or a [your project] that nobody filled in. If they didn't read their own message, they won't read your code.
  • Your name is wrong, or someone else signed it. It was pasted from the last job, and the one before that.
  • It opens by feeling your pain. "I understand how frustrating it is when your app…" That is everyone's opening now. It costs nothing and tells you nothing.
  • The diagnosis fits any app. "Your app needs refactoring, a better architecture and performance work." They haven't seen your app. I haven't either, and that sentence is still true of it. It's true of mine too.
  • It reads like generated text. Bold headings in a two-paragraph message, emoji bullets, every paragraph the same length, a "Week 1 / Week 2" plan for code they haven't opened. Someone who lets a model write even the hello will let it write your review.
  • The rate is far below a senior rate. A senior job at a junior price means the person is not senior, or will not stay. You pay the difference later, in rework.
  • It offers free work or a discount. "I'll fix the first bug for free", or a special price just for you. It reads as need, not confidence. And free work comes without a contract, so nothing says the code is yours.
  • An agency writes as one person. "I" in the first paragraph, "our team" in the third. Agencies are fine. Hiding who will do the work is not, so ask who writes the code and talk to that person.
  • A video link is the whole reply. A short video about your project can be great. A video instead of a written answer means you can't skim it, compare it or forward it to a technical friend.
Bespoke, hand-crafted, copy-pasted

Good proposals are usually shorter. They show you something instead of telling you something:

  • A live app on your stack. A link in the first lines that you can open, built on what you use: Supabase, Next.js, Stripe, whatever yours is. One or two that work beat a list of twenty.
  • One specific insight from real work. A sentence a chatbot would not write from your job post. "Check your security rules" is generic. "Your table probably has a read policy and no update policy, so edits do nothing and no error shows" is someone who has been bitten by it.
  • An honest gap. "I haven't worked in Lovable itself, but what it exports is React and Supabase, which I know well." A person who admits one gap is easier to believe about everything else.
  • A dated, priced first step. "A written audit by Friday, for a fixed price. Read-only access first. Nothing reaches production without staging. You can stop any week." The risk sits on their side of the table, not yours.
  • One question only an expert would ask. Everyone asks how many users you have. "Does your Stripe webhook mark an order as paid, or does the page?" or "Do your admins and your customers share one users table?" shows they are already looking at the parts that break.

Count the flags, then:

  • Two or more red flags: pass, however good the price looks.
  • One red flag: ask about it before you pay for anything.
  • No red flags and three or more green ones: offer this candidate a paid first step.
  • No red flags, but little proof yet: ask the three questions below.

It's a rule of thumb, not a court ruling. A tired senior can send a clumsy message, and a polished one can come from someone who has never shipped. But the flags are cheap to check, and they sort a long list fast.

Score a proposal you received

Open one proposal next to this and tick what it does.

Red flags
Green flags

Red flags: 0 of 9. Green flags: 0 of 5.

Tick what you see in the proposal you received.

A rule of thumb from this article, not a verdict on a person. Your ticks stay in this page.

Which three questions should you ask every candidate?

Link to section: Which three questions should you ask every candidate?

A short call or a written reply is enough for these. Listen for specifics.

  1. "What would you check first in my app, and why?" A good answer names the things that hurt users: data access rules, secret keys, payments, backups. Features and styling come later. "I'd refactor the components" is a weak answer, and "I'd rewrite it" is a red flag with a clock on it.
  2. "Show me something you shipped that still runs. What broke in it?" You want a live link and a real failure story. Someone who has never broken production has never run one. I have a whole blog category for my own scars, so I can't pretend otherwise.
  3. "If we stop after the first week, what do I keep?" The right answer is "everything": the code in your repository, the accounts in your name, and the notes written down. Anyone who hesitates here is planning to be hard to leave.

Why does a paid audit beat a free call?

Link to section: Why does a paid audit beat a free call?

A free call is good for one thing: checking that you can talk to each other. I offer one myself, and I'd keep it for exactly that. But nobody on a free call has read your code, so everything said there is a guess wrapped in a pitch.

A small paid audit is different:

  • They read your code. The advice is about your app, not apps in general.
  • You get a written report you keep. It lists what is solid, what is risky and what to fix first. You can hand it to any developer, including a cheaper one than the person who wrote it.
  • You see how they work before the big contract. Did it arrive on the date they named? Is it in plain words? Did the risky things come first, or the easy ones?

It costs a little, and it is the cheapest way to find out what you are actually buying. Yes, this is the part where I mention that I sell one: my code and security audit has a fixed price, quoted before any work starts, and gives you a written report and a call to walk you through it. If you hire someone else, ask them for the same shape of first step.

Predictions are free for a reason

How do you run the first week safely?

Link to section: How do you run the first week safely?

You don't need to be technical for any of this. You need to be the person who holds the keys.

  1. Keep every account in your name. The repository, the hosting, the database, Stripe, the domain, the email. Invite the developer as a member; never share your password. When the work ends, you remove one member and there is nothing to recover.
  2. Give read-only access first. An audit needs to read the code and the database settings, not change them. Write access comes after you have read the report.
  3. Make your own backup before anything changes. Export the database and keep a copy of the code somewhere the developer can't delete it. It is the cheapest insurance you will ever buy.
  4. Staging before production. A second copy of the app, with test data, where every change lands first. If you don't have one, building it is a fine first task.
  5. Pay in small steps, and keep the right to stop any week. Ask for a short written update every week: what changed, what's next, what is risky. A week with nothing you can see is a reason to stop.
  6. Change the keys when someone leaves. Any secret key the developer saw gets replaced. It's not distrust; it's how you close the door.
Trust is earned one key at a time

Got a proposal in your inbox right now? Run it through the checklist above and ask the three questions. And if you'd like me to be one of the candidates, my code and security audit is the first step I'd offer you: a written report of what is solid, what is risky and what to fix first, before anyone touches production. If you'd rather talk it through first, book a one-hour strategy session.

Need this for your product?

Anton Shubin

Senior Full-Stack Engineer & Tech Lead

I build greenfield SaaS on a modern, lightweight stack, alone or with a team of senior developers from my own pool, and I cover full-stack, DevOps and architecture.

The same work for you: Code & security audit, from $1,500Get the next post by email

Questions, or a different result? Reply by email: hi@antonshubin.com. It comes straight to me.