Back to home

Personal Projects

Below are links to and short descriptions of personal projects I've deployed to the web. For source code and more, see my GitHub profile.

  • Random Episode Generator

    A web app built to combat boredom through streaming services – enter a few of your favorite shows, and you'll get a random episode from one of them to watch.

    Full-stack web app with a Flask back-end and a React front-end, deployed to a DigitalOcean droplet.

    Try it!
    Source code
  • Spotify Top Tracks

    A web app for finding the most popular songs from an artist. I was disappointed that Spotify only showed the top 10 most popular songs from a specified artist, so I created this site to show the top 100.

    Full-stack web app with a Python (Flask) back-end and a React front-end, deployed on DigitalOcean.

    Try it!
    Source code
  • ESPN Fantasy Coach of the Year

    Built to settle arguments about exactly why my fantasy football teams always seem to compete but never actually win the league, this web app analyzes game results in a given ESPN Fantasy Football League to crown a Coach of the Year and GM of the Year.

    REST API built with a Flask back-end and SQLite database, with a front-end and full-stack deployment coming soon.

    Source code

Class Projects

I've worked on a lot of projects as part of my coursework at Michigan – here are some highlights. Per University of Michigan rules, most of these projects are in private repositories, but the code is available upon request.

  • Multithreaded Network File Server

    EECS 482: Operating Systems

    A low-level network file server that supports reading and writing to file blocks and creating and deleting directories and files through remote procedure calls.

    Implemented in C++, using Boost threads and shared mutexes.

  • Instagram Clone

    EECS 485: Web Systems

    An Instagram clone that supports account creation, uploading photos, commenting, liking, following, and more through a REST API and an interactive UI on the client-side.

    Implemented with a React front-end and a Flask back-end, with a SQLite database.

  • Spotify Running

    EECS 497: Human-Centered Development

    A re-implementation of an old Spotify feature to match user's running pace to the tempo of their saved songs to help running performance. Built to gain experience designing with the user in mind and developed after a semester of user interviews, prototyping, and more.

    Implemented using the Spotify API and a Flask back-end.

    Source code
  • Memory Manager

    EECS 482: Operating Systems

    An OS-level pager to handle memory pages for user applications. Implements system calls that applications can use to create, copy, and destroy address spaces, allocate space in an existing address space, and switch between address spaces.

    Implemented in C++ as an interface to simulated hardware.

  • Wikipedia Search Engine

    EECS 485: Web Systems

    A search engine for Wikipedia articles that uses a scalable MapReduce indexing algorithm and a combination of PageRank and tf-idf scores for results.

    Used a Hadoop pipeline to build the search index, and implemented the search engine with a Flask API and React front-end.

Icons made by Freepik from