Why study 1678#
Team 1678, Citrus Circuits (Davis, CA), publishes a detailed scouting whitepaper most years and open-sources much of its tooling. It is one of the most-cited references for a fully electronic, high-volume scouting operation, and its architecture is worth reverse-engineering even if you build something smaller.
The pipeline shape#
The system follows a clean collection -> consolidation -> server -> viewer flow, with distinct apps for distinct roles rather than one monolithic app. The 1678 GitHub release reflects this with separate repositories such as Match Collection, Pit Collection, Server, Viewer, and Stand Strategist:
- Stand / match collection app: a fleet of devices, one scout per robot, tapping actions live. Output is encoded as QR codes, the same offline-first idea as QRScout, so no venue wifi is needed.
- Super-scouts: dedicated scouts who capture subjective, hard-to-quantify information (driver skill, defense quality, robot reliability, strategy) that objective taps cannot, kept separate from the objective counts.
- Pit collection: robot specs, dimensions, mechanism details, and reliability notes gathered in the pits.
- Server / consolidation: scanned QR data is aggregated, scout records are reconciled, and derived metrics are computed automatically because matches happen faster than humans can compile by hand.
- Viewer / Stand Strategist: strategists browse computed team profiles, rankings, and predictions to drive picklists and match plans.
The key design principles to steal#
- Separate objective and subjective data. Stand scouts record raw counts; super-scouts record judgments. Mixing them lets bias leak into your hard numbers, so keep the streams distinct and label the subjective ones.
- Multiple roles, not one super-app. Splitting collection, super-scouting, pit, server, and viewer keeps each tool simple and each scout focused on one job, which is the single biggest accuracy lever.
- Automate aggregation. The whole point of the server is that no human can keep up with the match pace; computed metrics and predictions are generated continuously.
- Measure your own data accuracy. Their whitepapers explicitly analyze data accuracy and document lessons learned, treating the scouting system itself as something to debug and improve season over season.
- Plan for second-pick ability. Beyond raw scoring, they derive how useful a robot is as a second pick, recognizing that the best alliance is built from complementary roles, not three copies of the highest-rated robot.
What to copy at your scale#
You do not need 1678's headcount or custom server to use the architecture:
- A rookie/mid team can replicate the shape with QRScout for stand collection, a Google Form for super-scout subjective notes, and a single aggregation spreadsheet acting as server + viewer.
- The principles, separate objective/subjective, one job per scout, automate aggregation, measure accuracy, evaluate second-pick fit, scale down perfectly to a paper-plus-spreadsheet operation.
Read their published whitepapers and open-source repositories at citruscircuits.org/scouting; they are written to be reused by other teams, and each season's release reflects the current game. The lesson is not "build exactly this"; it is "adopt the architecture and discipline, sized to your team."
the part worth keeping
Key takeaways
- 1678's system is a role-separated pipeline: stand collection (QR) -> super-scouts -> pit -> server consolidation -> strategist viewer.
- Their reusable principles: separate objective from subjective data, one job per scout, automate aggregation, measure accuracy, and evaluate second-pick fit.
- The architecture scales down: QRScout + a super-scout Google Form + one aggregation sheet replicates the shape for a small team.
Scouting & StrategyAdvanced Techniques & Case Studieslesson 1 of 5
Keep going
Take the quiz+10 XP with an accountMore in Advanced Techniques & Case Studies
where this came from
Sources and corrections
This lesson is AI-assisted: drafted from primary sources, then reviewed and edited by hand. Errors still get through. When one is reported we fix it and write down what changed, in public, in the corrections log.
sources and further reading
- citruscircuits.orgCitrus Circuits Scouting Resources & Whitepapers (Team 1678)
- github.comCitrus Circuits - GitHub organization (Server, Viewer, Match Collection)
- thebluealliance.comThe Blue Alliance - Team 1678 profile
clipped to this lesson
Articles that go further on this
The lesson gets you through the topic. These go wider on it, and they read in one sitting.
- 20 min readBuilding an FRC Scouting App: Data Model, TBA/Statbotics APIs, and PicklistsBuild an FRC scouting app: match and pit scouting, a simple data model, pulling schedules and EPA from the TBA and Statbotics APIs, and building a picklist./blogread it
- 4 min readFRC Scouting Guide: How to Scout and Build a PicklistLearn how FRC scouting works, what OPR and EPA actually measure, and how to turn match data into a ranked picklist for alliance selection./blogread it
- 6 min readFRC Scouting Sheet Template: Printable Paper Sheet + Google Form to Sheets SetupA ready-to-print FRC scouting sheet plus a Google Form to Sheets setup that auto-averages one row per scout into per-team stats, with a 2026 REBUILT note./blogread it
answer sheet
Lesson quiz
All 4 right completes the lesson. Miss one and only that question comes back, anything you already answered correctly stays banked.
0 of 4 answered
01In Team 1678's pipeline, what is the job of the server / consolidation stage?
02Beyond objective action counts, what do 1678's dedicated super-scouts capture?
03Why does 1678's design automate aggregation on the server instead of compiling by hand?
04Which design principle from 1678 is meant to keep bias out of your hard numbers?
Answer every question to submit.
All 32 lessons in Scouting & Strategyopenclose
01 / prerequisites
02 / scouting-fundamentals
03 / building-a-scouting-system
04 / data-analysis-tba-statbotics
05 / strategy-picklists-and-match-play
06 / worked-examples-and-mini-projects
- Not read yet:Project 1: Configure a QRScout Form for REEFSCAPE
- Not read yet:Project 2: Compute OPR by Hand, Then in a Spreadsheet
- Not read yet:Project 3: Pull Live Data with the TBA and Statbotics APIs
- Not read yet:Project 4: Build an EPA-Component Robot Ranking Sheet
- Not read yet:Project 5: Assemble a One-Page Pre-Match Prep Sheet
07 / common-mistakes-and-troubleshooting
08 / advanced-techniques-and-case-studies