Prowl is an uncompromising, local-first scouting and pit management web application built for the First Robotics Competition (FRC). Designed to operate flawlessly in network-banned, low-connectivity stadium environments, Prowl uses a fully decentralized architecture to collect data in the stands and compile it instantly in the pits—all without requiring an internet connection.
- 100% Offline-First (PWA): Installable on any iOS, Android, Windows, Mac, or ChromeOS device. Runs entirely out of the local browser cache.
- QR Data Pipeline: Compresses robust JSON match metrics into highly dense QR codes to sync data from the stands to the pit manager without cell service.
- Dexie.js Local Storage: Backed by IndexedDB for high-speed, persistent data storage right on the scout's hardware.
- Dual-Purpose Interface: Built-in modular systems for both match scouting tracks and pit mechanic checklists.
- Framework: React 18+ via Vite (TypeScript template)
- PWA Wrapper:
vite-plugin-pwa - Database: Dexie.js (IndexedDB wrapper)
- Compression:
lz-string(For ultra-dense QR payloads) - QR Engines:
qrcode.react(Generator) &html5-qrcode(Scanner)
Ensure you have Node.js installed (v18 or higher recommended).
- Clone the repository:
git clone https://github.com/plooof/prowl.git
cd prowl- Install dependencies:
npm install- Run the development server locally:
npm run dev- Build the offline production static assets:
npm run build[ Stand Scouts: Phones/Tablets ]
│
├──> Saves data locally to IndexedDB (via Dexie.js)
└──> Generates Compressed QR Code on screen via lz-string
│
▼
[ Pit Manager: Laptop/Tablet ]
│
└──> Scans phone QR code using built-in webcam or hardware scanner
└──> Decompresses payload and populates Master Database
This project is licensed under the MIT License — see the LICENSE file for details. Built in accordance with the FIRST Robotics principles of Gracious Professionalism and Coopertition.