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.
Distributed cloud services including heirarchical file storage, user accounts, and email. Implemented over a fault tolerant, distributed key-value store inspired by Google Bigtable.
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.
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.
A single-threaded OS abstraction with kernel, priority scheduler, FAT-like filesystem, and process control blocks.
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:
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.
Maintain and serve as team lead for the official course review platform for the University of Pennsylvania.
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.
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
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 website for Princeton High School's newspaper club, The Tower. Written with Next.js, Prisma, and TypeScript and uses postgreSQL as a database
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.
A bare metal, 32-bit kernel + custom bootloader written in C and Intel x86. All it does is play guess the number.