A courtside scoreboard for padel & tennis — big scores, Bluetooth remote control, zero setup.
No ads. No logins. Free and open source!
Place your tablet courtside and everyone can read the score. Pair a cheap Bluetooth remote and score points without leaving the court.
Courtside.mp4
| 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 |
Available on Google Play. Built with Kotlin + Jetpack Compose.
See app/ for the Android source code.
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.
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 |
The app works with cheap Bluetooth media controllers (like wrist-mounted remotes). They pair as standard HID devices — no special permissions needed.
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.
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)cd ios
xcodegen generate # Generate .xcodeproj from project.yml
open PadelPulse.xcodeproj
# Build for iPhone or iPad in Xcode 16+ (requires iOS 17.0+)├── 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
This app collects zero data. No accounts, no analytics, no internet access. See PRIVACY_POLICY.md.
- Android app & shared code — MIT. See LICENSE.
- iOS app — Source-available, personal use only. See ios/LICENSE.
Built for the court, not the cloud.

