Project Story


💭 Inspiration

"Consumers face decision fatigue... small business owners struggle with inadequate treasury tools, risking cash-flow crisis." — Capital One's challenge brief

That line sent us looking for exactly how big this gap really is. What we found:

  • 95.4% of businesses in Mexico are micro (10 employees or fewer) — INEGI, 2024 Economic Census
  • 64% of U.S. nonemployer firms cover financial problems using the owner's personal funds — Federal Reserve Small Business Credit Survey

There's no safety net between the business and the person running it. That's who we built for — not the small-but-established company, but the 1-to-5-person operation where the owner is also the accountant, the inventory manager, and the one who eats the loss when something goes wrong.


⚙️ What it does

Capital One Business is a mobile-first web app built around three pieces:

1. A 2-minute onboarding survey

  • Adapts by business category — a food stand and a construction crew get different follow-up questions
  • Check/✗ interaction instead of typed forms — the only field that isn't a tap is city, and even that defaults to a one-tap GPS lookup
  • Built to respect the owner's time above everything else

2. Cash Insights, not a course catalog

  • Connects to Capital One's Nessie API for real transaction and account data
  • Surfaces one contextual insight at a time — never a list, never a syllabus
  • Each insight is triggered by something the data actually shows: a stockout, a pattern of overbuying, a category-specific risk like spoilage (food) or unbilled labor (services)
  • Sourced from FDIC's Money Smart for Small Business, the SBA's Business Smart Toolkit, and Federal Reserve research — not invented advice

3. A data layer that compounds

  • Business profiles stored in Snowflake, using its VARIANT type for the survey's semi-structured answers
  • Lets us run real SQL aggregations across every business in a category — e.g. "what % of food businesses report running out of stock"
  • Turns individual survey answers into a benchmark no single business could see on its own

All of it wrapped in Capital One's own color palette, inside a CSS-drawn phone frame — so it looks and feels like a native app without needing a real app store build.


🛠️ How we built it

Backend — FastAPI

  • Nessie sits behind a swappable interface: a real client and an in-memory mock with the identical shape
  • Meant the team could keep building before the Nessie key was even issued, and could fall back instantly if the API had issues mid-event
  • Same pattern protects Snowflake — if trial account setup ran long, the app kept working on local storage without touching a line of business logic

Frontend — React + Vite

  • Survey questions, categories, and Cash Insight triggers all live in plain JS config files, not hardcoded UI
  • "Pick the right lesson" is just a priority-ordered match against the same data the survey already collects

Deployment

  • Frontend on Vercel, backend on Railway, our own domain: capitalonebusiness.tech

Multi-agent build process

  • Work split across Claude Code, OpenAI Codex, and Gemini CLI/Antigravity in parallel, each on its own git branch or worktree
  • All three read from the same SKILL.md files (the open Skills standard now shared across agents), so design and planning context traveled between tools instead of resetting every time we switched

🧗 Challenges we ran into

  • Nessie's schema wasn't fully documented for this cycle — older SDKs didn't match what the live API actually returned, so we tested it empirically with a real key mid-hackathon and corrected our assumptions on the spot.
  • Merging parallel work on the same screen — two branches rebuilt the core app shell from different angles (onboarding vs. the main account page) at the same time. Resolving it meant deciding, conflict block by conflict block, which side had the real feature and which was already superseded.
  • A mid-hackathon infrastructure pivot — started on a self-managed VPS, moved to Vercel + Railway, which meant untangling leftover DNS records from the first attempt and fixing a monorepo root-directory misconfiguration before the backend would build at all.
  • Keeping onboarding under two minutes while still collecting enough signal to power real financial insights — every question had to earn its place.

📚 What we learned

  • Financial education lands as a just-in-time nudge tied to something the data just showed, not a course nobody finishes — this mirrors FDIC's own shift toward modular "Learning Roadmaps" instead of one fixed curriculum, and it's the design decision we're most confident about.
  • Coordinating several AI coding agents on one codebase only works if data contracts are nailed down and written to disk before splitting the work — otherwise the pieces don't integrate cleanly no matter how good each one is individually.

🔭 What's next for Capital One Business

  • Turning the Nessie transaction feed into real generated financial statements and ratios (income statement, cash flow, working-capital ratios) instead of just profile-based insights
  • A Gemini-powered layer that proactively flags relationship-level signals — like a regular customer who's gone quiet
  • Testing the onboarding survey with actual nano-business owners to see if two minutes really holds up outside a demo

Built With

Share this project:

Updates

Submission history