All articles
Engineering

7 mistakes startups make building their first app

6 min read

Most first products do not fail because the team could not build them. They fail because the team built the wrong thing carefully, or the right thing on a foundation that could not carry a second year. These are the mistakes we see repeatedly — including in our own early work.

Short version: scope too wide, decisions deferred that are expensive to reverse, and no plan for the day after launch. Almost every expensive rebuild traces back to one of those three.

1. Building everything before learning anything

The instinct is to launch complete, because a partial product feels embarrassing. But every feature you build before anyone uses the product is a bet placed blind, and most of them lose. The cost is not only the wasted build — it is that a large surface area is slower to change precisely when you most need to change it.

Instead: name the one assumption that, if wrong, makes the whole thing pointless. Build the smallest honest thing that tests it. Ship that.

2. No single person who can decide

Projects rarely stall on technical problems. They stall waiting for an answer that three people each believe is somebody else’s to give. A week of ambiguity about one screen costs more than a hard week of engineering, because engineering can be scheduled and ambiguity cannot.

Instead: nominate one person who can settle a question within a day, and tell the team who it is. They do not need to be technical. They need to be reachable and willing to be wrong occasionally.

3. Treating one-way doors as if they were reversible

Some decisions are cheap to change and some are not, and the difference is not obvious from the outside. Button colours, copy and layout are reversible in an afternoon. How you model tenancy, how you store money, whether records are overwritten or effective-dated, and what your identifiers look like are not — they propagate into every table, every report and every integration.

Instead: ask your team which decisions this week are hard to undo, and spend the argument budget there. On our own payroll product, storing money as exact integers and never overwriting a record were decided before the first table existed, because retrofitting either would have meant rebuilding.

4. Testing only with data you invented

Software behaves differently when the names have apostrophes, the addresses are in three lines, the phone numbers have country codes, and somebody has entered the same customer twice with different spellings. A product that has only ever seen tidy seed data will meet all of that on day one, in front of a real user.

Instead: get a sample of real data, anonymised, into the system as early as you can bear.

5. Polishing the demo, ignoring the surfaces people live in

Founders demo the landing page and the dashboard. Users spend their day in the list view, the search box, the export, and the form they fill twenty times. Those are the surfaces that decide whether the product is a relief or a chore, and they are usually the last to get design attention.

Instead: ask which screen the heaviest user will see most often, and design that one first.

6. Launching with no way to see what happened

Without logging, error reporting and a couple of honest metrics, launch is followed by silence that could equally mean success or failure. Teams then argue from anecdote for weeks.

Instead: before launch, be able to answer three questions: is it up, is it erroring, and did anyone complete the thing the product exists to do?

7. No plan for the day after launch

Launch is the beginning of the maintenance period, not the end of the project. Dependencies get security advisories, certificates expire, the first real load arrives, and somebody has to answer at 2am. A build with no owner afterwards degrades quietly for months, and the bill arrives as a rebuild.

Instead: agree who is responsible after go-live, on what terms, before you launch — not after something breaks.

Every expensive rebuild we have been asked to quote for started as a reasonable decision that nobody wrote down, made by somebody who had left by the time it mattered.
Key takeaways
  • Build the smallest thing that tests your riskiest assumption; everything else is a blind bet.
  • One reachable decision-maker is worth more than an extra developer.
  • Spend your argument budget on decisions that are expensive to reverse.
  • Real data early; invented data hides the problems that will actually occur.
  • Design the screen the heaviest user sees most, not the one you demo.
  • Decide who owns the software after launch before you launch.

The takeaway

None of these are technical failures, which is why technical talent alone does not prevent them. They are decisions about scope, ownership and sequencing — cheap to get right at the start and expensive at every point afterwards.

If you are about to start a first build, talk it through with us before the one-way doors get decided by default. You can also read how we scope an MVP.

Have a project in mind?

ZIVARA builds custom web, mobile, cloud and AI software — and our own products. Let's talk about what you want to ship.

Get in Touch