Inspiration

56% of adults can't cover a $1,000 emergency. For busy mums juggling work, kids, and a million responsibilities, money is one of the biggest sources of stress — not because they're bad with money, but because nobody taught them.

Rebecca Louise identified this gap perfectly: her community of millions of mums are "extremely short on time or knowledge on how to improve their financial situations." They want practical help — where to shop, how to batch cook affordably, how to start investing — but existing finance apps are either intimidating, jargon-heavy, or built for a male audience.

I asked myself: What if financial education felt like a supportive friend, not a textbook? MumVest was born from that question.

What it does

MumVest is a mobile-first financial literacy and savings app built around three pillars:

Learn in 60 seconds. Daily Money Moments deliver one actionable financial tip with real dollar savings attached — "switch to store-brand pasta and save $6 this week." Smart Swaps provide side-by-side alternatives across groceries, cooking, subscriptions, energy, transport, and kids' expenses. Every suggestion shows the exact monthly impact.

Save with confidence. Users create savings goals and log savings throughout the week. The app celebrates every entry — whether $5 or $50 — because momentum matters more than magnitude. A Financial Independence Score (0-100) makes abstract progress concrete.

Grow through structured learning. A 26-lesson curriculum takes users from "Where does my money go?" through budgeting, emergency funds, debt strategies, and all the way to compound interest and index fund investing — the learn-to-invest journey Rebecca requested.

Key features:

  • 30 daily Money Moments with potential savings calculations
  • 39 Smart Swaps across 8 categories (including Rebecca's Picks)
  • Savings goal tracking with progress rings and projections
  • 26 interactive lessons across 5 levels
  • 6 family-friendly challenges (No-Spend Weekend, Savings Sprint, etc.)
  • 13 achievement badges and XP/streak gamification
  • Generous freemium + RevenueCat-powered Pro subscription ($4.99/mo or $39.99/yr)

How I built it

Tech Stack:

  • React Native 0.81.5 + Expo SDK 54 for cross-platform (iOS, Android, Web)
  • Expo Router v6 for file-based navigation (29 screens)
  • NativeWind v4 (Tailwind CSS for React Native) for a polished, consistent design system
  • Zustand v5 for lightweight state management (5 stores)
  • expo-sqlite + Drizzle ORM for on-device database
  • react-native-mmkv v4 for fast key-value persistence
  • RevenueCat (react-native-purchases v9) for subscription management
  • Moti + Reanimated v4 for smooth animations
  • Docker + nginx for web deployment on Google Cloud Run
  • GitHub Actions for CI/CD

Architecture decisions:

  • Local-first, zero-backend — all data stays on-device, no server costs, infinite scalability
  • Content bundled as JSON — 30 Money Moments, 39 Smart Swaps, 6 Challenges, 13 Badges ship with the app
  • Platform-aware code — the web version uses localStorage + in-memory state instead of SQLite/MMKV, auto-unlocks Pro so judges can experience all features
  • Warm, approachable design — coral/teal/cream palette, generous spacing, Nunito headings + Inter body text

Challenges I ran into

  1. expo-sqlite on web — SharedArrayBuffer and Atomics workers timeout on web even with COOP/COEP headers. I built a mock database layer that returns empty results on web while Zustand state handles everything in-memory.

  2. NativeWind v4 on web — Some Tailwind utilities behave differently in React Native Web. Required careful testing and platform-specific shadow/border fallbacks.

  3. RevenueCat without a config plugin — react-native-purchases v9 has no Expo config plugin, so I used conditional requires and auto-unlocked Pro on web for judge accessibility.

  4. MMKV v4 breaking changes — The new createMMKV() factory pattern (not new MMKV()) and .remove() (not .delete()) required careful migration from documentation examples.

  5. Deployment pipeline — Setting up Docker multi-stage builds (node → expo export → nginx) with Artifact Registry and Cloud Run required iterating on CORS headers and API enablement.

Accomplishments that I'm proud of

  • Complete product in 48 hours — 29 screens, 7 reusable components, 5 Zustand stores, full gamification, and a polished UI
  • Web + Mobile from one codebase — judges can test instantly via URL with zero friction
  • 47/47 product specification items — every feature from my spec audit was implemented
  • Respectful monetization — the free tier genuinely helps people; Pro feels like a bonus, not a gate
  • Financial Independence Score — a unique metric that makes abstract progress concrete and motivating

What I learned

  • Local-first architecture with expo-sqlite + Drizzle ORM is incredibly powerful for MVP apps
  • NativeWind v4 makes React Native styling feel as productive as web development
  • RevenueCat's SDK is well-designed even without an Expo config plugin
  • Content design matters as much as code — writing 30 money tips and 39 swap comparisons with real dollar amounts took significant research
  • Deploying Expo web apps requires careful handling of SharedArrayBuffer and WASM dependencies

What's next for MumVest

  1. Rebecca Louise co-branded content — video lessons, motivational clips, and her personal money tips integrated into the learning path
  2. Community features — mums sharing savings wins, swap tips, and challenge results
  3. Bank account integration — automatic savings tracking and spending categorization
  4. Partner deals — exclusive family brand discounts (grocery stores, meal kits, insurance)
  5. Localization — UK (GBP), Australian (AUD), and European markets where Rebecca has significant audience
  6. Push notification optimization — personalized tip delivery based on engagement patterns

What's next for MumVest

Built With

Share this project:

Updates