MSL Robotics & SWE Intern
NASA Jet Propulsion Laboratory · Pasadena, CA · Jun — Aug 2023
Worked on the Mars Science Laboratory (Curiosity rover) operations team — specifically on the tooling that mission planners use day-to-day to sequence rover activities.
The headline win was a 90% speedup of the daily planning scripts. The original scripts made dozens of calls to external services on every run, with no caching and no parallelism, so a single planning cycle took several minutes — multiplied across dozens of cycles a day by multiple planners. I profiled the scripts to identify the actual hotspots (which turned out not to be where the team had assumed), modularized the slowest sections, mocked external service calls during development so iteration didn't require live-network round trips, and parallelized independent operations.
The second project was an automated reporting pipeline: a system that generates rover-operations HTML reports with dynamically generated text and images from the day's telemetry. Previously these were assembled by hand from disparate sources. The pipeline lets ops engineers see the day's status in one consistent format, with images rendered fresh from the current data each cycle.
Highlights
- 0190% speedup of Curiosity rover daily planning scripts via profiling-driven refactoring
- 02Mocked external service calls for fast local iteration (no live-network round-trips)
- 03Automated HTML reporting pipeline with dynamic text + image generation from telemetry
- 04Worked directly with mission ops engineers on tooling used in active rover operations