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.

Dart Waiter abstract visual

Product Overview

Dart Waiter was built to modernize one of the most repetitive parts of darts

Tracking scores accurately while the game is still in motion. Rather than relying on manual entry, the platform uses a mobile device camera and locally deployed machine-learning models to detect dart hits and interpret the board state in real time. The result is a system that feels immediate for players while giving the product team a strong technical foundation behind the scenes. Laposa designed the project as a full-stack product rather than a standalone app, pairing the mobile experience with backend model delivery, labelled-sample collection, and retraining workflows that support ongoing improvements in detection quality.
Screenshot

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

  1. 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.
  2. 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.
  3. 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

  1. 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.
  2. PocketBase-backed API layer

    The backend manages authentication, model records, file storage, and labelled training samples so operational model management stays simple and centralized.
  3. 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

Dart Waiter continuous improvement placeholder

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.

Next Step

If you're exploring computer vision for scoring, monitoring, or any other camera-led workflow, Dart Waiter shows how Laposa can turn a machine-learning concept into a practical product with a maintainable delivery pipeline behind it.

From on-device inference to model lifecycle management and retraining, we build systems that are engineered for real use rather than isolated demos.


Get in Touch