Yuvraj Shiv

Hi, I'm Yuvraj.

EECS @ UC Berkeley · machine learning engineer co-op at Altametrics · ML systems and things that run close to the metal.

↓

I build machine learning systems. At Altametrics I worked on daily sales forecasting for three national restaurant chains across thousands of locations, where I cut forecast error from 12% to 5%. I worked with the other interns on the data pipeline behind it. Since August 2026 I've been a full-time machine learning engineer co-op there, prototyping computer vision for restaurants.

The rest of my time goes into systems. A path tracer with a bounding volume hierarchy for acceleration. A relational database engine with a cost-based query optimizer and ARIES crash recovery. A 32-bit RISC-V CPU built from gates — 36 instructions, then re-architected into a two-stage pipeline. A Scheme interpreter, and a mini-GPS that localizes a microphone from six speakers.

What I've worked on


Machine learning at Altametrics

Machine learning engineer co-op, previously intern · Costa Mesa, CA

Production demand forecasting for Jack in the Box, Chipotle, and Buffalo Wild Wings — thousands of locations, daily horizon. I worked on the full model lifecycle end to end: 30+ engineered features drawn from weather, zip-code demographics, holidays, school calendars, national events and macroeconomic indicators; walk-forward cross-validation; hyperparameter tuning; back-testing against historical sales.

I cut forecast error from 12% to 5%. I worked with the other interns on the data pipeline behind the model — scheduled crawlers behind a rotating proxy pool, a headless browser for pages that render client-side, and an ETL layer that lands everything in a cleaned, de-duplicated store. I designed the schema with range partitioning and a composite index so the feature joins stay fast.

I ran this full-time in Summer 2025, then worked part-time in Summer 2026 on staffing forecasts — CS 61C alongside it in 2025, CS 184 and CS 161 in 2026. Since August 2026 I've been back full-time as a machine learning engineer co-op, on a computer vision prototype for restaurants that is still in testing. Fine-tuning a larger YOLO model raised precision, recall, IDF1, and count accuracy about 11% over the off-the-shelf model.

Python · XGBoost · LightGBM · CatBoost · Prophet · TimesFM
2025 – present

Low-cost robot manipulation data

Residual Robotics · 4-person team · Berkeley

Robot policies don't generalize the way language models do, and a large part of the reason is data: the manipulation corpora that exist are small and narrow relative to what the problem needs. We planned to collect mass UMI data from skilled laborers in India to widen that, to sell to robotics foundation model labs. The hardware is a handheld gripper you can carry into any environment and record real manipulation with, no robot required.

I owned the hardware. I worked on the gripper in CAD — a full parametric assembly in Onshape, jaw linkage, camera mount, IMU tray, fiducial plate — designing 3 of its 16 parts, and I designed our own PCB around a Raspberry Pi Zero for the sensing stack. V2 came down from 636 g to 200 g through topology optimization, and the design-for-manufacturing work gets all 16 printed parts off the bed with zero slicer supports. We raised $10K in pre-seed funding, and Y Combinator, which accepts under 1% of applicants, invited us to an in-person interview.

Onshape · parametric CAD · topology optimization · DFM · FDM printing (PLA+ / TPU) · AprilTag fiducials
Jul – Oct 2026

Automated FEM — elastostatics from a graph neural network

CS 184 final project · 2-person team with Ninad Atale · proposal site

Commercial FEM solvers make you re-solve from scratch for every new load case. For linear-elastic materials that is wasteful, because any load combination is a superposition of load cases you have already solved. We built a solver that generates its own training set by sweeping load cases automatically, and trained a graph neural network on the mesh to predict deformation with no solver in the loop.

A mesher (Assimp to load CAD and COLLADA, a manifold check, TetGen to discretize into tetrahedra) feeds a validated FEM solver that passes nine correctness checks and generates the training set. On top sits a MeshGraphNets-style GNN in PyTorch Geometric, encode-process-decode over node and edge features. I sized its depth against a measured receptive-field bound rather than a paper default: a load moves the whole part, but L message-passing layers only reach L hops.

Scoped to linear elasticity and direct forces; no torques, no anisotropy. Prediction error is measured against our own solver's solution, not a commercial one, because matching topology across representations is its own problem.

C++ · Python · TetGen · Assimp · PyTorch Geometric · graph neural networks · FEM
Jul – Aug 2026

Selected systems work


Course projects, but the real kind — each of these is a working system built from the primitives up. Full write-ups →

Path tracer + BVH Relational database engine 32-bit RISC-V CPU Scheme interpreter Procedural world engine Audio fingerprinting Acoustic positioning Memory-safety exploits Encrypted file sharing Analog guitar pedal

Figures


Animated line-of-sight rendering walking through a procedurally generated world
BYOW, line of sight. Only tiles the avatar can see are drawn, with walls occluding what sits behind them. Seeded at Long.MAX_VALUE. CS 61B →
STFT spectrogram beside its constellation map of peaks paired into hashes
Audio fingerprinting. Left, the STFT. Right, what survives a 51×51 maximum filter, each peak chained forward to the next 15 to form hashes. EECS 16A →
Ground truth image beside reconstructions from Hadamard and random masks under identical noise
Single-pixel camera. The same scene recovered through Hadamard masks and through random ones, under identical noise. Both matrices invert; the condition numbers are 34 and 3,886, and the difference is the whole argument. EECS 16A →
Six beacons with range circles and a least-squares position fix
Acoustic positioning. Six beacons, range circles from the recovered times of flight, and the least-squares fix. EECS 16A →
Teapot after one level of Loop subdivision
Loop subdivision, from our CS 184 MeshEdit submission. Full write-up →