VScouter Scouting App 2025

The VScouter scouting app is entering the reefscape season! In this thread, we will document our development process for the Reefscape version, take feedback, and share releases.

VScouter currently has the following features:

  • Offline Scouting Website: Works without internet at vscouter.netlify.app/, which is great for competitions with unstable Wi-Fi.
  • Flash Drive Data Transfer: Use of flash drives for transferring data between devices.
  • Power BI Integration: Data can be analyzed in Power BI, so teams can easily make decisions during alliance selection and normal matches.
  • Team Auto Completion: Functionality to suggest teams based on the match and alliance. This is done by preloading match data through QR codes.

Find the code at: GitHub - VihaanChhabria/VScouter: A scouting app for FRC that helps make strategic decision-making.
Find the scouting website at: https://vscouter.netlify.app/

1 Like

Currently, I am planning to record the following data for Reefscape:

  • Robot Starting Position
  • Coral Tracking:
    • Auto: Where a coral is picked up (Station, Mark 1, Mark 2, Mark 3).
    • Teleop: Where a coral is picked up (Station, Carpet).
    • Placement: Where a coral is placed (L1, L2, L3, L4, Missed).
  • Algae Tracking:
    • Auto: Where algae is picked up (Reef, Mark 1, Mark 2, Mark 3).
    • Teleop: Where algae is picked up (Reef, Carpet).
    • Placement: Where algae is placed (Processor, Net Shot, Missed).
  • Endgame Actions:
    • If the robot climbs on the Deep Cage, Shallow Cage, or parks.
    • If the climb attempt failed.

Before diving into coding, I’m sketching a basic version of the app in Figma to solidify ideas and layout. You can check out the design here: Figma Link.

Let me know your thoughts

1 Like

I’ve finalized the initial sketches for the Reefscape version of VScouter. Find them below.





I’ve created a GitHub branch for this version—click this link if you’d like to follow the code: GitHub - VihaanChhabria/VScouter at 2025/website/initial-design.

1 Like

You have “Match Number” twice in the first image. Is one of them supposed to be “Team Number”?

1 Like

This may be a personal preference, but should drop/miss be below level 4 on the UI?

I love the big meaty buttons - nice large touch targets. Overall good UI design philosophy :+1:

1 Like

I agree with Skyehawk that it is a good design.

  • It is visually appealing
  • It should fit on any size screen
  • Nothing before end game should require more than one click
2 Likes

Also separates left hand for coral and right for algae.

Overall seems like the correct amount of detail, the rest can be captured in notes or maybe some post-match dropdowns (e.g. primary coral source: [station, floor, both, other (notes)]), unless the Coral/Algae UI handles this (which looking back it may)

1 Like

Your right, this was a typo. Just updated it.

Rather than this selecting the team, I was planning it to be to enter the scouters initials. In the top right container, I put auto suggestions for which robots are on the field to make selecting the team easier (data is preloaded onto the devices before hand).

Thank you for both of your feedback! I’ll make sure to add them.

Here is some constructive feedback for you. I don’t want to discourage you because you are doing excellent work, so let me know if it is too much.

I have some questions about screen 1 in particular:

  • If you change the match number or the alliance color, will the teams available to select change? What happens if you had already selected a team and then change alliance or match number?
  • What happens if the match number you enter isn’t valid? Are you planning to support scouting in playoffs, if so, how should those get entered? Could match number be a drop down?
  • After you get back to the first screen after submitting on the last screen, how much will be prepopulated for you? Will the match number get incremented by one from the last match? Will a team get preselected for you based on the team that you scouted last match? Will it remember your scouter initials from the last match?

These are things that it took us some usability testing to get right in Viper. Our lead scouter configures each of our six tablets to scout a particular position (like first blue bot). Then the scouter using that tablet doesn’t have to know which team number or match number is next. They scout whatever the tablet says they should scout when they press the “next match” button. There are ways for the scouter to change something if the schedule is incorrect or if they are switching with somebody, but for the most part they never have think about it.

When these things aren’t automated, scouters occasionally get it wrong. You’ll have two scouters scouting the same bot and other problems like that.

Yeah… It is nice to have a little settings menu that sets the tablet to BLUE 2 or whatever.


All the same, good work OP. The layout looks awesome :slight_smile:

Thanks for the detailed feedback! I really appreciate the constructive advice.

  • Regarding your question about changing match numbers and alliance colors — similar to last years version, the suggested teams would just switch to the updated ones. Previously, it would keep the selected team index. What may be a good idea is to give a notification to make sure the scouter doesn’t get confused.
  • For invalid match numbers, what I had done was just revert to preset suggestions (ie 0000, 0001, 0002). I might choose to gray out/invalidate the suggestion buttons this year.
  • On returning to the first screen, I do like the idea of incrementing the match number, selecting the same index with the teams, and repopulating the initial scout initials; all things that I didn’t think of yet.

I’m may take inspiration from the Viper setup you mentioned, as that sounds like a great system for minimizing user error. Currently my team doesn’t have any dedicated devices but we are working towards getting some.

Thanks again for your feedback!

1 Like

Viper has a series of screens:

  1. Choose the alliance and position you are scouting (with the position your device scouted before highlighted)
  2. Choose the match (with matches that have already happened grayed out)
  3. Scouting

Once you have gone through the first two screens you don’t see them again as long as you keep scouting matches and hitting “next match.”

You can see it in the demo

1 Like

I created a kanban board of stuff I have to do if anyone would like to follow: Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

It’s organized by status (Not Started, In Progress, and Finished) and priority (High, Medium, and Low).

Are you open to contributors? I was planning on making an app for 3314, but this seems to have a lot of the backend stuff done.

1 Like

Thanks for reaching out! I’d definitely be open to contributors. If you’re interested, you can fork the repository or suggest any changes. Let me know any ideas!

I just finished coding the game start page. It may look pretty similar to the old one, but for this I started experimenting a lot more with flex boxes. I may end up revising some details.

Made a new home screen.

If you want to see the website on the 2025/website/initial-design branch and don’t want to download and run the code yourself, you can find the latest commit of the branch at: https://2025-website-initial-design--vscouter.netlify.app/

Finished the auto start page. I decided to place the image vertical so it may be easier for the scouters to click the buttons.

After testing the initial pages on a phone, I found that the pages with images on it (home page and auto start page) are pretty broken. I am not sure whats causing this but I am looking more into it.

Also typing, specifically on the game start page, is also broken. I think I know whats going on with this though.

Home page on mobile :-1: :

Game start page on mobile :+1: :

Game start page while typing on mobile :-1: :

Auto start page on mobile :-1: :