Software

Tools we wrote ourselves

Scouting, analytics, and the alliance picklist. Built by students on the team, for problems we actually hit at competitions.

01

Bubblotics Scouting

Offline-first match scouting, analytics, and alliance picklist.

In progress

Scouting data is only worth anything if it is complete and trustworthy, and both fail in the same place: a noisy venue with no usable wifi. Scouts miss matches, entries get lost on a dropped connection, and by alliance selection nobody knows which numbers to believe. This app is built so neither happens.

  • The form never touches the network Entries are written straight to the phone’s own database, and a separate background module is the only code that ever uploads. A scout can work through an entire day fully offline and lose nothing.
  • Retrying cannot create duplicates Every entry carries an ID generated on the phone, and uploads are an upsert against it. A sync interrupted halfway and retried updates the existing row instead of adding a second copy, which is the usual way offline apps quietly corrupt their own data.
  • Scout accuracy is measured, not assumed Per-robot autonomous estimates are compared against the posted alliance scores to flag scouts whose numbers drift. Because alliance-scoped actions are excluded, every scout reads low by the same amount, so the comparison is against the median rather than against zero.
  • Coverage gaps surface before they matter The manager view generates the scout rotation and then shows which matches and robots have no data, while there is still time to fix it rather than after the event.
  • Next season is a one-line change Game-specific fields live in a single swappable module and answers are stored as a JSON blob, so moving from DECODE to next year’s game needs no database migration. The form, exports and analytics all follow automatically.

On the list

Scoped, not built

Things we have specced out and intend to build. Listed separately on purpose: nothing here exists yet.

Battery and current dashboard

Log pack voltage and per-motor current every match, then correlate voltage sag against autonomous success. Sag is a common and under-diagnosed cause of an auto that works in the pits and misses on the field.

Launcher trajectory calculator

Given goal distance and height, solve for flywheel speed and release angle, and check the result against measured shots.

Parts inventory

Track what is in stock, what is on order, and what is on the robot, so build season stops losing hours to hunting for a part that was never ordered.

Talk shop

Want the details?

Happy to walk another team through how any of this works, or to share what we learned building it. Email us.