Inspiration
Every day Nifty, Sensex, or a stock like ICICI Bank moves 2-3%, and most retail investors in India have no quick way to know why. News apps dump headlines at you, but nothing connects "this stock moved X%" to "here's the news that likely caused it." I wanted something that closes that gap in one glance.
What it does
MoveWhy tracks Nifty, Bank Nifty, Sensex, and major large-cap stocks. When one makes a significant move, it pulls recent news headlines and uses an LLM to generate a short, hedged explanation of what likely drove the move, along with a confidence level. It's explicitly informational: past-move explanations, not predictions or buy/sell recommendations, and it says so directly in the app.
How we built it
- Frontend: Unity (C#), TextMeshPro for the UI, a card-based feed showing each instrument's price, percent move, and AI explanation.
- Backend: Python/FastAPI, polling live price data and checking for moves above a threshold. On a detected move, it fetches recent headlines from financial news RSS feeds and calls an LLM to generate a hedged explanation with strict JSON output.
- LLM: Groq's free-tier inference for fast, low-cost explanation generation, with rate-limit-aware batching across symbols.
- Monetization: RevenueCat, using its Ads SDK integration with AdMob for rewarded ads that unlock stock-level detail beyond the index cards.
- Hosting: Backend deployed on Render, caching explanations so the app stays fast and doesn't hit the LLM on every request.
Challenges we ran into
- A Groq model deprecation mid-build forced a same-day model switch and reasoning-token tuning to avoid free-tier rate limits.
- Getting Unity's TextMeshPro layout and RevenueCat's Android SDK working together cleanly, including a minimum SDK version conflict between Unity's default and RevenueCat's library requirement.
- Building the entire stack on free-tier services only, end to end, while keeping it reliable enough to demo.
Accomplishments that we're proud of
- A working end-to-end pipeline: live price data to news matching to AI explanation to mobile UI, running on entirely free infrastructure.
- Explanations that stay honest about uncertainty (hedged language, confidence levels) instead of overclaiming causation.
- Shipping a real RevenueCat integration (Ads/AdMob) solo, under a hard deadline, while debugging live production issues (rate limits, model deprecations) as they happened.
What we learned
How to design an AI feature that's useful in a few seconds without overstating what it actually knows, and how much infrastructure judgment (rate limits, model lifecycles, free-tier constraints) goes into something that looks simple on the surface.
What's next for MoveWhy
Expanding beyond index/large-cap stocks, adding historical move search, and improving explanation accuracy with better headline ranking.
Log in or sign up for Devpost to join the conversation.