Inspiration
Most banking apps are reactive—balances and long lists—but they don’t coach people toward their goals. We wanted something friendlier that learns from real spending, helps define medium-term savings goals, and nudges users with short, positive, and explainable tips so small choices add up to real progress.
What it does
Cappie is a Savings Coach inside a banking app. During onboarding the user tags past transactions as “Regret” or “Aligned” (“spending tinder”) so the coach learns preferences. The user then gives the coach a prompt (e.g., “Save for an iPad in 5 months”) and Cappie proposes a SMART goal (target amount, target date, suggested weekly/daily pace) plus 3 concrete tips. As new purchases happen, the coach explains how they affect the goal and always responds with 3 improvement tips or reinforcements. Transactions are auto-categorized with emojis (Spendwise-style) to make the history quick and glanceable. We deliberately do not show an “estimated delay” number—the focus is clear guidance.
How we built it
iOS app in Swift/SwiftUI for accounts, transactions with emoji categories, goals, and coach views. FastAPI (Python) backend with MySQL for users, goals, transactions, labels, and tips. Gemini API handles NLG: we send minimal features (amount, category, goal status, and the user’s prompt) and receive concise copy (“why” + 3 tips) aligned with deterministic rules/metrics computed in app/server. GitHub for version control. Privacy principle: keep sensitive computations and state local or on our API; only minimal features go to the LLM.
Challenges we ran into
CORS friction between the iOS app and FastAPI. Environment/secret management for Gemini keys and MySQL DSN. Keeping prompts disciplined so responses are short, consistent, and always include “explanation + 3 tips.” Bootstrapping emoji classification (merchant→emoji mapping) and designing a safe LLM fallback.
Accomplishments that we're proud of
End-to-end flow working in the demo: Regret/Aligned tagging → prompt-based goal creation → live coaching after purchases. Explainable suggestions with a clear “why” and exactly 3 actionable tips. Emoji-based history that makes reviewing spending fast and visual. Privacy-minded architecture where only minimal features reach the NLG layer.
What we learned
Users accept guidance more when it’s short, contextual, and positive. The “spending tinder” pattern personalizes the coach with almost zero friction. Separating concerns—rules/metrics for planning, LLM for tone and wording—improves reliability and trust. Avoiding punitive metrics like “delay” numbers keeps motivation higher.
What's next for Cappie
Strict mode with hard category limits and cool-down timers. Open Banking integrations and richer auto-categorization. Android app and a shared rules engine. Deeper simulations (what-ifs like round-ups, extra contributions, cutting regret categories). A/B-tested coaching styles (concise vs. motivational vs. didactic).

Log in or sign up for Devpost to join the conversation.