Inspiration
Many people invest without understanding fundamentals. Investing feels intimidating → lots of jargon, complex math. Wanted to create a tool that educates while it analyzes, not just outputs numbers. Democratize financial knowledge → give retail investors access to institutional-style portfolio tools
What it does
Lets users build a personalized portfolio by inputting stocks, timeframes, and risk preferences. Runs portfolio optimization to find efficient allocations. Runs Monte Carlo simulations to visualize potential future outcomes under uncertainty. Provides backtesting to compare strategies with historical data. Every output is paired with educational explanations (what Sharpe ratio means, why diversification matters, etc.).
How we built it
Backend: FastAPI (Python), using NumPy, Pandas, SciPy for optimization, and yFinance for data. Frontend: Next.js with TypeScript + TailwindCSS, focusing on clean UI with educational blurbs. Charts: Recharts for visualization of weights, allocations, and Monte Carlo paths. Designed a simple API contract (JSON in/out) for modularity.
Challenges we ran into
Handling financial data quirks (multi-index data, missing fields like "Adj Close"). Getting optimization to balance constraints (weights, capital, risk). Debugging CORS and 404 errors between frontend and backend. Making sure outputs were not just numbers, but interpretable for users.
Accomplishments that I'm proud of
Built a full-stack finance app (backend + frontend) in a short time. Added educational insights → not just a calculator, but a learning tool. Achieved working optimization results with benchmarks (equal-weight, S&P 500). Created a flexible framework → easy to expand with new features.
What we learned
How to connect financial theory (Sharpe ratio, diversification, Monte Carlo) with real code. Importance of explaining outputs in plain English. Debugging fast between frontend and backend in a hackathon setting. Balancing technical complexity with user education.
What's next for Solo Finance
Add user accounts to save portfolios and track progress over time. Let users compare against custom benchmarks (e.g., QQQ, bonds). Add rebalancing simulations (monthly, quarterly). Expand beyond stocks → ETFs, crypto, bonds, asset classes. Deploy publicly with real-time data feeds.

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