Field Note · Published · 6 min read
Deterministic Numbers, Assisted Words
Sync Quote Gen taught me where AI belongs in a business document and where it absolutely does not. The totals are never negotiable. The narrative can be — within a fallback that always works.
- Sync Quote Gen
- AI Governance
- Document Automation
Every Synchronos proposal starts with a bill of quantities — often hundreds of line items across automation, AV, lighting, security and interiors — and ends, commercially, with a document a client has to be able to read and decide on. For years the distance between those two things was hours of manual formatting per proposal, done by hand, by whichever estimator had the time. Sync Quote Gen exists to close that distance, and building it taught me something specific about where AI genuinely helps in a business-critical document and where it should never be allowed near the wheel.
Where the line has to sit
The BOQ parsing, the calculations, the totals, the layout structure — all of that is deterministic. The same input produces the same output, every time, with no variation and no interpretation involved. This isn't a design preference; it's a requirement that follows directly from what the document is for. A client reading a proposal is making a financial decision based on the numbers in it. If those numbers could vary run to run because a language model interpreted the spreadsheet slightly differently on a re-generation, the document stops being trustworthy in the one way that actually matters.
The narrative sections — the descriptive text explaining what's being proposed and why — are a different category. Words have more acceptable variation than numbers do. A slightly different phrasing of the same accurate content doesn't change what the client is agreeing to. That's the boundary: numbers are never negotiable, words can be assisted.
Why the fallback matters more than the AI feature
The part of this system I'm proudest of isn't the AI-assisted narrative generation. It's the fact that the narrative generation has a deterministic, template-based fallback that produces a complete, usable proposal even with no AI provider configured at all — the tool runs fully offline in that mode. This wasn't an afterthought bolted on for resilience theatre. It was a design requirement from the start, because a proposal tool that stops working the moment an API call fails, or an AI service has an outage, or someone simply hasn't set up credentials yet, is not a tool an operations team can actually depend on.
The AI-assisted mode makes the narrative read more naturally and saves editing time. The fallback mode makes the tool trustworthy regardless of anything outside the estimator's control. Both things are true, and I don't think the first would be worth building if the second didn't exist first.
Checking the machine's own output
The other decision that mattered was refusing to treat "the document was generated" as the same thing as "the document is correct." A financial QA pass runs after generation and verifies that the proposal's totals actually match the parsed BOQ input — catching the class of error where something in the rendering pipeline silently drifts from the source numbers. A separate layout QA pass, using a real browser engine, verifies that the document paginates correctly rather than clipping content awkwardly across page breaks, which matters more than it sounds like it should when a client's first impression of a proposal is a page break landing in the middle of a table.
Neither check is glamorous. Both catch real problems that generation alone doesn't. The habit I took from this, and now apply to how I think about any AI-assisted output that matters commercially, is that generation and verification are two separate steps, and treating them as one step is where trust quietly erodes.
Why this split isn't as obvious as it sounds in hindsight
It's tempting, describing this after the fact, to make the numbers-versus-words split sound like an obvious design decision. It wasn't, at the time. The pull toward letting AI assistance touch more of the pipeline — including the calculations, including the totals — was real, because the pitch of "just let the model handle it end to end" is genuinely appealing when you're trying to move fast. What stopped that pull from winning was a specific, concrete worry: a proposal is a financial document a client acts on, and if the totals in it can drift because of how a model happened to interpret an edge case in a particular BOQ format that week, the entire document loses the one property that actually matters to a client deciding whether to sign it. The deterministic core isn't a limitation the tool works around. It's the whole reason the tool can be trusted with something commercially consequential in the first place.
What this changed for the estimators using it
Before this tool, an estimator's afternoon might be consumed by formatting — making sure totals lined up, making sure the document didn't look different from the last one someone else produced, catching a copy-paste pricing error by re-checking manually. What's shifted is that the manual work is now review rather than production: the deterministic pipeline handles formatting and arithmetic correctly by construction, and a human's attention goes to whether the proposal actually represents the right scope for this specific client, which is a better use of an estimator's judgment than chasing formatting consistency by hand.
What's still a limitation
I want to be honest that "AI-assisted narrative with a deterministic fallback" doesn't mean the AI-assisted mode is infallible when it is used — it means the tool degrades gracefully rather than failing outright when AI assistance isn't available. The narrative text produced with AI assistance still gets human review before a proposal goes out, and it should; I wouldn't trust unreviewed AI-generated language in a client-facing commercial document regardless of how good the underlying model is, because "usually accurate" isn't the same bar as the deterministic guarantee the numbers carry. That review step is a real cost in time, and I don't think it should be removed just because the tool has gotten more capable. Some parts of this pipeline earn full automation. The narrative, so far, has earned assistance — not autonomy — and I'm not in a hurry to change that distinction just because it would save a few more minutes per proposal.