Inspiration
Most people's money is split across banks. The paycheck lands at one, savings sit at another, and the card bill comes from a third. Each bank's app shows only its own slice, and only the past. Nobody tells you that six weeks from now your checking account will be short, until the overdraft fee shows up.
We wanted a future-you who can see every account at once, warn you before the mistake, and actually move the money to fix it. Foresight: banking your way.
What it does
Foresight puts every account at every bank in one picture and runs the next 12 months forward, day by day.
- View: cash across both banks (in dollars, or in how many days it lasts), a spending donut where clicking a slice explains what the category is, what drove it and every charge behind it, a savings chart, a budget, and three health indicators:
- Checking safety: the first day checking would be overdrawn
- Monthly shortfall: how far bills outrun paychecks
- Interest: what you pay on cards vs what you earn on savings
- Advising, "Ask future-you": pick a what-if (take my trip, pay off my card, a surprise $1,000 bill). Now-you says what you want, future-you warns what happens, and both futures are drawn on one chart with a side-by-side comparison. Foresight then builds a plan.
- Apply plan: one tap sends the plan's transfer through Capital One's Nessie API (for example, Capital One savings into PNC checking before the dip), with receipts that update as it settles.
- Move: real transfers between linked accounts at both banks.
- Onboarding: choose a simple or detailed layout, dollars or days, a 1- or 3-month view, your goals, and what you agree to share. The dashboard follows those choices.
For our demo customer from PNC's dataset, bills outrun paychecks by about $1,500 a month. Foresight finds the exact day checking goes negative, months ahead, and shows the plan that prevents it.
How we built it
- Stack: Next.js 16 (App Router), React 19, TypeScript and CSS Modules. Every chart is hand-drawn SVG, with no chart library.
- PNC's dataset: synthetic profiles, accounts, transactions and monthly statements from PNC's HackUTD kit power the history and spending analysis.
- Capital One Nessie: six linked accounts (checking, savings and a card at each bank) hold the live balances, and every transfer is a real Nessie transfer. Calls go through our own server routes, so the API key never reaches the browser. The server only moves money between linked accounts, never out of a credit card, never more than what's available, and replays duplicate requests instead of sending money twice.
- Forecast engine: learns a typical month from the last three months of history, then simulates every account day by day for 12 months from live balances: paychecks, bills, card payments capped at what's owed, and interest computed from each balance and rate. A scenario layer adds one-time costs, transfers, spending cuts, and an automatic top-up that refills checking from savings before it drops too low.
- Plans: every sentence future-you says is filled in from calculated numbers. We followed PNC's rule: code does the math.
Challenges we ran into
- Money takes time to move. Nessie transfers start as pending and settle on a once-a-minute sweep. Instead of pretending transfers are instant, we built receipts that poll and show pending, then completed.
- Not every deposit is income. PNC's data includes 24 calibration deposits ($40,856 in total) that keep balances realistic but aren't real income. Forecasting with them made everyone look rich, so we exclude them and the savings chart explains them.
- Fixed payments hid the real picture. Our first forecast treated card payments as fixed amounts, so cutting spending never helped and paying off a card never stopped the interest. We rebuilt payments to be capped at what's owed, with interest computed from the balance each month.
Accomplishments that we're proud of
- Money really moves between two banks during the demo, and the forecast redraws from the new balances.
- Future-you's warnings are specific, a date and a dollar amount, and every number traces back to code.
- It's built around the person: onboarding choices change what the dashboard shows.
What we learned
- Forecasting is mostly cleaning data. One mislabeled deposit type changes the whole story.
- Real APIs have real timing. Designing for "pending" made the app more honest.
What's next for Foresight
- An AI layer that explains each plan in future-you's voice, using only the numbers the forecast calculated
- Car-loan what-ifs: refinance, pay ahead, or trade in
- Real bank connections, and alerts when a dip is coming
Built for
- PNC: 360° Financial Health Navigator. Three health indicators, a 12-month forecast of balances and obligations, and a what-if simulator, built on PNC's dataset.
- Capital One: Best Use of Nessie. Nessie is the bank layer: live balances at both banks, and real transfers that carry out the plan.
- Best Design. One clear story (now-you vs future-you), and onboarding choices that reshape the dashboard.
All data is synthetic, from PNC's HackUTD kit (Apache 2.0). Nothing in Foresight is financial advice.
Built With
- capital-one
- css-modules
- next.js
- node.js
- react
- svg
- typescript