Internship · Frontend & AI
July 2026—present
Frontend designer and AI engineer at OpenGraph AI, an open-source
platform that turns tables, text, images, audio, and video into
queryable knowledge graphs for AI agent reasoning.
I designed and built the full public-facing landing page end to
end—marketing narrative, an interactive graph-exploration
playground, and a guided pipeline walkthrough—on React 19,
TanStack Router/Start/Query, Tailwind, and shadcn/ui, with
Supabase-backed auth and graph export. It isn't published yet;
I'm opening my first PRs next. I've also contributed to the
project's Model Context Protocol (MCP) tooling for
opengraph-image, which exposes five MCP tools so
any MCP-compatible agent can build and reason over an
image-derived knowledge graph conversationally.
React 19 · TypeScript · TanStack · Tailwind · shadcn/ui · Supabase · Python · MCP
Hardware · Air quality
vivo Ignite 2026 · Achiever 30, Ed. 4
Aether Smart Badge
A wearable air-quality monitor for outdoor workers. The badge
measures the PM2.5 a person actually encounters, keeps track of
cumulative exposure, and gives a physical warning through a haptic
motor. A phone connects over Bluetooth and adds a server-generated
72-hour pollution forecast.
- ₹4,433
- core badge parts
- 142 / 142
- app tests passing
- 51.14
- +24 h MAE (µg/m³)
The first badge is assembled. An ESP32-C3, an SPS30 particle sensor
and a BME280 sit in a 3D-printed enclosure, and the badge's own
display shows the air-quality band, live PM2.5, running shift dose,
temperature and humidity, with no phone required. The companion app
is an installable PWA, also packaged for Android, and the FastAPI
server that feeds it passes its 15 API tests.
Prototype Glimpse
Select to inspect full size
Hardware
Assembled Aether Badge: Live PM2.5, Band and Shift Dose On-Device
×
App Glimpse
Select a screen to enlarge
Pair
Pair the Badge, No Account
×
Now
Live Reading and Shift Dose
×
Forecast
Mask Hours and 72-Hour Outlook
×
I froze the evaluation rules before training. The deployable
gradient-boosted model clears the +24-hour gate on an untouched test
winter (51.14 MAE and 84.62 µg/m³ RMSE, versus persistence at
51.86 and 99.46) and remains the forecast used by the demo.
The retrained residual Fourier Neural Operator is a partial success:
on the anchored evaluation it beats persistence and climatology at
+6, +48, and +72 hours, but not at +24 hours. I report the winning
and losing horizons explicitly; the next model change is a trained
origin-observation channel, not an unsupported production claim.
Still open: the sensor has not been calibrated against a reference
monitor, so dose is a relative measure for now; the forecast in the
demo is a labelled historical hindcast, not live data; and no badge
has yet run a full shift on a worker. Calibration and a small field
pilot come next.
ESP32-C3 · C++ · BLE · Python · FastAPI · PWA · CadQuery · 3D printing · forecasting
Medical imaging · Competition
In progress
RSNA Knee MRI Abnormality Detection
A system for predicting twelve knee abnormalities from multi-series
MRI scans. The dataset contains 4,407 studies but only 58 with expert
labels, so I used multilingual radiology reports to create soft
supervision for the remaining scans, then trained a 2.5D vision
transformer across sagittal, coronal, and axial views.
- 0.7835
- pooled OOF macro AUC
- +0.0973
- AUC over the first version
- 819,078
- training DICOMs audited
With the imaging architecture held fixed, a stronger three-source
report-label ensemble improved every validation fold. Its label AUC
was 0.8956 on the common 57-study expert subset, while five-fold mean
imaging AUC rose from 0.7239 to 0.8125. The 0.7835 figure is the strict
pooled out-of-fold result across all 58 expert-labeled studies. A
competition leaderboard result is still pending, and this is a
research system—not a clinical diagnostic tool.
Notebook & Model Glimpse
Select to inspect full size
DICOM Processing
Cached Series Slices (Full-FOV Aspect-Fitted)
×
Aspect-fitted multi-slice knee MRI series (Slice 0 to 14) · 1919 × 921 px
Open full size ↗
Gate Verification
Overfit Training Gate: BCE Loss, Accuracy & Macro AUC
×
Convergence curves reaching loss ≤ 0.05, accuracy 100%, macro AUC ≥ 0.99 · 1920 × 919 px
Open full size ↗
Pipeline Setup
Study Cache Inspection & Gate Specifications
×
Tensor cache dimensions, hit rate verification, and gate setup · 1920 × 911 px
Open full size ↗
Training Logs
160-Epoch Memorization Gate Progress
×
Epoch-by-epoch loss reduction and macro AUC progression to 0.9874 · 1921 × 920 px
Open full size ↗
Model Evaluation
Gold Fine-Tuning Loss & Held-Out Macro AUC
×
Training BCE loss and held-out gold macro AUC across 11 fine-tuning epochs · 1275 × 392 px
Open full size ↗
PyTorch · DINOv2 · DICOM · weak supervision · five-fold validation
Web · Physics
Complete
A browser-based physics lab for learning by changing a system and
watching it respond. I built interactive simulations that connect
equations with motion, parameter sweeps, and visual experiments.
- 40
- interactive simulations
- 8
- subject areas
- 3
- numerical solvers
The library spans mechanics, fluids, electromagnetism, optics,
thermodynamics, waves, quantum mechanics, and introductory machine
learning. Simulations include live measurements, graphs, guided
experiments, and data export.
Simulation Glimpse
Select to inspect full size
Thermodynamics & Mechanics
Interactive 4-Stroke Crank-Slider Engine & Live PV Diagram
×
Interactive 3D engine at 240 RPM with real-time pressure-volume cycle · 1920 × 885 px
Open full size ↗
Quantum Mechanics
Wave Packet Barrier Tunneling, 3D Waterfall & Transmission
×
Time-dependent wave packet dynamics with rotating 3D waterfall history · 1920 × 883 px
Open full size ↗
Fluid Dynamics
Kármán Vortex Street Velocity Field Simulation
×
Fluid flow velocity field and shedding vortices behind an obstacle · 1920 × 882 px
Open full size ↗
Library
Physiverse Lab: Interactive Simulation Catalog
×
Catalog browser spanning mechanics, fluids, quantum, thermodynamics · 1637 × 948 px
Open full size ↗
JavaScript · Canvas/WebGL · RK4 · adaptive RK45 · Yoshida integration
Education · AI
Prototype
Open-response marking engine
A tool for comparing written student answers with a teacher’s rubric.
I combined language-model feedback with semantic matching and fixed
validation rules to make the scoring more consistent and easier to
audit.
Python · language models · REST APIs