Projects

Distributed Cloud

Distributed cloud services including heirarchical file storage, user accounts, and email. Implemented over a fault tolerant, distributed key-value store inspired by Google Bigtable.

RISC-V Processor

A 6-stage pipelined processor written in SystemVerilog with support for the RV32UI instruction set. Compatible with a simplified AXI-Lite memory interface. 28.27 MHz on the dhrystone synthetic computing benchmark.

txv6

An extension of the xv6 operating system, a simple Unix-like OS used for educational purposes, with OS-level transaction primitives based on TxOS (SOSP 2009). Featuring atomic commit/abort for groups of system calls, implemented in C and RISC-V assembly.

Penn OS

A single-threaded OS abstraction with kernel, priority scheduler, FAT-like filesystem, and process control blocks.

Opportunistic Parallelism in PL

Proof of concept compiler from a subset of Python to a lambda calculus based functional IR. Parallelizes computation opportunistically while preserving programmer intent. Related publication below:

Oat Compiler

Fully functional compiler to x86 assembly from Oat, a simply typed language featuring functions/lambdas, structs, arrays, and strings. Features a type checker, parser, and custom codegeneration to/from LLVM IR. Used basic dataflow analyses to implement optimizations like dead code elimination, constant propogation, register allocation, and more.

Penn Course Review

Maintain and serve as team lead for the official course review platform for the University of Pennsylvania.

Netsagram

A scalable instagram clone, including authentication, post rank, RAG facematch, and friend recommendation microservices. Leveraging Apache Kafka, Apache Spark, ChromaDB, and various AWS services deployed through Terraform.

Sparkify (Penn Spark Fall 2023)

A web app that uses AI to generate a user's collage of their top music taste on Spotify. Built with Python, Svelte, and AWS Lambda

The Daily Pennsylvanian Platform API

A unified API for The Daily Pennsylvanian, Under the Button, and 34th Street websites, as well as the DP+ mobile app. Built with Express, MongoDB, and TypeScript

The Tower PHS

The website for Princeton High School's newspaper club, The Tower. Written with Next.js, Prisma, and TypeScript and uses postgreSQL as a database

Asciiframe

A command-line tool that can convert any video (or image) into a stream of ascii characters that can be played in the terminal. Written with Rust and Open Computer Vision.

Guess the Number OS (Kernel)

A bare metal, 32-bit kernel + custom bootloader written in C and Intel x86. All it does is play guess the number.