Every year, tens of thousands of students worldwide participate in the FIRST Tech Challenge — a robotics competition where teams design, build, and program robots to compete against other teams. For the Ultimate Goal season, I designed, built, and shipped a scoring app in a weekend. Scoring is essential, as it allows teams to see their robot grow and accurately see how other robots are doing at competitions. The goal of a good scoring app is to be fast, reliable, and focus on the robot first.
Current apps available aren't as intuitive, forcing the user to spend more time figuring out how the app works.
Some apps are developed for specific team needs over general needs, meaning that many teams have no reason to use these apps if their goals don't align.
Some apps are built in ways that have lackluster performance and appearance due to cross-platform or web-based frameworks. Utilizing a native framework provides the speed and familiarity we want.
With Skor, you can actively score your team and others, whether it is during practice, virtual competition, or scouting. Everything has been designed to be as simple and easy as possible, so you can focus on what really matters: making your robot the best it can be.
Skor also lets you save your scores over time. This way, you can see your robot improve over time, as well as be able to plot different scores throughout any timeframe.
When looking at saved scores, you get a detailed score breakdown, explaining every single thing that your robot did and didn't do.
Share your top scores with your team members, friends, etc. Be proud of your robot and share what you have made using the in-built share feature in Skor.
SwiftUI was a great framework choice for developing Skor. It enabled fast development and the ability to natively utilize Apple's Human Interface Guidelines with prebuilt views.
For Score Saving, I used CoreData - Apple's persistent data framework. It was quick to implement with SwiftUI, and helped keep the development simple.
Skor has since been made open-source, so teams and students can learn from its codebase and build future scoring apps similarly.
I certainly learned a lot from designing and building the app, and I hope others can have the same takeaways I did.