Inspiration
As soon as we started the hackathon, we knew we wanted to compete in the fintech path, because the intersection of finance and software has always been something that we found interesting. After considering the idea of getting AI agents to perform research and guidance on stocks, we realized we could do something better. Getting guidance from one agent is okay, but what about an entire council of them? Then, the user can get guidance from several different agents, each with its own personality and voice. Then, they can deliberate, and come to a consensus that the user can trust.
What it does
Boardroom takes a stock ticker and your investment question, then autonomously conducts a full research workflow. Our intelligent AI agent searches the web for real-time news, calls financial data APIs to pull price charts, technical indicators, fundamentals, financial statements, and insider transaction data, and writes a structured analysis report interleaved with generated charts, progress all streamed live to your screen. For yes/no questions, it then convenes a council of four specialized AI agents (a bull, a bear, a risk manager, and a fundamentals analyst) who debate the thesis out loud based on the research report and cast a vote to determine the final verdict.
How we built it
The backend is FastAPI with a PydanticAI agentic loop powered by the Gemini 2.5 Flash model. The agent has six tools: yfinance for charts and fundamentals, Finnhub for insider transactions and sentiment, and mplfinance for server-side chart rendering. The agent decides autonomously which to call and with what parameters, to best fit the user's needs. Results stream to the frontend via Server-Sent Events. The council is a separate multi-agent orchestration layer where each agent has a distinct persona and system prompt, with ElevenLabs TTS generating spoken audio for each argument. The frontend is React + Vite, with Supabase handling auth and persisting analysis history.
Challenges we ran into
Getting the PydanticAI agent to reliably follow a strict intro, tool loop, conclusion structure to generate the research report took significant prompt engineering. Streaming SSE events from an async agent run while correctly interleaving text and chart images on the frontend was tricky as well. We also burned time on implementing a Reddit search tool before discovering the API we used doesn't index recent posts, and that the official API requires an approval process.
Accomplishments that we're proud of
We're proud of the fact that we've managed to achieve our goal of allowing users to get stock analysis from a council of agents. While we encountered difficulties and road blocks on our way to implementing Boardroom, we managed to persist through all of them and create the product we imagined. Not only are we happy that we got it working in our limited time period, we're also proud of the clean and seamless user experience, which lets the user easily add stocks, view charts, and get analysis.
What we learned
We learned a lot about how to orchestrate several agents with a common goal, using many different tools and APIs to allow the council to perform a complete analysis. We also learned about how to make a user experience that feels smooth from start to finish, from authentication, to finding stock data, to seeing the council's deliberation on a position. Finally, we learned lots about working as a team, and splitting a big project into manageable tasks so that we can all contribute in a way that utilizes our strengths.
What's next for Boardroom
In the future, we can add more tools for our AI agent to use so it can create a more informed analysis. Also, we could implement portfolio-level analysis across multiple tickers, and potentially create a mobile app so you can get a full research report on any stock during your commute and easily import information from your portfolio.
Built With
- fastapi
- gemini
- python
- react
- supabase
- tailwind
- typescript
- vite
Log in or sign up for Devpost to join the conversation.