Designing systems that survive the next funding round
The raise is supposed to be the good news. New money, new runway, permission to go faster. For a lot of founders it is also the moment their technology quietly becomes a liability. The architecture that got them to the round cannot handle what the round now expects of them. The thing that was invisible while they were small becomes public and load-bearing at the exact moment the stakes are highest. This article is about building for that moment on purpose. Not for a company ten times your size. For the company the raise is actually about to make you.
Two pressures arrive on the same day
A funding round changes what is asked of your technology in two ways, and they show up together.
The first is growth. The money exists to fuel it. That means more users, more data, more load, and all of it arriving faster than before, on a timeline you agreed to in the pitch. The architecture that comfortably served a small base gets asked to serve a much larger one, fast. Nothing about the code changed. The demand on it did.
The second is scrutiny. A serious raise comes with technical due diligence. The investors bring in someone competent and technical to look under the hood before the money moves. Weaknesses that never mattered when no one was looking suddenly matter, because now someone is looking, and their opinion decides whether the round closes on the terms you want.
The reason this is hard is that the two compound each other. Either one alone is manageable. Growth alone, you can engineer your way through over a few quarters. Scrutiny alone, you can survive with an honest conversation. But they land on the same day. You are being asked to prove the system can carry the growth at the very moment the growth starts to expose it. The weak spot and the spotlight arrive together. That is the whole problem in one sentence: the raise turns your architecture from a private convenience into a public promise, right when it is about to be tested hardest.
What technical due diligence actually is
If you have never been through it, due diligence sounds like an audit. It is calmer than that, and more dangerous.
Someone technical, brought in by the investors, sits down with what you built. They look at the architecture. They read some of the code. They ask how the team works and who understands what. They poke at the obvious risk areas. They are not trying to catch you. They are trying to answer one question for the people writing the check: if we put this money in, will the technology carry the plan, or will it quietly eat the runway?
The point is not perfection. No one expects a clean, elegant, fully-tested system from a company that has been surviving. What they are looking for is whether the thing is sensible, defensible, and free of the problems that make an experienced person nervous. There is a standard underneath it that is worth naming, because it is a good standard even when no one is raising. Would this survive honest scrutiny from a competent stranger. That is it. If yes, the raise is a formality. If no, the raise is where you find out.
It helps to know what actually raises alarms in that room, because it is rarely what founders expect. Here is what makes a reviewer nervous:
- No tests anywhere, so no one can change anything safely
- One database doing every job, holding on by luck
- Exactly one person who understands how the whole thing fits together
- Hard-coded assumptions that were true two years ago and are load-bearing now
- No monitoring, so the team finds out it is down when a customer tells them
- A scary dependency the whole product rests on, unmaintained or one invoice from disappearing
Walk through why each of these frightens someone competent. No tests means every change is a gamble, so the team either moves slowly or breaks things, and the money is about to demand they move fast. One database doing everything means the first real load spike is also the first outage, and there is no seam to relieve the pressure. One person who understands the system means the plan has a single point of failure with a pulse, and that person can quit, burn out, or get hit by the proverbial bus. Hard-coded assumptions mean the reviewer cannot tell what else is quietly wired shut. No monitoring means the team is flying blind and does not know it. A scary dependency means the foundation belongs to someone else.
None of these is a bug. That is why they are so easy to ship past. Each one is a reasonable shortcut that a small, busy team made to survive, and none of them cost anything while the company was small and unwatched. They cost everything the moment a competent stranger is deciding whether the technology is worth funding.
Now the reassuring half. What builds confidence in that same room is not brilliance. It is evidence that the team knows where its own risks are. A reviewer relaxes when they see tests around the parts that matter, a system split along sensible seams, more than one person who can explain the whole, monitoring that means the team hears about problems before customers do, and a founder who can say here is the weak part, here is why, and here is the plan. Knowing your own soft spots and having a plan for them beats pretending you have none. The reviewer has seen a hundred systems. They are not looking for a perfect one. They are looking for one run by people who are honest about what they built.
Build for the next stage, not the final one
Once a founder feels these two pressures, the instinct is to over-correct. If the reviewer might flinch, and the growth might spike, then build the bulletproof thing now. Build the architecture of the company you are trying to become. This is a real trap, and it is worse than doing nothing, because it feels like diligence while it wastes you.
Building the system of a company ten times your size, when you are not that company and may never be, is not caution. It is waste in a nicer suit. You spend months solving problems you do not have. You add layers, services, and abstractions to handle a scale that exists only in the deck. You slow the present down to serve a future that has not arrived and might never. It is the same mistake as building too little, just harder to spot, because it looks responsible.
The right target is not the final stage. It is the next one. Build for where the raise realistically takes you in the next year or two. Give yourself enough room to get there without a painful rebuild. Then stop. If the round is meant to take you from ten thousand users to a hundred thousand, build for a few hundred thousand, not ten million. The extra order of magnitude beyond your real horizon is not safety. It is a bet you were not asked to make, paid for with the time and money the raise was supposed to buy you.
I have been on the wrong side of both of these with Stack Learner. I founded it as an ed-tech platform and rebuilt it more than once over roughly a decade. Early on I built for the wrong stage more than once. Sometimes too small, sometimes too clever for what we actually were. The lesson that finally stuck was not build bigger or build smaller. It was build for the stage you are honestly about to enter, and be honest about which one that is. The number of times I paid to undo a foundation built for a company we were not is exactly the number of times I learned to aim one stage ahead and no further.
What must scale, and what must not be gold-plated
The skill inside all of this is separation. Not every part of your system needs to survive the growth. Some parts carry almost all of it. Some parts carry almost none. Treating them the same is how you either under-build the important half or gold-plate the trivial half, and both are expensive.
Sort your system into two piles before you spend a dollar preparing for growth:
- The load-bearing parts: the core paths every user hits, the systems that carry the most traffic, the ones that feel growth first and hardest
- The rest: internal tools, rarely-used features, admin screens, anything that touches few people or runs occasionally
The load-bearing parts are where preparation pays. If your product is a marketplace, the search, the listing page, and the checkout are load-bearing, because every user rides them and they feel a traffic spike within seconds. Those deserve real thought about how they behave at ten times the load. The rest does not. The internal dashboard three people open once a day can stay slow and ugly. Making it beautiful and infinitely scalable is not a bonus. It is theft. Every hour spent making the closet shelves elegant is an hour stolen from the walls that actually hold the house up.
I watched this line matter on a serverless rebuild I did for an outdoor-lighting company. The old system had been built for a scale it never expected to reach, and as the business grew the old foundation started to buckle under the parts that took real traffic. The rebuild was not about making everything scale. It was about being ruthless about which parts actually felt the load and which parts just sat there. The customer-facing paths that took the volume got built to handle it. The back-office pieces that a handful of staff touched did not get the same treatment, because spending on them would have bought nothing. Growth does not press evenly. It presses hard on a few paths and barely at all on most of them. Find the few. Spend there.
Leave yourself room, not concrete
There is a mindset that survives the funding round better than any specific technology choice. Make your foundational decisions so they can evolve. Leave room. Do not pour concrete.
In practice that means favoring choices that can change later over choices that lock you in. It means keeping clean boundaries between the parts of your system, so one piece can be rewritten or scaled without disturbing everything around it. It means refusing decisions that quietly assume you will always be exactly the size you are today. The one-size-per-forever assumption is the one that hurts, because the whole point of the raise is that your size is about to change.
You are not trying to build the final system. Nobody knows what that is, including you, and the raise exists precisely because the shape of the company is about to move. You are trying to build a system that can become the next system without being torn down. That is a different goal, and it produces different decisions. It makes you draw seams where you might otherwise have fused things together. It makes you keep a boundary you could have collapsed for a short-term convenience. It costs a little now, in exactly the moments when fusing things would have felt faster.
That small cost is the whole trade, and the trade is heavily in your favor. Room is cheap to leave while you are building. It is expensive to reclaim once everything has grown together around the missing seam. The clean boundary you kept in year one is the reason you can scale one piece in year two without touching the other five. The boundary you collapsed to save a day is the reason a simple change in year two rips through everything. You are not predicting the future. You are refusing to bet against it.
The balance is the actual skill
Everything above is a balance between two failures, and naming both is the only way to find the middle.
Build too little, and the architecture becomes the bottleneck that chokes the very growth the raise was meant to fund. Worse, it is the thing the reviewer flinches at, so it does not just slow you down, it worries the people deciding whether to fund you at all. You raised money to grow and built something that cannot.
Build too much, and you waste the same money the other direction. You spend the runway engineering for a scale you do not have and may never reach. You slow the present down to serve an imaginary future. You look diligent and you are quietly bleeding time. You raised money to move and built something too heavy to move.
The systems that survive the raise live in the middle, and the middle is not a formula. It is judgment. It is knowing which stage you are actually entering, not the one on the slide. It is knowing where the growth will actually land, so you reinforce those paths and leave the rest alone. It is being honest enough about your own weak spots that the reviewer's questions do not surprise you. None of that is a technology you can buy. It is a read on your own company that you either have or have to develop.
Here is the read to develop. Before you prepare any part of your system for the raise, ask two questions about it. Does the growth this money buys actually land here. And if a competent stranger looked at this part next month, would it make them nervous. Where both answers are yes, spend real care. Where both are no, leave it alone and move on. That single filter keeps you off both cliffs at once. It stops you gold-plating the closet, and it stops you shipping the one database and the single point of failure into the room where the check gets written.
The raise is not the test. The raise just turns the lights on. Build so the lights are a tailwind, not the moment your foundation becomes a liability. Aim one stage ahead, honestly, and leave yourself room to aim again. Room is cheap to leave. Concrete is expensive to break.
Notes on building things that last
Occasional writing on product, engineering, and building a company, sent when I have something worth saying. No noise.
No spam. Unsubscribe anytime.