Projects

Safe to Surf (Group Project)

A social map app for surfers that pulls ocean & weather data from NOAA and lets users save favorite surf spots, check wave heights, and quickly scan conditions before paddling out.

Core Features

  • Live Conditions — Integrates NOAA feeds for wave height, swell period, wind, and tides.
  • Saved Spots — Users can bookmark surf breaks and view quick condition snapshots.
  • Interactive Map — Pan/zoom map with spot pins and tooltips for current readings.
  • Mobile-first UX — Quick scan cards and large tap targets for beach-side use.

Tech Stack & Files

  • Next.js 14, React, Tailwind, Leaflet (map), NOAA APIs.
  • Fetch + transform NOAA station/point forecasts.
  • Saved spot preview with condition badges.
  • Interactive map with pins & popovers.

Internship Location Filter

A tiny utility that converts a GitHub internship list (HTML table) into a clean CSV and lets you filter roles by city/state (e.g., “Chicago”, “MA”, “Remote”). Great for quickly narrowing Summer 2026 internships by location.

Core Features

  • Reads raw HTML tables and outputs a structured CSV.
  • Interactive prompt to filter by any location substring.
  • Saves filtered results to filtered_internships.csv.

Tech Stack

  • Python, Pandas, lxml, html5lib.
  • CLI script designed for quick local use.

Operating Systems — Kernel Rewrite in C

An ongoing course project reconstructing a teaching OS in C (with a bit of assembly). I worked on low-level subsystems like serial I/O, RTC, interrupts, and process management. The goal is to internalize how an OS boots, manages hardware, schedules work, and handles memory.

Core Features

  • Boot & Interrupts — GDT/IDT setup, ISR stubs, interrupt controller config.
  • Device Drivers — COM1 serial driver (polling), basic RTC read/write utilities.
  • Process & Scheduling — PCB layout, ready queues, context-switch scaffolding.
  • Memory Primitives — Page-aligned alloc routines and safe string/memory helpers.

Tech Stack & Files

  • C, NASM, Clang, Make.
  • kernel/core-asm.s — low-level entry points and ISR trampolines.
  • kernel/core-c.c, kernel/serial.c — init, serial I/O, helpers.
  • include/mpx/* — headers for interrupts, IO ports, serial, and VM.

Discord Sneaker Resell Bot

A full-stack Discord bot that lets sneakerheads snap a photo and instantly see retail and resale pricing. It combines Google Vision, web scraping, and asynchronous Discord interactions to deliver results in seconds.

Core Features

  • Image Recognition — Google Cloud Vision identifies the sneaker model from a user-uploaded photo.
  • Data Scraping — Scrapfly + RapidAPI pull retail & StockX resale prices, size charts, and release info.
  • Interactive Commands — Users run/checkin Discord to view prices, availability, and a purchase link.

Tech Stack & Files

  • bot.py — Discord.py client, command routing, async event loop.
  • .env — API keys & tokens (git-ignored for security).