Product DevelopmentEmbedded SystemsHardwareFull-Stack

Real-Time Scoring System for Fitness Competitions

Full-stack product development from sensor to screen-hardware, embedded software, web frontend, and production scaling for large-scale European fitness events.

Niklas Wigertz DanielssonFebruary 24, 20265 min read
Real-Time Scoring System for Fitness Competitions

Starting 2026, I took on a full-stack product development project, building a real-time scoring system for fitness competitions held across Europe.

This article goes through the development and delivery of the initial MVP phase, which I'm currently following up with a production-ready system and assembly of 50+ units heading into the field. More on that in a separate article, stay tuned!

Note: All hardware mounts and UI shown here are functional prototypes, the production version will have polished branding and refined designs.

Live Demo

Before going into the project in large, let's just directly start with a live demo to showcase the fully running system. The main parts to focus on is the ball, hit plate, and screen. The goal here is to throw the ball onto the hit plates two main target areas. When it hits, it will be automatically counted by the system. Each target has its own individual count, and works independently.

Thumbnail for Real Time Scoring System

Real Time Scoring System - Click anywhere on the video thumbnail to load the YouTube video.

The Project

A client needed a hit-detection system for fitness competitions, the kind with thousands of participants across multi-day events in multiple countries.

The requirements in short:

  • Reliable counting for each hit
  • Instant feedback on big screens
  • Dead-simple for event staff
  • Robust enough to survive the chaos of live events

I delivered the complete solution - hardware, software, and everything in between.

What I Built

Here is the final MVP/Proof of concept system, which we will dive into further in this article.

Assembled unit showing sensor, mount, and Raspberry Pi
Full MVP prototype system with all parts (production units will feature client branding and refined hardware)

Sensor Selection

For selecting the sensors technology to use, I conducted a wide scan of what types were available off the shelf and could be quickly acquired for testing. The main tech I found and focused on was lidar, ultrasonic, and capacitive. After buying each and doing a quick check on what would be required to implement each individual solution, I ended up going with a lidar sensor, where some of the main reasons were:

  • interface, simple uart that could directly be connected without any support circuitry or analog with ADC requirements.
  • housing, fully enclosed IP65 out of the box, perfect for the clients variations on field usage
  • availability and price, not too expensive for the entire product and basically available from all major vendors like Mouser, Farnell, etc
Lidar Sensor
Lidar Sensor
Ultrasonic Sensor
Ultrasonic Sensor
Lidar Sensor
Capacitive Sensor

Hit Plate and Mount

With the sensor now chosen, I needed a proof of concept system for testing. This required 2 things, a hit plate and a mount for attaching the sensor to the hit plate.

Getting the hit plate was an off the shelf buy of an existing product, thick steel and basically what the client would use in the final product.

For mounting the sensor, here came a lot of CAD and 3D printing. A lot of iterations were done here, as this part would have to experience shock from the attached plate and non-delicate handling in the field when rigging and teardown of the events.

MVP CAD of sensor mount
MVP CAD of sensor mount with adjustable height
Fancy metallwork with cutting/drilling for mount
Fancy metallwork with cutting/drilling for mount

Compute Unit

For the main compute unit, a Raspberry Pi 5 was chosen for this purpose. As it both can easily run all the required software for sensor data processing and displaying a live interface via its HDMI output. And compared to a normal PC, it's easy to prep a completely provisioned image that can just be put into the unit and boot all that is needed without any interaction. It's also relatively low cost and easy to replace.

Raspberry Pi 5
Raspberry Pi 5

Software

Software was developed like any other web-app with a distinct frontend and backend, both containerized for portability and clear dependency boundaries on the final system.

For ease of maintainability, both parts were written in Typescript and put in a monorepo.

The backend was built with NodeJS, and it was responsible for handling:

  • live data coming from the sensors
  • handling game engine and state for hit detection and counting
  • API for frontend to poll and get live streaming events from (SSE)

The Frontend was fully using standard modern web approach with React and Tailwind, and it was responsible for:

  • Displaying Live Game state (hits etc.)
  • Relaying any user input, like reset, mode change etc.
  • Built-in diagnostic tools for field troubleshooting and development

All of this was also designed to be completely offline and not require any network connection. Also to be fully self reliant and handle any errors gracefully, with automatic restarts etc. All of this without ANY interaction needed from an operator/event organizer on either boot or during runtime. Just plug and play!

The interface below is a functional prototype; the production version will feature the client's branding and visual design.

Development with sensor to build the basic hit logic
Development with sensor to build the basic hit logic
Testing the full system and doing real trials with all running on the RPi
Testing the full system and doing real trials with all running on the RPi
Web interface for showing total counts from game in realtime
MVP web interface for showing total counts from game in realtime
Web interface for showing total counts from game in realtime
MVP web interface for diagnostic and development with streaming data from sensor

Results

The MVP was delivered fully functional and validated through extensive testing. After hundreds of throws during development and testing sessions, the system proved highly accurate-no missed hits, no unexpected false counts. Hardware and sensors held up reliably throughout, even when pushed hard with rapid consecutive throws. The software runs smoothly on the Raspberry Pi with plenty of headroom. With the core concept validated, the system is now ready for production scale-up (which at the time of writing is fully underway).

Skills Applied

Areas & Work Performed

Embedded SystemsSensor integration, Raspberry Pi, Linux
Backend DevelopmentNode.js, TypeScript, real-time streaming
Frontend DevelopmentReact, TypeScript, kiosk UI
Hardware Design3D modeling, custom mounts, wiring
Manufacturing PrepAssembly design, documentation, scaling to 50+ units

What This Demonstrates

This project required moving quickly between domains, embedded hardware, web development, 3D printing, and production planning. No handoffs, no waiting on other teams.

If you need someone who can take a product from concept to deployed hardware, let's talk!

Next up

  • Replace mockup gui interface with actual nice looking company branding
  • Finalize production designs (hardware, mounts, parts)
  • Assembly, by myself, of 50+ complete units for end client and ship!

Interested in discussing your Full Product Development?