← All work

Python · YOLO · Vue

Cyclone RoboSub

UC Davis's autonomous submarine team: YOLO gate detection on the perception side, and the team's public Vue site rebuilt for accessibility.

Role
Perception + web
Dates
2026
Stack
Python · YOLO · Vue

Live · cyclone-robosub.github.io

Overview

Cyclone RoboSub is UC Davis's autonomous submarine team. My work there has been split between the perception stack and the team's public website.

On perception, the task is gate detection: find the competition gate in the sub's camera feed and keep finding it while the sub moves. That runs on YOLO, with inference distributed across nodes so the detection rate keeps up with the camera rather than falling behind it.

The website is a Vue app covering the landing, about, team, subteams, sponsors, robots, join and contact views, with components for rendering Markdown and embedding PDFs so non-developers on the team can update copy and member lists without touching Vue. The source is released under BSD-3 as an example of the team's development practices, with the name and branding reserved.

On that site I rebuilt the infinite image carousel to meet the university's accessibility standard. The original was a mouse-only widget that animated continuously. The rebuilt one is a labelled region that takes keyboard focus, pauses on hover and on focus so it is not moving while someone is reading it, hides the decorative duplicate arrows from assistive technology instead of leaving them in the tab order, and opens images into a proper modal dialog with an accessible name and labelled previous, next and close controls. Every image carries alt text with a sane fallback.