Turning complex RFPs into a trustworthy and editable workspace for bid evaluation
Jain is an AI bidding platform for janitorial contractors, built inside 25madison, a venture studio that builds companies from the ground up. I designed the human-in-the-loop layer that makes AI-generated RFP (Request for Proposal) analysis editable, so estimators can correct it, review it, and move to pricing with confidence.
From an ambiguous problem to a scoped 0→1 workflow
Defined the boundaries of AI
Set up an AI-native design workflow
- Every value is traceable to its source
- Every edit shows its ripple effects before it’s applied
- Jain stays quiet on recalculations and speaks only when users need to decide
- A review mode spotlights every edit and what it touched before pricing
The X-Ray is a draft, not an answer...
Jain reads an RFP in minutes, but RFPs have errors and gaps, so the report still needs a person to correct it.
...And every value depends on another
The bid X-Ray is one connected report: change one value and others have to change with it. Without a way to see and control that, estimators can’t trust the numbers they’re about to price on.
Trust first.
Edit second.
The job wasn’t just an editing feature. It was designing the confidence around it: what to change, what it affects, and what to rely on afterward. That meant five things.
- 01
Know the source
Every value shows where it came from.
- 02
Keep the person in charge
Jain follows rules and waits where a person should decide.
- 03
See the consequences
What a change will move shows before it lands, and lights up after.
- 04
Nothing is lost
Every change stays on record, and any of them can be reversed.
- 05
Verified before pricing
All edits get a final review before pricing starts.
How far Jain goes on its own, and where a person has to step in
Jain automates predictable updates while keeping consequential decisions in human hands. This ensures efficiency without compromising user control over bid commitments.
AI executes
Deterministic, low-risk tasks that require no new decisions.
- Recalculate values
- Update scores
- Track changes
- Extract RFP data with source labels
AI recommends, humans decide
Judgment-based decisions that affect cost, scope, or risk.
- Adjust equipment lists
- Resolve conflicting data
- Validate assumptions
I designed and tested this in code, not in static screens. PM and engineering reviewed a working prototype, and what I handed off was logic that already ran.
01. Trace every value back to its source
Every value shows where it came from, quoted from the RFP, calculated, estimated by Jain, or missing. No digging required.
02. Preview the ripple before an edit is applied
One edit can move many values. Anything that can be calculated, Jain updates for you and shows you what moved. Anything that needs judgment, Jain suggests and waits for you to decide.
03. Work on the report by talking to Jain
Not every edit fits in a cell. Select any part of the report, tell Jain what it should be, and preview the result. If it isn’t right, one click puts it back.
04. Every edit is on record
Every edit is recorded, by you or by Jain. Comparing with the original takes one switch.
05. Review everything before a bid goes to pricing
A long report makes it easy to miss changes. So estimators are guided to review every edit before pricing begins.
What I've learned
It’s tempting to let AI do more as it gets better. But the estimator signs the bid, so anything that changes what the bid commits to stays with them. That line shouldn’t move just because the model improves.
Working with an agent, I could have several working versions of an idea in an hour. Choosing between them, and sometimes overruling the agent’s recommendation, became the real design work.




