MyCFO — An AI-Powered CFO for Stripe Businesses
Inspiration
The Stripe track only required us to build a well designed, well documented web API. But we wanted to build something that could genuinely add value to Stripe and its customers.
Stripe powers millions of small businesses. Many of those founders do not have a dedicated CFO or finance team. They are building product, selling, hiring, and making financial decisions at the same time. We asked ourselves:
What if every Stripe business had access to a programmable CFO?
That question became MyCFO.
What We Built
MyCFO is a REST API that:
- Ingests revenue and expense data, including Stripe data
- Computes real time financial metrics
- Projects runway and MRR growth
- Runs what-if scenarios
- Generates AI-powered advisory summaries grounded in real metrics
For example, runway is calculated as:
$$ \text{runway_months} = \frac{\text{cash_on_hand_cents}} {\text{recurring_burn_cents_30d}} $$
And monthly MRR projections follow:
$$ \text{MRR}_{t+1} = \text{MRR}_t \times (1 + g - c) $$
Where:
- $g$ is growth
- $c$ is churn
We focused on metrics that drive real decisions such as burn, recurring burn, runway, and revenue trends.
How We Built It
We used a test driven approach. Before writing endpoints, we defined how we wanted them to behave and created tests around those expectations. We even used AI to help generate and refine those tests. Then we implemented the endpoints to satisfy them.
We built:
- A relational database to keep financial data consistent
- JWT-based authentication for secure access
- Cursor based pagination for scalable listing endpoints
- AI summaries powered by a hosted model
We also followed Stripe’s API conventions so the experience would feel familiar to Stripe developers.
Challenges
Database and Schema Design
Designing financial schemas was harder than expected. We had to carefully separate recurring and one time transactions, ensure idempotent ingest, and guarantee that metrics were reproducible.
Making Metrics Useful
We did not want vanity metrics. We wanted numbers that help founders make decisions. That meant thinking deeply about what actually affects runway and growth.
Forecasting
Balancing simplicity with realism was challenging. Forecasts needed to be understandable but still grounded in financial logic.
Deployment
We ran into environment configuration and database connection issues during deployment. Solving those forced us to improve our health checks and error handling.
What We Learned
We learned that designing a clean API requires clarity of thought before writing code. We learned how important determinism and idempotency are in financial systems. Most importantly, we learned how much trust small businesses place in financial tools.
Why It Matters
Stripe helps businesses get paid.
MyCFO helps them understand what that means.
Our goal was to build something that could realistically sit on top of Stripe’s ecosystem and give small businesses clearer financial visibility and better decision support.
Built With
- argon2
- bash
- flask
- github
- huggingface
- neon
- postgresql
- pyjwt
- python
- sqlalchemy
- stripe
- vercel
Log in or sign up for Devpost to join the conversation.