Loading

Experience

Rivian

Embedded Software Intern (Jan 2026 – Aug 2026)

Re-architected a UDS/XCP diagnostic tool to reach the Electric Management Module on a private CAN network through the vehicle Ethernet gateway over DoIP, cutting setup-to-diagnosis time by 90%. Rewrote functional-safety monitor code generation to offset execution within each period, cutting peak FreeRTOS core utilization from 81% to 48%.

Raised telemetry capture from 200 Hz to 20 kHz with continuously populated ring buffers downloaded over CAN and UDS, and refactored the RAM PBIST driver to protect application code and remove races that caused firmware crashes.

Illini Electric Motorsports (UIUC FSAE)

Driverless Lead

Jul 2026 – Present

Leading development of a C++/ROS 2 perception pipeline for an Ouster OS1-128 LiDAR. Replaced vendored Patchwork++ with in-house ground segmentation, eliminating about 72,000 heap allocations per frame and cutting p95 latency from 3.91 ms to 0.95 ms.

Designed a 12-layer, eight-head transformer that classifies LiDAR candidate clusters as cone or non-cone from XYZ alone, reaching 99.90% precision, 84.50% recall, and 8.78 cm localization RMSE over 630 replay frames. Migrated inference to TensorRT on an NVIDIA Jetson AGX Orin, cutting p50 classifier latency from 3.05 ms to 1.43 ms with no accuracy loss.

Built a racing-line planner that initializes the path geometrically, then minimizes lap time under a speed profile with forward and backward passes enforcing braking and acceleration limits. Built yaw-rate-feedforward steering, feedforward and PI acceleration control, and a 200 Hz UKF fusing wheel odometry and INS.

View perception project →

View controls project →

BMS Project Lead

Aug 2025 – Present

Rewrote bare-metal firmware for a 140-cell BMS in FreeRTOS and migrated it from an STM32F4 to an STM32H733. Converted the LTC6811-2 and AMC131M03 drivers to DMA, raising cell polling from 1 Hz to 10 Hz and current sampling from 100 Hz to 4 kHz.

Implemented per-cell SOC, SOH, and SOP estimation at 200 Hz with under 1% SOC error after 22 km of driving, integrated an OpenBLT CAN bootloader, and validated the final system on the car.

View 2025–2026 IEM BMS →

AbbVie

Analytical R&D Software Intern (Jun 2025 – Aug 2025)

Built and deployed a department-wide RAG assistant for SOPs and equipment documentation, using Supermemory for retrieval. It cut retrieval time by more than 50%.

Connected the assistant to Microsoft Teams through Python and Power Automate so employees could use it in existing chats.