Hi, I'm Yuvraj.

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

I build demand forecasting models that run in production. At Altametrics I work on daily sales forecasting for four national restaurant chains across thousands of locations, where forecast error came down from 12% to 5% — which isn't an academic number, because the forecast is what the labor schedule and the food order get built on.

The rest of my time goes into systems. A path tracer whose bounding volume hierarchy takes a reference render from 40 seconds to 0.173. 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'm working on


Machine learning at Altametrics

Machine learning intern · Costa Mesa, CA

Production demand forecasting for McDonald's, Taco Bell, Jack in the Box and Chipotle — thousands of locations, daily horizon. I own the model lifecycle end to end: 30+ engineered features drawn from weather, zip-code demographics, holidays, school calendars, national events and macroeconomic indicators; cross-validated tuning; back-testing across more than two years of history.

Forecast error came down from 12% to 5%. Downstream that is tighter labor scheduling and lower food cost, which is the entire reason the model exists.

I've run this alongside a full Berkeley course load in two consecutive summers — CS 61C in 2025, CS 184 and CS 161 in 2026.

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

Low-cost robot manipulation data

Residual Robotics · 5-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're collecting mass UMI data from skilled laborers in India to widen that, and selling it 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 design the gripper in CAD — full assembly in Onshape, jaw linkage, camera mount, IMU housing, fiducial plate. I re-specced it off its $298 GoPro toward a webcam, microcontroller and IMU, then did the design-for-manufacturing work to get all 16 printed parts off the bed with zero slicer supports.

Onshape · FDM printing (PLA+ / TPU) · AprilTag fiducials · camera calibration
2026 – present

Automated FEM — a learned surrogate for elastostatic simulation

CS 184 final project · 2-person team with Ninad Atale · in progress

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 are building a solver that generates its own training set by sweeping load cases automatically, training a graph neural network on the mesh, and exposing the result as a viewer you can push on and watch deform in real time.

Three pieces. A mesher: Assimp to load CAD and COLLADA, a manifold validity check, TetGen to discretize into tetrahedra. An evaluator that applies fixed supports and point loads and solves the elastostatic PDE for displacement and stress. Then a GNN over the mesh graph, message passing on node and edge features, targeting a 10-minute training budget on meshes under 10,000 elements.

Scoped to linear elasticity and direct forces; no torques, no anisotropy. Accuracy is measured against our own solver's solution, not against a commercial one, because matching topology across representations is its own problem. Proposal submitted 27 Jul 2026. Nothing here is a result yet.

C++ · 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 my CS 184 MeshEdit submission. Full write-up →