Dart Waiter
Dart Waiter is Laposa's mobile-first dart scoring platform, combining on-device computer vision with model management and retraining workflows to deliver accurate scoring directly from live camera input.
- Target Audience | Dart Players, Venues, and Training Setups
- Solving Problem | Real-Time Dart Scoring with On-Device Computer Vision
- Technology | React Native · PocketBase · TensorFlow Lite · YOLO
- Product Status | Active Full-Stack Platform
Product Overview
Dart Waiter was built to modernize one of the most repetitive parts of darts
The Problem It Solves
Conventional dart scoring tools still depend heavily on manual input, which slows down gameplay and introduces mistakes at the exact moment users expect speed and certainty. Computer-vision solutions can improve that experience, but only when they are fast enough to run on-device, robust enough to calibrate against real boards, and supported by a practical way to improve the model over time.
Dart Waiter addresses that challenge end to end. The mobile app performs local inference on camera frames, detects dart tips together with board calibration points, and translates those detections into board coordinates and final scores. At the same time, the wider platform makes it possible to manage model versions centrally and continuously improve the detection pipeline with newly labelled training data.
How It Works
- On-device detection
The mobile application runs TensorFlow Lite models locally, allowing dart hits and calibration points to be detected directly from the camera feed without depending on a remote scoring service. - Board calibration and scoring
Predicted dart positions and four calibration markers are transformed into board coordinates, which lets the app convert raw detections into reliable dart scores in real time. - Model delivery through PocketBase
The backend stores downloadable model versions so the mobile app can move between bundled and remotely trained models as the platform evolves.
Platform Architecture
- React Native mobile app
Built with Expo Router, VisionCamera, React Native Skia, and fast TensorFlow Lite bindings to support a smooth camera-driven scoring workflow on mobile devices. - PocketBase-backed API layer
The backend manages authentication, model records, file storage, and labelled training samples so operational model management stays simple and centralized. - Retraining pipeline
YOLO-based training workflows convert collected samples into datasets, fine-tune detection models, export updated TFLite artifacts, and publish them back for app consumption.
Continuous Improvement Built In
A key strength of Dart Waiter is that it was not designed as a static model deployment. The platform captures labelled training samples for future improvement, then uses those samples to retrain and export new model versions.
This creates a practical feedback loop between live usage and model quality, helping the product improve as more real-world board data becomes available.
Laposa also built the retraining workflow to work both locally and via GitHub Actions, giving teams flexibility in how they maintain and ship new model versions. That combination of mobile inference, backend model orchestration, and automated retraining makes Dart Waiter a strong example of applied AI delivered in a product-ready form.
Technology Highlights
Dart Waiter combines a modern cross-platform mobile stack with a practical ML operations layer. The product uses React Native and TypeScript for the app experience, VisionCamera for live input, TensorFlow Lite for local inference, PocketBase and Go for model and data management, and Python-based YOLO training workflows for continuous improvement.
Supporting tools such as Docker and GitHub Actions help keep the retraining and publishing process repeatable, making the overall system more maintainable as the project grows.