Inspiration

What it does

Student Portfolio Analyzer allows users to input their investment portfolio data and generates an interactive dashboard that provides a clear overview of their investments.

The dashboard includes:

  • Portfolio allocation visualization to show how investments are distributed across assets.
  • Cryptocurrency risk analysis to identify the impact of cryptocurrency holdings on the overall portfolio.
  • ETF overlap analysis to identify when multiple ETFs contain many of the same underlying investments.
  • Interest rate and yield analysis to provide context around current interest rate conditions and interest-bearing assets.
  • AI-powered portfolio insights that use Gemini to explain portfolio information in a more accessible way.

The application is designed for students and individuals who are beginning to invest and want a clearer understanding of their portfolios. Rather than simply presenting financial data, the application brings portfolio information and analysis together to help users understand what they own and the factors that may affect their investments.

How we built it

Frontend

  • React
  • Vite
  • JavaScript
  • CSS

Backend

  • Python
  • FastAPI
  • SQLAlchemy
  • SQLite

Data Analysis & Machine Learning

  • Pandas
  • NumPy
  • scikit-learn

APIs & Datasets

  • CoinGecko API for cryptocurrency market data
  • FRED for interest rate and economic data
  • Gemini API

Challenges we ran into

One of my biggest challenges was connecting all of the different components of the application into a single end-to-end system. I was working with several technologies that were new to me, including React, FastAPI, SQLAlchemy, and machine learning libraries, which required me to learn as I built.

I also encountered challenges with integrating the Gemini API. Due to periods of high demand, the API was not consistently available (including the demo video!), which required me to adapt my implementation and continue development despite the limitation.

Accomplishments that we're proud of

I'm proud that I built a complete end-to-end application, connecting the database, backend, data analysis and machine learning components, APIs, and frontend into one working system.

I also gained hands-on experience with several technologies that were new to me and learned how to integrate them into a larger application. Building the project from the database layer all the way through the user interface gave me experience that I can carry into future software and data science projects.

What we learned

Throughout the project, I learned how the different layers of a full-stack application work together and how to integrate data analysis and machine learning into a user-facing application.

I also learned how to work with external APIs, structure a backend with FastAPI and SQLAlchemy, process financial data using Pandas and NumPy, and connect those results to an interactive React frontend.

Most importantly, I learned how to take a problem that involves multiple sources of data and technologies and turn it into a single, accessible application.

What's next for Student Portfolio Analyzer

There are several features I would like to add in the future:

  • Brokerage account integration: Allow users to securely connect brokerage accounts from platforms such as T. Rowe Price and Morgan Stanley so their portfolio information can be imported automatically rather than entered manually.
  • Multi-user accounts: Add user authentication and account functionality so multiple users can securely manage their own portfolios.
  • Enhanced security: Strengthen security and privacy measures, particularly when handling real financial and brokerage data.
  • Expanded portfolio analysis: Add additional insights and analysis to help users better understand diversification, risk, and portfolio performance.
  • More data sources: Incorporate additional financial and economic datasets to provide users with broader context for their investments.
Share this project:

Updates

Submission history