Inspiration
Most brokerages either throw you into the deep end with real money or give you a fake sandbox with no feedback loop. You make a trade, it either goes up or down, and you have no idea whether the decision was smart or just lucky. We kept seeing the same pattern: people getting into investing, making impulsive trades based on vibes, losing money, and not understanding why. The problem isn't that they lack access to the market. It's that they have no way to identify whether their instincts are signal or noise. We wanted to build the thing that answers that question. Not a Bloomberg terminal. Not a paper trading clone. Something that actually tells a beginner: "here's what you did, here's what a model did, and here's why one of you was right."
What it does
AreYaWinningSon is a trading simulator that gives users a starting balance and provides them options to interact with the market as if it were real. The user picks a single stock ticker and a historical date range. The market data is hidden and users see only what has been revealed so far, one trading day at a time, just like a real trader. Each day they make the decision to either buy, sell, or hold.
While the user makes their own personal decisions, an AI logistic regression classifier trained on real historical data is also making its own moves. It's not an industry investing expert, but a simple model that a beginner is can beat using good instincts. If they can't, that's the feedback.
After each trade, the AI Trade Coach opens a streaming chat powered by Llama 3.3 70B via Groq. It receives your trade details, the machine's decision on the same day, and the real news headlines from that exact trading day. It then gives you honest, beginner-friendly feedback. Was there a real reason to buy, or was it all just sentiment? The coach critiques both trades side by side and tells you what signal, if any, justified the move. You can ask follow-up questions and it remembers the whole conversation.
At the end of a session you'll have learned something. Probably humility.
How we built it
The backend is Django 5 with SQLite, containerized with Docker and deployed on AWS ECS Fargate with images hosted on ECR. Historical OHLCV data is fetched via yfinance on session creation. The frontend uses Bootstrap 5 and Plotly for candlestick charts, with vanilla JS handling AJAX turn submission so the page never fully reloads — charts, form state, and chat history all update in place.
The ML opponent is a logistic regression classifier trained with scikit-learn on a rolling 30-candle feature window — short and long moving averages, momentum signals, and volume deltas. The model artifact is serialized and loaded at runtime. Critically, it trains only on data before the session start date to avoid look-ahead bias.
Real-time news is pulled from Finnhub's company news API, scoped to the exact trading day the user is on, and injected into the AI coach's context alongside both trade summaries. The Groq streaming API delivers the coach's response token-by-token into the chat window.
Session isolation is handled via Django's session framework — each browser gets its own game state, and nobody sees anyone else's sessions.
Challenges we ran into
Bedrock was a nightmare. We originally planned to use AWS Bedrock for the AI coach. This would have been fully AWS-native, clean architecture story, IAM role auth. After two hours of throttling exceptions, zero-quota regions, 44-second timeouts, and tokens expiring every ten minutes, we pivoted to Groq. It worked in five minutes.
Streaming without page reloads. Getting the AI coach to stream token-by-token into the chat window while keeping the rest of the dashboard live required careful separation of Django's template rendering and the AJAX turn submission pipeline. Plotly charts, form state, and chat history all had to survive DOM replacement without breaking.
Real-time news scoped to historical dates. Finnhub's company news endpoint takes a date range, which meant we could pull news from the exact day a user is trading on, even if that day is years in the past. Getting this to feel real (you're trading TSLA on Jan 6 2025 and you see the actual headlines from that morning) took some careful date handling.
Accomplishments that we're proud of
The AI coach actually works the way we imagined it. Giving it both trades, the day's news, and asking it to compare them side by side produces genuinely useful feedback and not generic platitudes. It will tell you "the machine held because the 5-day average was below the 15-day average, which is a bearish signal you ignored." That's real.
The no-reload dashboard feels polished. Submitting a turn, watching the chart update, and seeing the AI opponent's move appear without a page flash is the kind of detail that makes the demo feel like a real product.
Deploying a fully working ML-in-the-loop web app to AWS ECS in a hackathon timeframe with IAM roles, ECR, session isolation, streaming AI responses, and real market data is something we're genuinely proud of.
What we learned
The gap between "technically working" and "feels right for a beginner" is huge. The first version of the AI coach gave feedback that was accurate but intimidating. It was full of financial jargon, tables, and bullet points. Rewriting the system prompt to make the coach feel like a knowledgeable friend rather than a textbook changed the entire experience.
We also learned that AWS quota limits on new accounts are brutal and undocumented, and that sometimes the fastest path forward is just switching providers.
What's next for AreYaWinningSon
The obvious next step is adding a multiplayer mode with real-time head-to-head sessions where two people trade the same hidden dataset simultaneously and see who comes out ahead.
Beyond that, we want to add explicit signal education: before each session, a brief explainer on one concept (moving average crossovers, RSI divergence, volume confirmation) that the user is then implicitly tested on during play. The AI coach would score how well they applied it.
Longer term, a progression system. A beginner, intermediate, and advanced session with increasingly volatile tickers and noisier data would turn this from a one-off demo into something people actually return to.
Eligibility for Finance Track
AreYaWinningSon directly engages with financial markets by pulling real historical OHLCV price data via yfinance and live company news from Finnhub's financial API, scoped to the exact trading day a user is on. We train a machine learning classifier on real equity data from AAPL, MSFT, and NVDA to serve as an AI opponent, and use Groq's Llama model to deliver real-time coaching grounded in actual market context. The result is a hands-on training tool for financial markets. It is particularly designed to teach beginners how to read price action and trade on genuine signals rather than emotion.
Built With
- amazon-web-services
- aws-ecs
- django
- finhub
- groq
- scikit-learn
- yfinance
Log in or sign up for Devpost to join the conversation.