Inspiration
We're NYU students who stumbled onto a real problem: HVAC contractors bidding 15% margin and realizing 6.8%. Half their profit just... gone. And nobody knows why until the project is already done. We thought — what if the data could just tell you, before it's too late?
What it does
You upload your project CSVs and the agent gets to work. It scans the full portfolio, flags every project losing money, tells you exactly why each one is bleeding, and hands you a list of specific actions with dollar values attached. No clicking around, no building queries. It just shows up with the answers.
How we built it
The hardest part was scale. 1.4 million rows of labor logs is way too much to hand to an AI directly. So we built a pipeline where DuckDB does the heavy lifting first, crunching everything down to clean project summaries. Then Claude looks at those summaries and reasons through them like a CFO advisor would. The frontend runs on Next.js and Vercel, files go to Vercel Blob, and the backend lives on Railway.
Challenges we ran into
Honestly pretty much everything broke at least once. File size limits, browser storage crashes, deployment serving old code, timeouts on large datasets. Each bug needed a real fix, not a patch. We spent a lot of time in error logs and git history.
Accomplishments that we're proud of
The CFO chat overlay. You can ask it "which project do I call first?" and it gives you a name, a reason, and a dollar amount. That felt like the moment it stopped being a dashboard and started being an actual agent.
What we learned
Give the AI clean data and it performs. Give it a million raw rows and it struggles. The aggregation step is where most of the real intelligence lives, and we almost skipped it.
What's next for Margin Rescue
Real-time alerts when a project crosses a risk threshold. A proper PDF export for the CFO briefing. And honestly we think this works for any industry with the same margin erosion problem, not just HVAC.
Log in or sign up for Devpost to join the conversation.