Skip to content
All of my projects for Harvard's CS50 2018
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

My CS50 Projects

This repository contains all of my projects/programs/apps made for Harvard's CS50. Descriptions and demos for selected projects are below.

C Python Javascript jQuery JSX
React Native Redux Flask Jinja SQLite

Crypto Dashboard

React Native Redux

The code for Crypto Dashboard can be found in this repository: crypto-dashboard

A React Native mobile app that displays market info and news on the top 200 cryptocurrencies by market cap.

Each cryptocurrency can be clicked to view more price-related and technical information such as its available, total, and maximum supply.

This app uses React Native and Redux to store each coin's information from CoinMarketCap and news from CryptoPanic.

I used this guide by Indrek Lasn to help set up react-redux as a single-page app with a list of cryptocurrencies and then added multi-page navigation and an action to fetch news to the redux store when a coin's page is visited.

app screenshot app gif

Demo Video:

Youtube Video

Local News Map

Flask SQLite Google Maps API
Python Javascript jQuery

A Flask app (utilizing an SQLite database) that searches for local news.

The user can pan and zoom around the map or search by zipcode, city name, or state name. This site uses Flask with the Google Maps API and utilizes an SQLite database with city name, state, and zipcode information.

app screenshot app gif

Stock Exchange

Flask SQLite Jinja
Python Javascript jQuery

A Flask app (utilizing an SQLite database) that lets users register, login, get stock quotes as well as buy and sell stocks. Users also have the option to delete their account and all associated data from the database.

app gif


Flask Jinja
Python Javascript

A Flask app that lets user upload two files and see the similarities between the files (by substring of n length, by sentence, or by line).

app interface app results 2

Password Cracker

C Python

A command line program that cracks passwords hashed with C's DES-based crypt function (i.e. passwords stored in Linux's ~/etc/shadow) that are up to 5 characters in length and composed of uppercase and/or lowercase alphabetical letters.

This program was written in C and ported in Python. The C version is a bit faster :)

python version C version

Spell Checker


A command line program written in C that compares a text file that compares large text files against dictionary files to find mispelled words (or words not found in the dictionary).

The program spell-checking all of Leo Tolstoy's "War and Peace":


JPG Recovery


A command line program written in C that recovers .jpg files from a corrupted memory card.

And More...

I completed a number of other programs for this class, including a music-making program, a message encryption program, a credit-card verification program, and an image resizing program, all of which were written in C. They can be found in psets 2-4.

You can’t perform that action at this time.