Inspiration
We've all experienced the emotional trauma of waking up, checking our investment portfolio, and realizing a stock tanked overnight with no clear explanation of what happened. We realized that investors have access to endless amounts of market data but often lack the context needed to understand why a stock moved.
OttoTrade was inspired by the idea of connecting market movements with real-world events. Instead of simply showing that a stock went up or down, we wanted to use data and relevant news to give investors the context they need to better reason about whether to buy, sell, or continue holding an asset.
What It Does
OttoTrade is a financial analysis platform that stores and visualizes a user's stock portfolio while connecting stock price movements to major world events and relevant news.
Users can explore their portfolio performance, analyze historical price changes, and visualize relationships between events and the stocks they may have impacted. OttoTrade turns raw financial data into a more understandable story, helping users explore what may have influenced changes in their investments.
How We Built It
We built OttoTrade as a full-stack financial analysis platform using React and Vite for the frontend and Supabase for our database and data infrastructure. The frontend uses libraries including Lightweight Charts, Recharts, and React Force Graph to visualize portfolio performance, stock data, and relationships between market events.
Our data architecture was structured around portfolio information, market data, real-world events, and enriched financial insights. We used Supabase to store and serve portfolio, chart, event graph, and timeline data directly to the application. By connecting market data with curated event datasets, we were able to explore relationships between historical stock movements and major real-world events while supporting a scalable, deployed frontend through Vercel.
Challenges
One of our largest challenges was determining how to correlate stock movements with potential real-world causes. A stock price can change for countless reasons, so mapping financial data to relevant events required us to carefully structure and connect our event and market datasets.
We also spent significant time determining the best user experience for OttoTrade. Financial platforms can quickly become overwhelming, so we focused on presenting complex market information through interactive charts, portfolio views, timelines, and event visualizations that are easier to explore.
Proud Moments
We are especially proud of successfully mapping event data to stock market movements and creating a visual way for users to explore those relationships. We also integrated multiple data sources and APIs throughout the application while building a complete full-stack platform. By the end of the project, we had a deployed website capable of storing, processing, and visualizing financial data in a way that is ready for deeper data analysis. Most importantly, we transformed an ambitious idea into a working product within the constraints of a hackathon.
Takeaways
Building OttoTrade taught us how important teamwork and communication are when developing a full-stack application with multiple moving parts. Connecting the frontend, market data, event processing, and Supabase required constant communication and collaborative problem-solving.
We also learned how to approach difficult data correlation problems and adapt when our original ideas did not work as expected. On the frontend, we gained more experience designing visually appealing interfaces and turning complicated financial information into interactive visualizations that users can more easily understand.
What's Next
Our long-term vision is to evolve OttoTrade from a financial analysis platform into a full trading brokerage experience where users can analyze market events and act on their insights from the same platform.
We also want to expand beyond stocks to support additional financial markets and asset classes. As OttoTrade grows, we plan to scale our infrastructure and introduce concurrent data processing so the platform can analyze larger volumes of market and event data in near real time.
Ultimately, we want OttoTrade to answer the question every investor asks when they open their portfolio: “What happened, and why?”
Built With
- css
- geminiapi
- javascript
- react
- supabase
- tradingviewapi
- vite

Log in or sign up for Devpost to join the conversation.