Pre-seed tech planning before you hire or outsource
Pre-seed tech planning helps founders write a simple system plan, risk list, and delivery assumptions before they hire a team or pay an agency.

Why early tech work goes off track
Early product work usually slips for a simple reason: the founder can see the product clearly, but nobody else can. The idea lives in calls, voice notes, and scattered messages. A designer hears one version. A developer hears another. An agency fills the gaps with guesses.
That gap gets expensive fast. When scope stays vague before the first sprint, teams spend days on the wrong questions. They debate features that should wait, build flows that do not fit the business, or miss small details that later block launch. A founder thinks they bought two weeks of progress. In reality, they paid for confusion.
Estimates also break down when basic system choices are still open. If nobody knows whether users need different roles, whether payments happen at launch, or whether the product needs admin tools from day one, no quote means much. The number may look precise, but it rests on missing decisions.
A small example makes this obvious. A founder says, "We need a booking SaaS for service businesses." That sounds clear until the team asks a few normal questions: Who can create bookings? Do customers pay online? Do staff need calendars and permissions? Does the owner need reports or an admin panel? Will it send email or SMS reminders?
Each answer changes the cost, timeline, and who you need to hire. Without those choices, one team prices a simple app and another prices a much larger system. Both may sound reasonable, and neither estimate helps much.
That is why planning should start with a short system plan, not a sprint. You do not need a thick spec. You need a plain-language document that says what the product does, what the first version includes, what the system must connect to, and what can wait.
A short plan will not remove every surprise. It does something better: it gives everyone the same starting point. That alone can save weeks and a painful first invoice.
Put the product on one page
A one-page product brief keeps early work honest. If you cannot explain the product in a few minutes, a developer, agency, or even a cofounder will fill the gaps with guesses. That is where scope grows, costs jump, and the first build misses the point.
Start with four plain answers. Who is the user? What problem annoys them enough to try something new? What is the single job your product does? Why is that job worth doing now?
Keep the wording concrete. "Small gym owners lose bookings because they manage classes in chat" tells a team far more than "We improve scheduling for wellness businesses." The second line sounds polished, but it does not tell anyone what to build.
The same page should show the first three actions a user takes. Keep them simple: sign up, create the first item that matters, then share, book, pay, or complete the main task. Those first actions shape the whole system. They tell you which screens you need, what data you must store, and what can wait. If the first three actions feel fuzzy, the product is still fuzzy.
Add a short "out of version one" note. This saves real money. Founders often skip it, then approve extras during delivery because each extra sounds small on its own. Advanced reports, multiple user roles, custom workflows, mobile apps, and deep integrations often belong on the later list unless the product fails without them.
A simple test works well here. Give the page to someone who knows nothing about the idea. After five minutes, they should be able to say who it is for, what it fixes, what the user does first, and what you are not building yet.
That is enough detail to start useful conversations with a freelancer, agency, or Fractional CTO. It is also short enough that you will actually update it when the idea changes, which it probably will.
Sketch the system in plain language
Your first system sketch should fit on one page. Boxes and arrows work better than a long spec at this stage. If a non-technical founder cannot read it in five minutes, the sketch is too detailed.
Draw only the main parts. Most early plans need four or five boxes: the user app, the database, the admin area, and any outside tools for payments, email, or file storage. Use plain labels such as "payment service" or "email tool" instead of vendor names unless you already made a fixed choice.
That small habit helps more than people expect. Tools change. Prices change. A vendor may look fine now and become a problem after launch. Plain language keeps the plan focused on what the product must do, not on brands you might replace.
Then map the path of user data. Show where data enters, where it moves, and where it gets stored. A user signs up in the app, the app sends account details to the database, the payment service confirms a charge, and the admin area shows the result to your team. If users upload files, mark where those files go and who can open them later.
Add short notes beside the parts that carry more risk. Mark which actions need a login, which ones take a payment, which ones send an email or text, which ones upload or download files, and which ones staff can change in the admin area.
This sketch does not need technical depth. It needs enough detail that a developer, agency, or Fractional CTO can estimate the work without guessing. When teams skip this step, they often build the happy path first and discover later that refunds, password resets, file permissions, or admin edits were never planned.
A simple system map also exposes missing decisions early. If you cannot point to where customer data lives, who can edit it, or what happens after a failed payment, the plan is still too fuzzy to hand off.
Write delivery assumptions step by step
Good early planning is mostly about removing fake certainty. You do not need a full roadmap yet. You need a short set of assumptions that explains what the first version includes, how a team would deliver it, and what could change the cost.
Start with one user flow only. Pick the first thing a real customer must do to get value, then write it in plain steps. If your product turns raw data into a report, the flow might be: sign up, confirm email, connect a file, wait for processing, and view the report.
Once that flow is clear, write the delivery assumptions in order. List the screens or pages that flow needs, and keep the list small. You might need a landing page, sign-up, login, dashboard, upload screen, report screen, and a basic settings page.
Then mark what the team can reuse. Authentication, billing, email sending, admin panels, and analytics often come from existing tools. The custom work is usually the part that makes the product different.
Next, write down what the team must build from scratch. Be specific. "Custom booking logic" is useful. "Backend work" is not.
After that, note what can stay manual in version one. Maybe refunds happen by email. Maybe support imports data by hand. Maybe staff handle edge cases in the admin area instead of building full automation. Manual steps are often the right trade-off early on.
Finish by defining what "done" means for sprint one. Keep it narrow. One clean user flow that works end to end is enough. If the team can ship that, test it with users, and learn from it, the sprint did its job.
Make a risk list you can act on
A risk list works only if it is short and blunt. At this stage, you do not need a polished register with ten columns. You need a page that names what could go wrong, how much it hurts, and what you will do this week to reduce the risk.
Start with three buckets: product, technical, and business. Product risks come from fuzzy scope, extra features, and unclear user flow. Technical risks come from hard integrations, rate limits, security gaps, or a stack nobody on the team can run. Business risks are the ones founders often skip, such as compliance, weak pricing, or slow customer feedback that leaves you building in the dark.
Use a simple score for each risk. High cost means it can burn cash fast. High delay means it can push launch by weeks. High customer impact means users will hit the problem early and notice it.
Then attach one action to every serious item. One action, not a rescue plan. That keeps the list useful.
If scope keeps changing, lock one version of the MVP and move every new idea to a later list. If the product depends on a third-party API with unknown limits, build a tiny test against that API before any full sprint starts. If nobody on the team knows the hardest part of the stack, pay for a short architecture review or bring in Fractional CTO advice before hiring. If compliance is unclear for user data or payments, map what data you collect and ask a specialist one focused set of questions. If customers answer slowly and pricing is still a guess, run a short interview round and test price points before adding more features.
Good planning is less about predicting everything and more about finding the expensive unknowns early. If a risk is high and you cannot reduce it with a small test, put it in front of the hiring and outsourcing decision instead of burying it in a spreadsheet.
Example: a small booking SaaS
Imagine a booking tool for a local clinic, tutor, or salon. The business needs a public page where customers can pick a time, and staff need a simple back office to manage changes. It looks small, which is why it is a useful planning example.
The first release only needs a few jobs. A business signs up, sets working hours and services, accepts bookings, and sends reminders. Staff can open an admin screen to move, cancel, or correct appointments without asking a developer.
A plain first system plan might include one web app for both the booking page and the admin area, one database for users, services, slots, and appointments, one background worker to send reminders and handle timed tasks, and one external payment provider for paid plans or deposits.
Keep the assumptions tight. Launch in one region first so time zones, tax rules, and language do not spread the team thin. Skip a mobile app and use a responsive web app. Stick to one payment provider until people actually pay and complain.
The calendar part is where teams often get surprised. If you promise calendar sync with Google or Outlook too early, double bookings and stale availability can show up fast. A safer first release usually treats your own booking calendar as the source of truth, then adds outside sync after real demand appears.
No-show rules also sound easy until customers start testing them. Do you allow free cancellation one hour before the appointment, or twenty-four? Do you charge deposits? Do reminders go out once or twice? These are product rules, not tiny details, and they can drive support volume.
Support load is the other obvious risk. Owners forget passwords, customers book the wrong service, and staff want bulk edits after a holiday schedule changes. If the founder assumes "almost no support," the plan is too optimistic.
This is the kind of short brief a Fractional CTO should hand back before anyone estimates a sprint. If the one-page draft already feels crowded, the scope is still too wide.
Mistakes that waste money early
Most early waste starts before anyone writes code. A founder gets excited, hires a team, and only then tries to define scope. That flips the order. If version one is still moving, every new idea changes estimates, screens, data rules, and testing. Small changes pile up fast.
A common trap is asking for a fixed quote without fixed assumptions. If the team does not know what the product must do, what systems it depends on, who will use it first, and what "done" means, the quote is mostly a guess. You do not get cost certainty. You get change requests later.
Tool choices burn money too. Founders often pick a stack because it sounds current or because another startup used it. That is rarely a good reason. The right tool is the one your team can run, change, and debug without drama. Simple tools usually win early.
Budgets also ignore the work around the product. The app is only part of the job. Someone still needs to handle admin screens, user support, refunds, data imports, bug triage, logs, alerts, and messy records from spreadsheets or old systems. If nobody prices that work, it still exists. It just shows up later as delay.
Ownership problems are worse because they stay hidden until you want to switch vendors. Before any sprint starts, name who owns the source code and repositories, cloud accounts and billing, domains and messaging accounts, deployment access and secrets, and the systems used for analytics, backups, and error tracking.
If a contractor creates everything under their own accounts, you are renting your own product.
One simple rule helps: pay for a short system plan before you pay for delivery. A good plan locks scope, states assumptions, names risks, and lists who controls what. That costs far less than rebuilding after a rushed hire.
Quick check before you hire or outsource
You should be able to hand over a short pack of notes and get roughly the same estimate from three different teams. If every team tells a different story, the plan still has gaps. Good planning is small, clear, and hard to misread.
Start with the product on one page. That page should say who the first user is, what problem they need solved, and the exact first flow they will complete. Keep it concrete. "User signs up, connects calendar, creates one booking page, and gets paid" is useful. "Users manage appointments easily" is too loose.
Then add one simple system diagram. It does not need formal notation. Show the app, database, admin area, and any outside service such as email, payments, login, or AI. The point is to expose dependencies early, because outside tools often decide cost, speed, and support work later.
A solid handoff pack usually has five parts: a one-page product summary with the first user flow, a plain system diagram with outside services, a short list of assumptions that affect scope, cost, or timing, a risk table with likely failures and the first response to each, and a short "not now" note that cuts non-essential work.
That assumptions list matters more than many founders expect. Write down anything that could change the build: mobile web first, no custom roles yet, one payment provider, English only, manual admin support for edge cases. These choices can save weeks.
The risk table should stay simple. Name the risk, the damage if it happens, and what you will do first. For example, payment onboarding might delay launch, so test it before design polish. Calendar sync might fail for some users, so offer manual confirmation at launch.
The last note is often the most useful. Say what you will not build yet. Teams waste real money when nobody draws that line. A quick review from someone experienced can catch weak assumptions before sprint one starts.
What to do next
Your notes should now fit into a brief that someone else can read in 10 minutes and discuss in 30. That is the point: reduce guesswork before you spend money on a team, an agency, or a rushed first sprint.
Keep the brief short. If it grows into a long spec, people will skim it and fill the gaps with their own assumptions. A plain document works fine if it covers the product, the system, the risks, and what the first version must prove.
A useful brief usually includes the user problem and the first user flow you want to ship, a simple system sketch in plain language, delivery assumptions including what you will fake, delay, or do manually, the short risk list with the top items to test first, and the result you expect from sprint one.
Then send that brief to candidates or agencies and ask better questions. Do not ask only for a quote and a timeline. Ask where they think your plan is weak, what they would remove, and which assumption they would test first. A strong builder will challenge the scope. A weak one will just price every line.
Keep the first sprint narrow. One clean user flow is enough. For a booking SaaS, that might mean a user signs up, creates one booking page, shares it, and receives one confirmed booking. Skip admin polish, edge cases, and deep integrations until that path works.
If two builders give very different advice, your brief still leaves too much open to interpretation. Tighten the assumptions and ask again.
If you want a second opinion before you commit, a short review from an experienced CTO can help. Oleg Sotnikov at oleg.is works with startups and small teams on scope, architecture, and hiring decisions, and this kind of review is often enough to catch expensive mistakes before they turn into a contract.