Public Scout database (BETA)

Have you ever spent hours watching matches to pre-scout events? When you know there’s 30 other people doing the exact same thing, at the same time?? When there’s 30 copies of the same data already in existence???

Well I have the website for you! I present PublicScout! A site to share and view data for every team! Every year! Every competition! (except all the ones I haven’t added yet… I swear I’ll get them in)
https://rcrobot.org/publicscout/index.html

Features
• match scout - record data while watching video from Blue alliance (or at event if bold enough to rely on cell service)
• Custom match entry
• View data by event
• View season data by team
• Csv import - upload data from past events
○ This has only been lightly tested, if it doesn’t work, I added a link to this form on the page to send me the data you want added.
• Csv download of event or team data
• Data attribution - data that you enter can have your user name or team number
○ I haven’t figured out the best way to display this
○ I plan to add a filter the data pages so it can be possible to see only data that is attributed to one source
Features still being worked on
• Attribution filter to let you see only data coming from one source
• Data flagging
○ Currently all entered data is stored, but only the first data entry will be displayed. There will be bad data entered, no scout is perfect. I plan to handle this by allowing data to be flagged by users. The webpage will then default to the next submitted data.
• Data deletion
○ Allow a user to delete any submission that they entered
• Mobile friendly data viewing
• options for all FRC games
○ In a perfect world you’d be able to look up stats for every game and every robot. That would require a huge effort by the community, but I can dream

My hope is that this can become a resource for the robotics community. Right now, I expect that there’s going to be a ton of issues, but if you let me know about the bugs you find, or features that would make it useful for you, I’ll do my best to implement them!
At the very least I plan to use this as a repo for my own teams’ data. I’ve been a part of FRC for 10 years and I think I only have data saved for the last 2 years of competition…

Also, shout out to the folks running and contributing to the blue alliance. Making a web app is like jumping into a never ending rabbit hole of features and bugs. Every time you do one thing, something else seems to break. But I’ve never had issues with The Blue Alliance, and it’s design just works. Plus it has a sweet API that I used to populate the matches for Public Scout.

6 Likes

This does seem like an incredible resource in theory. I am not a scouting expert but the biggest issue I see is handling duplicate and incorrect data. The idea of flagging data as good or bad is a way to go but perhaps you can aggregate large amounts of data into at-a-glance insight, such as averaging the number of reported cargo scored high by a team in a match. Or showing the most common answer for what bar they climbed to. Accompanying this could be data visualizations to help readers understand the full dataset they are looking at.

Depending on how comfortable/dedicated you are with this, making it open-source might not be a bad idea. It could help specific teams fork it and fix/add something they desperately need. Many successful community-created FRC projects like PathPlanner do exactly this.

3 Likes

Hey @Dylan1259, thanks for the response! I hadn’t considered the idea of averaging the data received for the same match. If there ends up being a lot of matches that have 3+ submissions that could be a good idea.
Incorrect data is definitely one of the big challenges for this. One thing I plan to implement is when all three robots from an alliance have been scouted, the website will verify the scores against First/Blue alliance and auto flag the match if they don’t add up.
I haven’t quite thought through making the website open source yet. If some one forks the code, do they need access to the same database to make it useful? I could probably do this if I make the scripts that touch the database directly more strict on their enforcement and document them as an API. That would also make it possible for it to be integrated directly into scouting apps…

This is an excellent idea! We (being team 1895, I was the builder for the scouting app) had a similar idea with our own database that we tried during district champs. I built up a pretty nifty scouting app that ran a fancy front-end web page that called data from a web server hosted via LAN at our venue’s public wifi. Essentially, if you had the IP address of the site (which was shared on the CHS discord) and had access to the venue’s wifi (which wasn’t a problem for us thankfully) you could access our site and see key information such as:
-upcoming matches and their predicted outcomes based on existing data
-a list of all teams at the event sortable by what they can do
-each team had their own ‘profile page’ with a full rundown of their pit scouting report, their match history and a breakdown of their scoring per match, average points per match (for each stage of the game), as well as their upcoming matches
-a breakdown of each match (the teams involved, their individual point contributions, etc)
-and a bunch of other cool stuff

It was really fun to coordinate sharing data with other teams at the event, and even though I’m sure not that many people actually used it I still had fun managing the database and such. Now, I’d say the only problem with our current idea (which my overall outlook is ‘good’) is how public your actual database access is. My suggestion is to make scouting data read only, at least for the average site visitor, and have very strict control over who can input and delete data. Our scouting app was a public site, anyone could see it, but being able to add data took a special login and being able to delete data took an even more secret admin login.

My guess is that you won’t have any issues with ne’er do wells because FRC isn’t (or at least shouldn’t be) a cutthroat endeavor by any means, but you never know when the occasional troller might decide ‘hey, let’s mess this place up’ or something like that. You should at least have some sort of login to keep the average unsavory from messing up your project. The only other issue I see as a potential shutdown point is the logistical strain of managing a database that big. Even if you have the hardware to maintain it, you’re going to have to somehow moderate everything (to prevent false data or duplicate entries and whatnot). If you’ve found solutions to all these problems, then awesome! Being a scouting app and database enthusiast, I’d say this is a cool idea and will definitely be an amazing tool.

1 Like

I love where you are going with all of this. There were some good ideas presented in your reply. Creating a public-facing API to interact with the database is likely going to be the most helpful to the FRC community as a whole. The front-end application is useful mainly for teams who don’t already have a very set-in-stone scouting and data management process. As mentioned in the other reply on this thread, the hard part about this project is storing that sheer amount of data (maybe AWS has some good services for that?) and what entity pays for the data storage. Additionally, as mentioned in the other reply, ensuring that the data you get is at least somewhat good is the other big problem.

I encourage you to keep working on this, I am excited to see where it leads.

The scout app you made sounds awesome!! Besides the obvious benefits for teams to have easy access to that data, I can imagine that being super engaging for a spectator. Knowing that the next match is supposed to be really close makes it so much more exciting. Even just knowing more about each robot on the field makes it a better experience.
Having a random troll pop up on the site is basically my worst fear right now. I have regular backups running on the database so it wouldn’t be a huge issue, so long as I notice the weird data sooner rather than later. My plan is to add in more security as I continue to develop features and deal with the problems as they arise. Might be a bit naïve, but we’ll see how it goes :slight_smile:

Updates February 15th, 2023

  • Added 2016 Stronghold!
  • Finished scouting 2011 Logomotion Einstein (follow the link to see the data!)
  • Attribution for data is now displayed on team and event pages
  • Event page will now automatically load data for a selected event