Stalled builds
Your app is stuck at 80%. Here's how to get it across the finish line
The last 20% of a build is where launches die: edge cases, payments, deployment, bugs nobody owns. A practical plan to finish a stalled app and ship it.
Hooman Hamzeh
Founder, Hiring.co · · 4 min read
Almost every week I get on a call with a founder who says some version of the same sentence: “We’re about 80% done.”
The demo works. The happy path works. Investors have seen it. And it has been “almost ready” for four months.
I do not say this to be harsh. It is the most common place for a software build to stall, and there is a good reason for it. The first 80% is the work everybody pictured when they planned the product. The last 20% is the work nobody put on the roadmap.
What is usually hiding in the last 20%
When we audit a stalled build, the remaining work tends to fall into the same buckets:
- Account edge cases. Password reset, email verification, expired sessions, someone signing up twice with the same email.
- Payments. Declined cards, failed webhooks, refunds, proration, receipts, tax.
- Error and empty states. What a new user sees with no data. What anyone sees when the API is down.
- Deployment. A repeatable way to ship to production, separate staging and production environments, environment variables that live somewhere other than one person’s laptop.
- Real data. Pages that were fast with 20 test records and crawl with 20,000.
- Store review. App Store and Play Store rejections, privacy labels, required account deletion.
- The boring essentials. Transactional email that lands in the inbox, privacy policy and terms, analytics on the events you will actually look at.
None of it is exciting. All of it is required before a stranger can pay you.
Why builds stall right there
The reasons are rarely technical skill alone. Usually it is one or more of these:
- The original developer left, burned out, or disappeared. (If that is your situation, read our guide to taking over a codebase from a freelancer.)
- Scope kept growing. Every demo produced three new “must-haves.”
- Nobody owns deployment. Code gets written, but getting it live safely is nobody’s job.
- There are no tests, so every fix breaks something else and progress feels like running in sand.
- The founder is the only product manager, and is also doing sales, fundraising, and support.
Step 1: Freeze the scope
Write a launch list: the smallest set of things that must be true for a real user to sign up, get value, and pay. Everything else goes on an “after launch” list. Be ruthless.
A useful test for each item: if this is missing on day one, does a paying customer leave, or does the business break? If neither, it waits. Our MVP launch checklist goes through the common items one by one.
Step 2: Get an honest audit
Before anyone writes new code, have a senior developer spend about a week reading the codebase, running it locally, deploying it to a test environment, and writing down three lists:
- Blockers: must be fixed before launch.
- Risks: will hurt you soon after launch (security gaps, missing backups, fragile integrations).
- Can wait: annoying but safe to ship with.
The audit also answers the question every founder asks: should we finish this or start over? The answer is almost always “finish, and rewrite only the parts that fight you.” A full rewrite throws away the 80% you paid for and usually stalls again at the same place, for the same reasons.
Step 3: Staff for finishing, not for building
Finishing is a different job from building. It needs someone who likes reading other people’s code, can prioritize ruthlessly, and has taken products to production before.
In our experience, one senior full-stack developer usually finishes a stalled build faster than two junior ones. Juniors are great at adding features to a healthy codebase. Stalled builds need judgment.
If QA or deployment is a big part of the blocker list, add a specialist for a few weeks: a QA automation engineer to put tests around the critical paths, or a DevOps engineer to set up a deploy pipeline. Then scale back down.
Step 4: Launch small
Ship to a small group of real users before the public launch. Ten paying customers will find problems that no internal test finds, and you will fix them while the stakes are low.
How we approach stalled builds
On the intro call, I go through the brief, confirm the skill profile, and tell you plainly if the project is not a fit for how we work. Most matches happen within a week.
Every placement starts with a paid trial week on a scoped task in your repo, after an NDA. On a stalled build, the audit makes a very good trial task: you get a document you can use regardless, and you see how the developer thinks before committing to more.
The engagement is month-to-month. When the product is live, you can keep the developer on, scale down, or stop. There is no annual lock-in.
The Rig Hut came to us outgrowing its original build. We placed a full-stack team that took ownership of the responsive web app: new flows, performance fixes, and production support. They have stayed on month-to-month for years. The CEO, Jake Guso, says they treat the team like in-house engineers.
If your product has been “almost done” for too long, book a call. Bring the repo link and your launch list, even a rough one.
Questions we get about this
- Should I rewrite my app from scratch?
- Rarely. A full rewrite usually costs more than finishing and resets the 80% you already paid for. Rewrite the specific parts that fight every change, such as a tangled data model or an auth layer nobody trusts, and keep the rest.
- How long does it take to finish a stalled build?
- It depends on what the audit finds, which is why the audit comes first. After a week of reading and running the code, a senior developer can give you a launch list with honest estimates instead of a guess.
- Can a new developer work on code someone else wrote?
- Yes, and on stalled builds that is the normal case. With Hiring.co, an NDA is signed before anyone gets access, and the developer works in your existing repository and tools.
Where to go from here
Case study · The Rig Hut
A responsive web app that scaled with The Rig Hut as orders grew
Read how it shipped →
Hooman Hamzeh
Founder, Hiring.co
Hooman founded Hiring.co, the developer-hiring brand of DevelopingNow. He scopes every engagement before it starts and signs off on each match, so he sees a lot of stalled builds, rushed hires, and the fixes that actually work.