Engineering
Good QA was never about finding every bug. It's about deciding, on purpose and out loud, which bugs are allowed to ship. Here's how that decision actually gets made when the launch date isn't moving.

The most common confusion on a launch week is treating “how bad is this bug” and “how soon do we fix it” as the same question. They're related, not identical. A cosmetic misalignment on a page nobody uses yet is low severity and low priority. A rare crash in the payment flow is high severity even if it only hits one in a thousand users, because the cost of that one occurrence is high. Sorting bugs on severity alone, or on how annoying they are to look at, leads to fixing the wrong things in the last 48 hours.
| Severity | Priority | Example |
|---|---|---|
| High | High | Users can't complete checkout on the primary path |
| High | Low | A crash in a feature flagged off for this release |
| Low | High | A misspelled word on the homepage hero, visible to every visitor on day one |
| Low | Low | A tooltip that's slightly misaligned on one rarely-used settings screen |
Every project heading toward a launch date accumulates an open bug list that doesn't reach zero. The uncomfortable but necessary step is a triage conversation where someone with the authority to decide actually looks at that list and sorts it into three piles: fix before launch, fix after launch, and accept as-is. Skipping this conversation doesn't make the decision go away, it just makes it accidental, decided by whoever happened to be free on the last day rather than by someone weighing the actual risk.
On our projects that's a named person, usually the project lead alongside whoever built the feature, not a group vote. Three questions do most of the work: does this block someone from completing the thing they came to do, how many people will actually hit it, and what happens if we ship it anyway. A bug that fails all three tests (doesn't block, rarely hit, low consequence) is a reasonable thing to launch with. A bug that passes any one of them usually isn't.
Test coverage isn't a single number you either have or don't. It's a sequence, and the sequence matters more than the total. We test in this order, because each layer is only worth doing once the one before it is solid:
A regression suite (the set of automated checks that re-run before every release) grows out of this over time: every bug that escaped to production becomes a test that stops it escaping twice. Early in a build that suite is thin by necessity. By the time a product has shipped a few releases it should be catching most of the obvious regressions before a human ever looks at them.
Every launch I've worked on has shipped with at least one known issue. That's not a failure of QA, it's what a deliberate decision looks like from the outside. The difference between a healthy launch and an unhealthy one isn't the presence of known issues, it's whether they were actually known: written down, assessed, and accepted by someone with the authority to accept them, versus discovered by a customer with no one having looked at it first.
In practice that means a short, visible known-issues list going into launch, each one tagged with what it affects and roughly when it'll be fixed, plus someone actually watching error rates and support messages for the first 48 hours rather than assuming silence means everything's fine. Shipping with a known, small, well-understood gap is a normal engineering decision. Shipping with an unknown one is the thing that actually damages trust.
It doesn't look like zero bugs, that's not a realistic bar for anything non-trivial. It looks like no surprises: a launch where the team can name what's not perfect yet, roughly how much it matters, and roughly when it'll be dealt with, before a customer finds it first. The teams we trust most aren't the ones who never ship a bug, they're the ones who can tell you exactly which ones they decided to ship with, and why.
If you want a second opinion on whether a build is actually ready to ship, talk to us. It's the same judgment we bring to our own development work, and it's often easier to see clearly from outside a project than from inside it.
Kim
Kim finds the bug three days before launch that everyone else was ready to ship around.
Turn an idea into a product, brand, or campaign, with one team from strategy to launch.
start a project
Security
Most breaches aren't clever. They're a reused password, an open storage bucket, an API that trusts whatever the client tells it, or a key that's been sitting in git history for a year. Here's what genuinely moves the needle before launch, and what can wait.
1 Oct 2026 · 10 min read

Brand & Marketing
When a landing page underperforms, the instinct is to rewrite the headline. Nine times out of ten the real problem is further down the page: an unclear offer, proof that shows up too late, or friction right before the button. Fix those first.
20 Sep 2026 · 9 min read

Engineering
The best tech stack for a first build is a boring one: proven, well-documented, and easy to hire for. Here's what “boring” actually means in 2026, the traps that sink second years, and a sensible default to start from.
11 Sep 2026 · 10 min read