Inspiration
Personal finance apps are great at showing numbers, but numbers alone don't always tell you what actually matters.
A balance tells you how much money you have. A transaction list tells you where your money went. A subscription screen tells you what you're paying for. But understanding the bigger picture still requires you to connect all those signals yourself.
That's what inspired Penni.
We wanted to build a personal finance companion that doesn't just store financial information, but helps people understand it.
Our guiding idea became simple:
Penni notices what matters.
What it does
Penni is an AI-powered personal finance companion that brings your financial life into one clear experience.
Users can organize accounts, track income and expenses, review transactions and recurring payments, monitor subscriptions, and understand their monthly financial progress.
With Ask Penni, users can also interact with their financial information conversationally. Instead of digging through screens and interpreting numbers manually, they can ask questions and receive insights based on their own financial context.
Penni helps users understand their financial context without making decisions for them.
How we built it
Penni is a mobile-first application built with React Native and Expo, with Supabase powering authentication, database infrastructure, and server-side functions.
We designed the AI layer around the user's financial context rather than building a generic chatbot. Ask Penni can use relevant information from the product to make conversations more useful and personalized.
For monetization, we integrated RevenueCat to manage Penni Pro subscriptions, purchases, restoration, and entitlements.
We also built a rewarded-access model that lets users earn AI access by watching rewarded ads, with rewards verified server-side and synchronized with RevenueCat and Penni's backend.
Beyond the core product, we worked on the infrastructure required for a real mobile release, including localization, analytics, notifications, account deletion, security, and Android production builds.
Challenges we ran into
One of our biggest challenges was deciding what AI should actually do inside a personal finance product.
Adding a chatbot is straightforward; making it useful, contextual, and appropriately constrained is much harder. We had to think carefully about which financial signals should become context, what information Penni should surface, and where the user's own judgment should remain central.
Monetization created another interesting challenge. Purchases, subscription state, entitlements, rewarded access, and backend state all need to remain synchronized. We learned quickly that monetization isn't just a paywall — it's part of the product architecture.
Preparing Penni for a real Android release also introduced challenges that prototypes often avoid: production builds, authentication infrastructure, notification delivery, subscription restoration, localization, privacy-related account deletion, analytics, and release testing.
Accomplishments that we're proud of
We're proud that Penni grew beyond a hackathon prototype into a product built with real-world deployment in mind.
We built an end-to-end personal finance experience, added contextual AI through Ask Penni, integrated RevenueCat for production subscription and entitlement management, and developed a rewarded-access model alongside traditional subscriptions.
We're also proud that we treated details like localization, account deletion, analytics, notifications, security, and release infrastructure as part of the product rather than leaving them for later.
Most importantly, Penni now has a clear product philosophy:
Don't overwhelm people with more financial data. Help them notice what matters inside the data they already have.
What we learned
The biggest lesson from building Penni is that a useful financial product isn't about displaying more data. It's about reducing the effort required to understand that data.
We also learned that AI becomes much more valuable when it has a clearly defined role. For Penni, that role isn't to make financial decisions for the user. It's to recognize patterns, surface relevant information, and help users understand their financial lives.
Building with RevenueCat also changed how we think about monetization. Entitlements, purchases, restoration, and rewarded access aren't isolated features — they become part of the architecture of the product.
What's next for Penni
We want Penni to become increasingly proactive.
Today, users can explore their financial lives and ask Penni questions. Over time, we want Penni to recognize more financial signals and surface useful information before users even think to look for it.
That could mean noticing changes in spending patterns, upcoming recurring payments, subscription changes, unusual activity, or opportunities hidden inside everyday financial behavior.
The long-term vision is simple:
Your financial life is full of signals. Penni helps you notice the ones that matter.
Built With
- admob
- amplitude
- expo.io
- onesignal
- openai
- postgresql
- react-native
- revenuecat
- supabase
- supabase-edge-functions
- typescript
Log in or sign up for Devpost to join the conversation.