A distributed real-time data processing system that ingests taxi location
streams, processes events with low latency, and pushes live results to a dashboard.
- Focus
- Real-time ingestion and aggregation of high-volume location data with low latency, designed
for monitoring moving systems.
- Architecture
- Events are ingested via Kafka, processed in an Apache Storm topology, and key state is
stored in Redis for fast access.
- Delivery
- Aggregated results are broadcast to a live dashboard using WebSockets for immediate visual
feedback.
- Tech
- Apache Kafka, Apache Storm, Redis, Docker, WebSockets.
A small x86_64 operating system written in Rust that boots under QEMU and
implements core OS concepts such as paging, interrupts, a RAM-based filesystem, and a basic
interactive shell.
- Focus
- Build fundamental OS building blocks from scratch: boot setup, memory management, interrupt
handling, and command execution.
- Architecture
- Boots inside QEMU, initializes paging and interrupt tables, uses a TAR-backed RAM disk at
root, and provides a simple interactive shell with tab completion.
- Runtime
- Experimental support for executing WASM applications that render to the framebuffer and
return control back to the OS.
- Tech
- Rust, x86_64, QEMU, paging, interrupts, WASM, framebuffer.
An audio fingerprinting and retrieval system inspired by the classic Shazam
approach, designed to match short or noisy audio clips to a reference database.
- Focus
- Fast, robust retrieval using spectral fingerprint extraction and hash-based matching.
- Approach
- Converts audio to time-frequency features that are resilient to distortion or noise.
Web platform for structured peer-to-peer study matching and session
coordination.
- Focus
- Designed matching workflows connecting students by subject, availability, and learning
goals.
- Context
- Full-stack web application with structured user profiles, session scheduling, and matching
logic.
- Result
- Reduced coordination overhead and improved discoverability of study partners.
Time-series classification of Rocket League trick shots using in-game
telemetry and control signals.
- Dataset
- 297 labeled trick shot sequences used for training and evaluation.
- Method
- Extracted temporal features and statistical aggregates for maneuver classification.
- Approach
- Optimized for practical model performance under constrained data conditions.
- Tech
- Python, scikit-learn, time-series feature engineering.
Fault-tolerant distributed message broker with dynamic cluster coordination
and leader election.
- Architecture
- Implemented exchange and queue abstractions for reliable inter-broker communication.
- Discovery
- Dynamic broker registration via custom DNS-based service discovery.
- Resilience
- Leader election implemented using Raft, Ring, and Bully algorithms.
- Tech
- Java, distributed coordination algorithms, custom networking layer.
Interactive GPU-based 3D volume rendering for MRI and CT datasets.
- Rendering
- Implemented direct volume rendering for real-time exploration of volumetric data.
- Pipeline
- Three.js and GLSL shaders for GPU rendering, D3.js for analytical support views.
- Integration
- Combined visualization and analytics workflows for structured medical data analysis.
- Tech
- Three.js, GLSL, D3.js, WebGL.
Longitudinal analysis tooling for dependency update behavior across Java,
Python, and JavaScript ecosystems.
- Focus
- Measured propagation speed and adoption patterns of dependency updates over time.
- Parsing
- Processed Maven, Gradle, Python, and JavaScript manifests across full commit histories.
- Output
- Generated structured reports highlighting ecosystem-level update dynamics.
- Tech
- Python, GitPython, manifest parsing, data analysis pipelines.