Developed a Single-Page Application integrating a REST API for a job board servicing startups and students at the University of Illinois at Urbana-Champaign

Terrain Generation

Procedural terrain generator written with C (compiled into WebAssembly) using Perlin2D noise and visualized with HTML5/JavaScript. Prototyped in Python

  • WebAssembly
  • C
  • JavaScript

Git Get

A simple GitHub profile analyzer built to gain insight for users and organizations. Built with a React.JS frontend and a Go API to facilitate caching.

  • Go
  • React
  • JavaScript

Messenger Data Analysis

Quantitative metrics and textual analysis for Facebook Messenger data dumps. Using natural language processing to develop understanding about conversations.

  • Python
  • NLP


Progressive web app built with React and Python cloud functions to increase member engagement at university organizations. Designed and developed at HackIllinois 2020

  • Ionic
  • TypeScript
  • Python


Command-line interface to fetch information about files and directories on your system. Written with Haskell and the turtle hackage


Mobile application for SaverLife built to complement their existing web platform. Designed user interface and integrated state management

  • React Native
  • GraphQL


Resolves an image into a LaTeX formatted output for mathematical equations and proofs. Implemented image segmentation and OCR (Google Tesseract) with OpenCV

  • Python
  • OpenCV


A URL shortener accessible through a website or CLI. Supports easy-to-remember, randomly generated links or custom aliases

  • Python
  • Flask


Time estimations for Chicago Transit Authority (CTA) or the 'L'. Native mobile app and progressive web app integrating with Mapbox and the CTA's APIs

  • JavaScript
  • Ionic

Credit Card Validator

Utility to validate credit cards and determine an issuer using Luhn's checksum algorithm implemented in Haskell

SMM 2 Level Generator

Super Mario Maker 2 level idea generator with thousands of users. Provides three compatible enemies, a time, a theme and a twist