Inspiration

Payday is Friday. Rent is due Thursday. For millions of people living paycheck to paycheck, that one-day gap is the whole problem: an overdraft fee, a declined card, or the text nobody wants to send: "can you spot me $100?"

When we talked through it, two things kept coming up. People avoid looking at their balance until it's too late, and asking for help is the hardest part: it's embarrassing, and it invites questions about your spending. Being asked can be just as hard: the person helping might be stretched too.

Banking apps warn you after you're low. We wanted a bank feature that sees the dip coming and quietly arranges help from people who already said yes, without anyone seeing anyone else's money.

What it does

Runway forecasts your checking balance day by day, 30 days out, from your Capital One accounts, and tells you in one sentence when you'd run short: "You're fine until Thu, Oct 22."

  • What-if: tap "$100" and the forecast updates instantly.
  • Ask Runway: a Gemini assistant answers "Can I afford concert tickets Friday?" with real numbers. The AI picks the tool; a deterministic engine does the maths.
  • Quiet Support Agreements: family or friends agree, in advance, to cover short gaps. Both people must say yes.
  • Network Guardian: when a dip is coming, Runway checks each supporter's own forecast for the whole time the money is out, works out what each can give safely, and moves real Nessie money, split across supporters if needed.
  • Repayment when safe: it goes back automatically after a verified paycheck, never in a way that causes a new dip. You can also pay back early, in full or in part.
  • Circles: named groups (Family, Weekend crew) with invite links and pop-up invitations. Send or request money ("$40 ยท ๐ŸŽ‰ Festival"). An activity timeline explains every decision from your side.
  • Privacy by design: supporters see only what they covered and when it comes back. Never your balance, spending, or why. Every sign-in and approval goes through Auth0.

In our demo, Maya (20) would be $135 short on Thursday. Sam agreed to cover up to $150, but a loan payment lands before Maya could repay, so his safe amount is $90. Jordan's mortgage is due that week, so his is $0, and he isn't even told. Emma covers $45. $90 + $45 = $135. Runway protects the protector.

How we built it

  • Capital One Nessie API: customers, accounts, bills, merchants, purchases, deposits and transfers (8 endpoints). Every money move is a real sandbox transfer plus a deposit.
  • FastAPI backend with a deterministic forecast engine: recurring-payment detection, a bootstrap range, and a calibrated cautious low. The AI never does the maths.
  • Tiger Data (TimescaleDB): transactions as a hypertable, daily spend as a continuous aggregate, plus agreements, decisions and the transfer journal.
  • Google Gemini for Ask Runway, with tool calling and a grounding guard: any dollar figure that doesn't trace back to the engine is discarded.
  • Auth0: PKCE sign-in, verified tokens, owner-only money moves, and approvals.
  • Expo (React Native) for one codebase across web, iOS and Android.
  • Vultr + Caddy: every merge to main deploys itself after lint, tests and a build.
  • Claude as our engineering partner throughout: design, code, reviews and security fixes.

How the Network Guardian decides a safe amount. For each supporter, it takes the smallest of three limits, rounded down to the nearest $5:

  1. Their cautious lowest balance (5th percentile) over the whole time the money would be out, minus the cushion they keep.
  2. The room left in their agreement with this person: their limit minus what's already out.
  3. The room left under their total cap across everyone they support.

If the supporter's forecast isn't confident yet, nothing is automatic. When several people are short at once, shared supporters are split fewest options first.

Challenges we ran into

  • Nessie transfers don't carry a recipient, so every move is a transfer on the sender plus a deposit on the receiver. Nessie also truncates cents, so we store integer cents.
  • Never paying twice. A bank call can time out after the money moved. Every transfer is written to a journal before it's sent, tagged, and an unclear result is reconciled against Nessie rather than retried. Postgres advisory locks and compare-and-set updates stop two decisions from racing.
  • Privacy leaks in unexpected places. A "support on hold" notification would have told a supporter when someone was short, and a one-sided offer could have made someone reachable. We ran about 20 security reviews and fixed every finding.
  • Consent without assumptions. Old limits were migrated with no consent; support only becomes active once both people agree.
  • Production surprises: a 5-connection database pool ran out under real traffic, which made the assistant fall back to rules. We raised it to 15 and made it fail fast.

Accomplishments that we're proud of

  • Real money, not just recommendations: every cover, repayment and send is a verified Nessie sandbox transfer.
  • Evals we can show:
    • Privacy: 15/15 attacks held (including prompt injection) with the guard switched off.
    • Network Guardian: 0 unsafe transfers across 2,000 simulated networks, and it catches deliberately broken versions of itself.
    • Agent: 100% tool selection, 97โ€“100% correct answers across three runs, and 100% of dollar figures grounded on live Gemini (63 questions).
    • Forecast: 66% lower balance error than bills alone ($138 vs $408 across an 18-fold backtest), with 81% of real days inside the predicted range.
  • 570+ tests run on every push, and dozens of small PRs reviewed and merged by a team of three.

What we learned

  • The hardest part of fintech isn't the AI. It's consent, idempotency and privacy: who agreed, did the money move exactly once, and what is each person allowed to see.
  • Letting an LLM pick tools but never do maths made the assistant both useful and trustworthy.
  • A forecast should say how sure it is. Planning for the cautious low, not the average, is what keeps supporters safe.

What's next for Runway

  • Test with real users (our early research used a simulated panel) and partner with a bank sandbox that proves account ownership.
  • Phone push approvals for over-limit help (Auth0 CIBA), and Guardian MFA required for every money move.
  • Smarter repayment plans, and support networks that grow beyond family and close friends.
  • Bringing it where it belongs: inside the banking app people already use, free and with nothing to link.

One gap for the AI prize: this write-up never mentions the custom models, and that's what those judges look for first. I'd add these two bullets under "How we built it", right after the Gemini line:

  • Custom models on outside data: we calibrated the forecast's cautious range (split conformal) on IBM TabFormer, a real UK bank account and 4,500 real Czech accounts. How often it's wrong went from up to 43% to about 5%. A LightGBM spending model lost on new data, so we didn't ship it.
  • A formality model trained on 11,000 human-rated sentences, so Ask Runway's tone follows how you write, on top of your age (replies matched how people wrote 19/24 times vs 3/24 with age alone).

Built With

Share this project:

Updates

Submission history