Most investing apps assume you already speak the Wall Street lingo. We wanted the opposite: a Duolingo-style tutor that meets beginners where they are using their actual brokerage account data. MerryMen teaches fundamental value based investing using the stocks you already own.

What it does

MerryMen connects to a real brokerage (or a one-click demo account on web demo), pulls live holdings, and turns them into a learning path:

  • A portfolio dashboard with live prices, logos, allocation charts, and a Robinhood-style 90-day chart plus news
  • A Duolingo-inspired Learn tab with a roadmap, streak, coins, and 6-step lessons
  • Personalized “see it in your holdings” steps that apply each concept to your stocks, with NVIDIA NIM insights.
  • A React Native app for TestFlight plus a web demo so judges can try a full lesson without installing anything

How we built it

  • Web: Next.js, React, TypeScript, Tailwind CSS, Auth.js, Recharts
  • Mobile: React Native for iOS
  • Data: Tiger Data (PostgreSQL / Timescale) via Prisma for users, brokerage connections, and positions
  • Brokerage: SnapTrade REST APIs to connect Robinhood-style accounts and sync holdings
  • Market data: Finnhub REST APIs for quotes, company profiles, P/E, market cap, dividends, and news, with Yahoo Finance as a backup for charts and missing metrics
  • AI: NVIDIA NIM — Llama 3.1 Nemotron 70B Instruct — to generate portfolio-specific lesson insights (not generic finance copy)
  • Backend: REST API routes (/api/stocks/metrics, /api/stocks/news, /api/stocks/candles, /api/lessons/generate, brokerage connect/refresh) shared by web and mobile
  • Deploy: Vercel for the web demo and API

Challenges we ran into

Finnhub’s free-tier rate limits kept wiping P/E, market cap, and 1-month returns mid-demo, so we added API-key rotation, caching, and a Yahoo fallback. SnapTrade secrets had to be encrypted at rest. We also had to teach real concepts without fake “rules of thumb” (no “P/E under 15 is cheap”) and write quizzes that are designed to nail down the concept but are still fun to complete. Fitting a Duolingo path, live portfolio, and AI insights into a short pitch was its own design problem.

What we learned

  • Real data is messy: Live market data is full of missing earnings and negative P/E ratios. Handling these edge cases and strict rate limits became a core part of our architecture.
  • AI needs strict guardrails: We relied on heavy prompt engineering with NVIDIA NIM to keep the Llama model focused on teaching concepts, rather than hallucinating or giving risky "buy/sell" advice.
  • Simplicity wins: The best way to teach beginners isn't to overwhelm them with charts. It's keeping the lessons simple and explaining the stocks they already own.
  • A shared backend is a lifesaver: Building for web (Next.js) and iOS (React Native) at the same time proved exactly how valuable a tightly scoped, shared REST API is for moving fast.

What's next

  • Empty portfolio onboarding: Build an introductory flow and bite-sized lessons to help users without a brokerage account confidently research and buy their very first stock.
  • Deeper NVIDIA-generated paths: Expand our NVIDIA NIM setup to generate custom learning tracks for more complex topics like options trading and crypto.
  • In-app live trading: Upgrade SnapTrade from read-only to read/write so users can execute trades directly inside the app right after mastering a lesson

Built With

Share this project:

Updates

Submission history