projects

My personal and professional projects. Click on the cards to find the github repos and/or learn more.

Train PlannerDesigned a full, working CPU in SystemVerilog, implemented on an FPGA circuit. Includes I/O integration (VGA, acclerometer, keyboard, buttons, LED, sound) and memory-mapping; I also wrote a 'train track planner' game in MIPS assembly (1,600+ lines) to demonstrate the processor functionality. Click to watch my project demo!

System Verilog

MIPS Assembly

Vivado

C

Nexys A7

Bitmap GeneratorA tool designed to help students in COMP 541 (Digital Logic) create sprites and bitmap memory files.

Nextjs

Digital Logic

System Verilog

Studio Keys A Python-based tool designed to enable the easy retrieval and recovery of UI/UX designs created with the (now) defunct Invision prototyping tool.

Python

Flask

GCS

Render

Tailwind

Portfolio (Classic)The first edition of my personal site, built in the traditional HTML/CSS/JS stack, before I upgraded & expanded it using modern frameworks. This project solidified my understanding of the core logic at play in web browsers, and a true appreciation of how far we've come today, with frameworks that make web dev practically intuititve (like React and Next).

HTML

CSS

JS

DOM Manipulation

SwipeSharea community-driven platform where college students can request or donate unused meal swipes for campus dining halls.

Nextjs

React

Supabase

Realtime

TSX

Shadcn

Figma

CSXL Student Showcase BoardMy team's final project for COMP 590 involved designing and implementing a feature for the UNC CSXL website that allows students to showcase their projects and explore others' work in a centralized, interactive feed. Click to watch our demo video!

Angular

FastAPI

SQLAlchemy

Kubernetes

Pokédex a Pokédex app to display information about Pokemon, moves, and items. Built using Next.js and the Pokemon API, deployed live to the internet via Vercel.

Nextjs

React Query

Tailwind

Vercel

WordleA recreation of wordle using React.js. Exercise to become familiar with the framework.

React

Pixel Art MakerCreate pixel art on a canvas that persists on page reload, with functionality to download paintings as pngs. exercise to practice using event listeners.

TypeScript

Fairly Odd CalculatorA little exercise to practice using typescript, arrow and higher order functions, and my favorite colors.

TypeScript