Inspiration
We were inspired by a problem that affects almost every small business at some point: not insolvency, but invisibility. Cash flow risk is often obvious in hindsight but nearly impossible to see in the moment. A single late invoice or unexpected expense can quietly push a healthy business toward a crisis. We wanted to build an agent that removes that blindspot: one that sees the risk before it materialises and steps in before it is too late.
What it does
FinFlow is an autonomous liquidity protection agent for small businesses. The agent watches every transaction, models the probability that the account balance will breach a critical liquidity floor within the next 14 days, and intervenes before the crisis happens. When risk is detected, the agent reasons over the full financial context and proposes a concrete action such as chasing a late payment or reallocating internal funds, executable with a single tap via the bunq API. FinFlow does not just alert. It acts according to the wishes of the business.
How we built it
FinFlow combines three mathematical and technical layers working in sequence. The core is a TabPFN ensemble combining a classifier and a regressor. The classifier predicts whether a business account will breach its liquidity floor within the next 14 days. The regressor predicts the actual minimum balance over that horizon, estimating the severity of a potential breach. Together they give the agent both a signal and a magnitude: not just whether to act, but how urgently.
Raw model probabilities are not automatically trustworthy, so we add a histogram binning calibration layer. We compute the empirical breach frequency within each probability bin on a held-out calibration set and use these to correct raw scores. The agent always acts on calibrated probabilities.
When the calibrated breach probability exceeds a threshold, the full financial context is passed to an LLM agent which proposes a concrete action. The business owner makes the final call, one tap to execute via the bunq userCompany API.
Challenges we ran into
One of our biggest challenges was data. We initially planned to generate transaction history directly through the bunq sandbox API, but running enough API calls to simulate months of realistic SMB cash flow consistently hit rate limits and timeouts. This forced us to pivot to a synthetic data generator that tries to simulate realistic business cash flows. While the synthetic data was structurally valid, the features we extracted from the transactions did not capture a strong enough signal for the model to learn from, the relationship between transaction patterns and the breach label was too weak or inconsistent in the way the data was constructed. This is precisely why we added the regression layer and the calibration step, and why the ensemble outperformed the standalone classifier.
The second challenge was agreeing on how to actually solve the problem. We spent significant time debating the core approach: building a mathematical model, train a machine learning classifier, or combining both. We went through several iterations before landing on the TabPFN ensemble with histogram binning calibration. Each pivot taught us something but also cost time.
Accomplishments that we're proud of
The combination of a calibrated hybrid model, a probability correction layer, and an LLM agent that doesn't just advise but acts, always with the business owner's consent.
We are also proud of the intellectual honesty we maintained throughout. When our initial mathematical model produced unreliable results, we pivoted to a more appropriate approach rather than forcing it to work.
What we learned
We learned that the hardest part of building an AI agent is not the AI, but the data pipeline underneath. Time pressure also forced us to make tradeoffs and we learned when to simplify an approach.
It is easy to train a model that produces numbers between 0 and 1. It is much harder to ensure that when the model says 80% there is genuinely an 80% chance of a breach. We had not fully appreciated the gap between a well-performing classifier and a well-calibrated one until we built the histogram binning layer. This taught us that in high-stakes domains like financial risk, calibration is not an optional refinement, it is a prerequisite for the system to be trustworthy at all.
What's next for Finflow
Our long-term vision is to extend the FinFlow architecture beyond businesses to individual users. A individual user watching their personal buffer, getting proactive interventions and receiving recommendations tailored to their spending patterns. FinFlow for SMBs is the starting point. FinFlow for everyone is where it goes.
Log in or sign up for Devpost to join the conversation.