DartCounter is a personal dart scoring app designed for real game nights — no fluff, just fast input and clean scores. Supports 1–4 players, 301 and 501 game modes, and a smart keyboard for logging singles, doubles, triples, bull, and bullseye in seconds.
Coming soon — run on device to see the dark UI in action.
- 1–4 players with color-coded score cards
- 301 / 501 game modes
- Per-dart input — singles, doubles, triples, bull (25), bullseye (50), and misses
- Bust detection — auto-reverts the turn and highlights the bad round
- Winner screen — rounds played, total darts thrown, average score per round
- No ads, no tracking, no accounts — fully offline and private
| Layer | Technology |
|---|---|
| Language | Swift 5.0 |
| UI Framework | SwiftUI |
| State Management | ObservableObject / @Published |
| Persistence | None (in-memory only) |
| Minimum Target | iOS 17.5 |
DartCounter/
├── DartCounterApp.swift # App entry point
├── ContentView.swift # Root navigation / transitions
├── GameState.swift # Game logic, models, bust detection
├── SetupView.swift # Player setup & game type picker
├── GameView.swift # Active game screen
├── DartKeyboard.swift # Score input keyboard
├── WinnerView.swift # End screen with stats
└── Item.swift # Color theme definitions
- Clone the repo
git clone https://github.com/WilleGyr/DartCounter.git
- Open
DartCounter.xcodeprojin Xcode - Select your iPhone as the run target
- Build & run (
⌘R)
Requires Xcode 15+ and an Apple Developer account for device deployment.
- Players take turns throwing 3 darts per round
- Each dart is logged individually (multiplier + segment)
- Score counts down from the starting value (301 or 501)
- A round that would take the score below zero is a bust — the turn is cancelled
- First player to reach exactly 0 wins
MIT — do whatever you want with it.
