← Insights
decision

Red Flags in a Software Vendor Proposal

Three confident proposals on your desk and no way to tell senior from theater. The tells of a dev shop versus an architecture partner, and the questions

Three proposals are open on your desk. All three are confident. All three promise senior engineers, a proven process, and a timeline that sounds aggressive in the good way. The decks are clean. The references check out. And you, a non-technical founder evaluating a build that will define the next two years of your company, have no reliable way to tell which one is a senior architecture partner and which one is a competent-looking dev shop that will hand you a system needing a rewrite in 18 months.

The fork: pick on price and timeline, which is what the proposals are engineered to make you do, or learn to read the tells that separate depth from theater before you sign a six-figure commitment.

The stakes

The wrong pick is not a wasted month. A system built without architectural intent typically works well enough to validate your hypothesis and then can't support the next phase — meaning you've spent $80k–$200k and six months to discover, at the worst possible moment, that the foundation needs replacing. The rebuild runs another $150k–$300k and competes with everything else you need to be doing.

The cruelty is in the timing. The flaws don't show up at handoff, when you could still do something about them. They show up six months later, under load, during a raise, when your new CTO candidate does a code review that makes them pause — or when the first enterprise customer's scale reveals the schema decisions made in week three. By then the vendor is gone, the money is spent, and the proposal you should have read more skeptically is a contract you already signed.

The proposal is the only artifact you get before the money moves. It's the cheapest possible place to catch the mismatch. Read it like it matters, because it's the last moment it costs you nothing.

The dev-shop tells

A dev shop and an architecture partner write different proposals, and the differences are legible once you know where to look.

The proposal is a feature list with hours attached. A dev-shop proposal reads like a menu: login (40 hours), dashboard (60 hours), payments (80 hours). It maps your spec to labor and prices the labor. What's missing is any sign that someone asked what the system needs to be — how the data should be modeled, what it looks like at 10x load, what happens when you add the feature that isn't in the spec yet. The proposal builds what you asked for. It does not interrogate whether what you asked for is what you need.

It accepts your spec uncritically. A senior partner pushes back on your requirements before quoting them. If a vendor reads your spec and comes back with a price and no questions, that's a tell — either they didn't think hard about it, or their business model rewards building exactly what's written rather than what's right. The proposals that should worry you are the agreeable ones.

The team is abstract. "Senior engineers" with no names, no individual experience, no indication of who specifically architects the data model versus who writes the CRUD endpoints. Dev shops sell capacity. The skill distribution behind "senior team" can be one architect and four juniors, and the proposal is written precisely so you can't tell.

It ends at handoff. The engagement is scoped to delivery. Nobody in the proposal is accountable for how the system behaves in production, because the people who made the data-model decisions will be on another client by then. Watch for the absence of anything past the ship date — no operability, no monitoring, no "here's what owning this looks like."

The timeline is suspiciously clean. A proposal with no risk discussion, no "here's what could go wrong," no phase where assumptions get validated, is selling certainty that doesn't exist. Real builds have unknowns. A proposal that pretends otherwise is either naive or marketing.

What an architecture partner's proposal looks like instead

The contrast is sharp once you've seen both. An architecture-first proposal spends its opening not on features but on understanding — what the system has to do, what it has to survive, where the hard problems are. It names the load-bearing decisions before it names the deliverables: the data model, the integration boundaries, the parts that are expensive to change later and therefore have to be right early.

It pushes back on your spec. It says "you asked for X, but if you mean to do Y next year, X should be built differently, and here's the difference in cost now versus the cost of retrofitting later." That sentence — the cost of doing it right now versus the cost of fixing it later — is the signature of a partner who's thinking about your 24-month future instead of their next invoice.

It names the people and what they'll own. It includes a phase for validating assumptions before committing to the full build. And it talks about handoff as a deliverable in itself — documentation, the ability for a team that didn't build it to run it, the absence of key-person risk on their side.

The questions that expose depth

You don't need to be technical to run this test. You need five questions and the discipline to listen for whether the answer has substance or just confidence.

"What does this system look like at 10x our current scale, and what would you have to change?" A partner answers specifically — here's the bottleneck, here's the part we'd design to scale now versus later. A dev shop says "it'll scale fine" and moves on. The first answer is engineering. The second is reassurance.

"What's the hardest technical decision in this build, and what are the options?" A senior team has already located the hard problem and can lay out the trade-offs. A team that says "nothing too hard here" either hasn't thought about it or is hiding that they haven't.

"When you hand this off, what does my team need to run it, and what happens if the one person who understands a part leaves?" Listen for whether they've thought about operability and key-person risk at all, or whether their mental model ends at the ship date.

"What in our spec do you disagree with?" The most revealing question you can ask. A partner has opinions about your requirements. A vendor with no disagreements is either not thinking or not telling you.

"How do you handle the things we'll discover mid-build that aren't in the spec?" Every real build has these. A mature answer describes a process. An immature one describes a change-order pricing schedule — which tells you they've optimized for billing the discovery rather than absorbing it.

The pricing and scoping red flags

The commercial structure leaks intent as much as the technical content does.

A fixed price for an ambiguous spec. A precise number on a vague scope means one of two things: they've padded the price to cover their risk, or they've quoted the literal spec and every clarification becomes a change order. Both end badly. Genuine fixed-price needs a genuinely fixed scope, and most early builds don't have one.

Change orders as a profit center. If the contract's structure makes its money on changes rather than on the core build, the vendor is incentivized to scope narrowly and bill the inevitable evolution. Read how change orders are priced. If they're where the margin lives, you've found the business model.

A price that's notably lower than the others. In senior software work, the cheap bid is rarely a bargain — it's usually a different, smaller scope dressed in the same words, or a junior team at a senior price point. The gap between the low bid and the others is information. Ask what the low bid isn't including.

No phase boundaries. A proposal that's one undifferentiated block from kickoff to launch gives you no point at which to evaluate and exit. Good proposals have a discovery or architecture phase you can judge before committing the full budget. The absence of an early off-ramp is the absence of accountability.

Vagueness about who owns the code and the IP. If the proposal is unclear on ownership, assignment, and what you walk away with, that ambiguity is not an oversight. It's a future negotiation you'll have from a weak position.

How we'd decide

Lay the three proposals side by side and ignore the timelines and the headline prices first. Score them on a different axis: which one demonstrates that someone thought about your system rather than just your spec. Which pushed back. Which named the hard problem. Which talked about life after handoff. Which was honest about risk.

Then run the five questions on a call and listen for substance versus reassurance. The vendor who gives you specific, occasionally uncomfortable answers — "here's what's hard, here's what we'd argue with, here's what could go wrong" — is showing you the judgment you're actually buying. The vendor whose every answer is smooth is selling you the absence of friction, and friction is where the engineering lives.

The failure mode is optimizing the decision on the two variables the proposals were designed to compete on — price and timeline — because those are the easy ones to compare and the worst ones to choose on.

What fixed looks like

You can read a proposal the way a technical diligence engineer reads a codebase: not for the polish, but for the judgment underneath. You can tell, before signing, whether the vendor thought about the system or just the spec, whether they'll be accountable past handoff, and whether the price reflects the real scope or a narrowed one. The five questions become a standard screen you run on every vendor, and the answers sort the partners from the shops in a single call.

You stop picking on price and timeline. You start picking on demonstrated depth — and the build you commit to is one that's still standing when the load arrives and the raise begins.

This is for you if

You're a non-technical founder or operator with serious vendor proposals on your desk and a build that matters, and you can't reliably tell which proposal is senior and which is theater. You want a technical read before you sign.

A proposal-review engagement runs $50k+ when bundled with the architecture work, and we also do focused vendor-selection reviews: we read the proposals as engineers, run the depth questions on your shortlist, flag the scoping and pricing structures that signal a dev-shop business model, and tell you which vendor is actually buying you a system versus selling you hours.

This is not for a small, well-specified build where any competent shop will do — if the scope is genuinely simple and stable, you don't need this. It's for the build that will define your next two years, where the difference between a partner and a shop is the difference between a foundation and a rewrite, and the proposal is the last moment that difference is cheap to catch.