██╗ ██╗██╗██████╗ ██╗ ██╗██████╗ █████╗ ██╗ ██╗ ██║ ██║██║██╔══██╗██║ ██║██╔══██╗██╔══██╗██║ ██║ ██║ ██║██║██████╔╝███████║██████╔╝███████║██║ ██║ ╚██╗ ██╔╝██║██╔══██╗██╔══██║██╔══██╗██╔══██║╚██╗ ██╔╝ ╚████╔╝ ██║██████╔╝██║ ██║██║ ██║██║ ██║ ╚████╔╝ ╚═══╝ ╚═╝╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═══╝
CS × Data Science × Economics @ UW–Madison
Product-minded engineer working across full-stack, applied AI, and backend infrastructure.
studying: B.S. CS + Data Science + Economics — GPA 3.755, Dean's List ×3
open_to: SWE / Full-Stack / Infra — Fall 2026 & Summer 2027| Languages |
|
| Frontend |
|
| Backend & Cloud |
|
| AI / ML |
|
| Data & Storage |
|
| Big Data & Distributed |
|
ACERT, Cornell University — Undergraduate Research Assistant · Jul 2026 – Present
Video forensics — perceptual fingerprinting under adversarial transforms.
- Benchmarking pipeline evaluating 600+ source videos against up to 2,000+ horizontal, vertical, and combined-flip variants
- Reproducible evaluation workflow generating byte-level SSIM fingerprints, measuring continuous match rate, normalized Hamming distance, and fingerprint length
Darukaa.Earth — Software Engineer Intern, Platform · May – Jul 2026
Geospatial + bioacoustics platform for biodiversity monitoring.
- 8–10× inference throughput — replaced synchronous Vertex AI calls with GCP Batch Prediction, cutting per-file processing from 40–50s to ~5s and trimming $80–95/env/month in cloud spend
- Idempotent orchestration for 500-file audio batches with FastAPI + async SQLAlchemy, linking GCS objects and PostGIS metadata to distributed Vertex AI outputs while preserving source-file traceability
- Camera-trap species detection pipeline on Cloud Run (GCS + SpeciesNet + PostgreSQL), handling 1,000–2,000 images per client site
People & Robots Lab, UW–Madison — Undergraduate Research Assistant · Jan 2026 – Present
- Built an Android safety-guidance application for an IRB-approved HCI study involving adults with intellectual and developmental disabilities, integrating AccessibilityService, MediaProjection, and Gemini to analyze on-screen activity and render real-time risk guidance
- Hardened AI-generated guidance by implementing a deterministic
RiskAssessorthat validates structured Gemini outputs, rejects malformed responses, and enforces rule-based safety floors before irreversible user actions
VDart Inc. — Software Engineering Intern · May – Aug 2025
Production AI infrastructure for enterprise proposal workflows.
- Automated RFI/RFP pipeline (IBM Docling + Llama 3 + Gemini) cutting turnaround from two weeks to under 24 hours — 3× team capacity
- Shipped React chat interface + FastAPI backend serving 50+ BI users: file upload, document ingestion, retrieval-backed query, response parsing
- 96% retrieval accuracy against historical proposal benchmarks via layout-aware ingestion and semantic chunking preserving tables, headers, and hierarchy
|
Screens skin lesions for cancer risk without ever touching the internet. Four containerized services: an ONNX classifier behind a Built for the case where sending a patient photo to a cloud API isn't an option — rural clinics, air-gapped networks, anywhere HIPAA makes uploads a liability. The whole stack runs on a laptop. |
Screen-time dashboard, except for studying. Pomodoro and stopwatch timers per subject, Firestore-backed session history, a 1–5 focus rating after every session, streaks, and a calendar heatmap. Students consistently overestimate how much they studied and underestimate where the hours went. StudyFlow makes both legible — weekly trend charts that show which subject is quietly eating the week. |
|
Market data that survives a broker outage without losing or double-counting a single tick. Fault-tolerant ingestion pipeline with exactly-once semantics enforced through atomic checkpointing — the hard part of streaming finance data isn't throughput, it's that a duplicate trade is worse than a dropped one. |
Sensor ingestion that keeps accepting writes while a third of the cluster is down. 3-node Cassandra deployment holding 100% write availability through 33% node failure, with Spark batch jobs over the collected series. Modeled on the constraint that weather stations don't stop reporting because your database is having a bad day. |
|
Turns 1,000+ scattered startup pages into a searchable deal pipeline. Scraping and normalization layer that structures messy founder-facing web copy into comparable profiles, so an investor can filter by stage, sector, and traction instead of opening forty tabs. |
Contest submission data at scale, analyzed for what actually correlates with improvement. Spark pipeline over large volumes of competitive programming submissions, surfacing patterns in problem categories, failure modes, and rating movement. |
Last updated August 2026
Details here keep changing — that's the nature of the work.
Some of it is under NDA, some is mid-flight, and some isn't public yet.
So please treat this README as a snapshot of my work 😄
To know more → reach out


