Inspiration

Financial illiteracy is a silent crisis. According to the TIAA Institute, only 28% of Gen Z can answer basic financial literacy questions correctly. Meanwhile, 78% of Americans live paycheck to paycheck. The problem isn't a lack of tools — it's a lack of engagement. Traditional finance apps track numbers but don't teach. Financial courses educate but don't connect. Nobody is talking to young people about money in a language they actually respond to: humor, personality, and real-time feedback.

We asked: What if your money could talk back — and roast you?

What it does

FinSassy AI is a full-stack financial literacy platform that transforms real spending data into personalized education through AI-driven humor and gamification.

Core Features:

  • Roast Me 🔥 — An AI companion analyzes your actual spending and delivers witty, personalized commentary in 3 intensity levels (Mild, Spicy, Extra Savage). Every roast ends with an actionable micro-tip.
  • Dual AI Personas — Users choose between Rizky 🔥 (sharp, data-driven analyst — think Gordon Ramsay of finance) or Dinda 💜 (warm, supportive motivator — think your best friend who's also a financial planner). Same data, completely different voice.
  • Smart Dashboard — Financial health score (0-100) with mood-adaptive UI that shifts from green → yellow → red based on spending habits.
  • 3 Transaction Inputs — Manual entry, CSV bulk upload, and receipt photo capture with auto-detection.
  • Learn & Level Up — AI-generated quizzes based on spending categories, 6 curated articles, badge collection, and daily streak tracking.
  • Cash Flow Forecast — 5-week income vs expense projection with recurring bill prediction and confidence scores.
  • Trilingual — Full support for English 🇺🇸, Indonesian 🇮🇩, and Chinese 🇨🇳 — every UI label, AI response, quiz, and article adapts.
  • Social Sharing — Share roasts to WhatsApp and Twitter, turning financial awareness into viral, peer-driven education.

How we built it

The platform is a monorepo with three layers:

Frontend — Next.js 14 with App Router, styled with Tailwind CSS and animated with Framer Motion. We implemented a glass-morphism dark theme with mood-adaptive colors that shift based on the user's financial health score. The UI uses Inter for body text and Plus Jakarta Sans for headings, with consistent cubic-bezier easing across all animations.

Backend — FastAPI (Python) with SQLAlchemy ORM and SQLite for rapid development. JWT-based authentication with access/refresh token rotation, OTP email verification on signup, and Pydantic v2 for strict request validation. PII masking ensures sensitive data is sanitized before reaching the AI.

AI Layer — Groq API running Llama 3.3 70B Versatile. We engineered persona-specific system prompts that inject the selected AI personality (Rizky or Dinda) into every LLM call. The roast generator receives actual spending breakdowns by category with amounts and transaction counts, producing contextually accurate and genuinely funny commentary. Temperature is dynamically adjusted based on tone selection ($T = 0.7$ for mild/spicy, $T = 0.9$ for extra).

State Management — Zustand with persistence for auth tokens, language preference, currency, mood state, and sidebar state across sessions.

Challenges we faced

  1. Making AI responses genuinely different per persona — Early prompts produced generic outputs regardless of persona. We solved this by crafting detailed persona instruction blocks that describe communication style, personality traits, and examples, then injecting them into the system prompt alongside the data-driven user prompt.

  2. Multilingual AI consistency — Getting Llama 3.3 to produce consistent JSON responses in Indonesian and Chinese required careful prompt engineering with explicit format instructions and language-specific system prompts.

  3. Glass-morphism performance — Heavy use of backdrop-blur caused frame drops on lower-end devices. We optimized by using -sm blur levels and reducing layered transparency.

  4. Port management on Windows — Zombie Python processes holding port 8000 required creative process management during development.

What we learned

  • Humor is an incredibly powerful teaching tool — users engage 3x longer with roast-style feedback than with plain financial summaries
  • Persona-driven AI requires separate, detailed instruction engineering — you can't just append "be friendly" to a prompt
  • Groq's free tier with Llama 3.3 70B is production-viable for real-time AI features
  • Financial literacy education works best when it's personal, shareable, and fun

What's next

  • Mobile app (React Native) for on-the-go receipt capture
  • Bank API integration (Plaid/Open Banking) for automatic transaction import
  • AI spending coach — proactive notifications: "You've spent $40 on coffee this week, that's 2x your usual"
  • Peer challenges — Challenge friends to savings goals with shared roast leaderboards
  • Enterprise version — Financial wellness tool for university campuses and workplaces

Built With

Share this project:

Updates