Skip to content

DominikLindorfer/Point-Counter

Repository files navigation

Padel Pulse — courtside scoreboard

Padel Pulse

A courtside scoreboard for padel & tennis — big scores, Bluetooth remote control, zero setup.

No ads. No logins. Free and open source!

License: MIT License: Source-Available Platform: Android Platform: iOS (iPhone & iPad) Kotlin + Jetpack Compose Swift + SwiftUI


Place your tablet courtside and everyone can read the score. Pair a cheap Bluetooth remote and score points without leaving the court.

Courtside.mp4

Get it on Google Play

Features

Full padel/tennis scoring 0 / 15 / 30 / 40 / Deuce / AD — games, sets, and tiebreaks
Golden Point mode No advantage at 40-40 — one point decides
Automatic tiebreaks Kicks in at 6-6 with proper tiebreak scoring
Configurable sets Play to 1, 2, or 3 sets (or unlimited)
Bluetooth remote Score with a wrist-mounted media controller — hands-free
Serve indicator Shows serving team and serve side (L/R), auto-rotates each game
Match timer Elapsed time starts on the first point
Team customization Custom names and colors per team
Swap sides One tap to mirror teams when you switch court ends
Match history Auto-saves completed matches with scores, duration, and stats
Share results Export match results as text or image via any app
Undo Made a mistake? One button to go back
Immersive display Full-screen, landscape-locked, screen stays on
Animated transitions Score changes with smooth bounce effects and a trophy on match point

Platforms

Android (released)

Available on Google Play. Built with Kotlin + Jetpack Compose.

See app/ for the Android source code.

iOS — iPhone & iPad

Native universal app built with Swift + SwiftUI. Landscape-only on both devices, adaptive layout from iPhone SE to iPad Pro 13". Includes haptic feedback, sound effects, match state persistence, keyboard shortcuts, confetti animations, and localization (EN/DE/ES).

See ios/README.md for full documentation.

Recommended Setup

All you need is a tablet, a stand, and a Bluetooth remote:

Link
Android Tablet — Xiaomi Redmi Pad Pro Amazon.de
iPad — any iPad running iPadOS 17+
Tablet Stand Amazon.de
Bluetooth Remote Amazon.de

Bluetooth Remote

The app works with cheap Bluetooth media controllers (like wrist-mounted remotes). They pair as standard HID devices — no special permissions needed.

Bluetooth remote control

Button Mapping

Most Bluetooth media remotes send Next / Previous Track and Play / Pause — these work on both platforms:

Button Android iOS
Next Track >> Team 1 scores Team 1 scores
Previous Track << Team 2 scores Team 2 scores
Play / Pause Undo Undo

Android only: Volume Up/Down also work as Team 1/Team 2 scoring buttons. iOS does not allow apps to intercept volume keys (OS restriction) — but this doesn't affect the media buttons above.

Tip (Android): If your controller sends different key codes, you can customize the mapping in MainActivity.kt — see the KeyEvent docs.

Building from Source

Android

git clone https://github.com/DominikLindorfer/Point-Counter.git
# Open in Android Studio, sync Gradle, and run
# Min SDK 26 (Android 8.0) · Target SDK 36 (Android 15)

iOS (iPhone & iPad)

cd ios
xcodegen generate        # Generate .xcodeproj from project.yml
open PadelPulse.xcodeproj
# Build for iPhone or iPad in Xcode 16+ (requires iOS 17.0+)

Project Structure

├── app/                    # Android app (Kotlin + Jetpack Compose)
├── ios/                    # iOS app (Swift + SwiftUI, iPhone + iPad) — see ios/README.md
├── CLAUDE.md               # Dev context for AI-assisted development
└── README.md               # This file

Privacy

This app collects zero data. No accounts, no analytics, no internet access. See PRIVACY_POLICY.md.

License

  • Android app & shared code — MIT. See LICENSE.
  • iOS app — Source-available, personal use only. See ios/LICENSE.

Built for the court, not the cloud.

About

Padel & Tennis Point Counter

Topics

Resources

License

Stars

Watchers

Forks

Contributors