Peakle.
My pickleball startup, now in public beta on the web. Keep score court-side, host open play, and turn a regular four into a rivalry. Android and iOS apps are coming soon.
A problem worth exploring.
Rec pickleball runs on group chats and memory. Players struggle to find a game, scores are forgotten by the next rally, and nobody can settle who is actually better. Peakle gives competitive rec players one place for the game itself, from finding a match to the final score.
Less friction. More intention.
Build for the court. Score numerals stay readable in direct sun, voice commands keep hands on the paddle, and a live rotation pairs everyone who shows up to open play. The public beta runs in any browser from the same codebase as the upcoming Android and iOS apps, so accounts and match history carry over when they launch.
- Court-side live scoring with spoken score announcements and voice commands.
- Player-hosted open play that pairs everyone present and keeps every court full.
- Teams, group chat, follows, and direct messages to lock in the next game.
- Leaderboards and shareable match story cards after every result.
Inside the build.
- Player appReact Native · Expo · Web
- Shared servicesSupabase Auth · Realtime · Edge Functions
- Persistent dataPostgreSQL · Row-level security
- One player codebase
- React Native and Expo serve the browser beta and the upcoming mobile apps. Accounts and match history use the same backend across platforms.
- Recoverable scoring
- An unfinished match is saved locally so a lost connection does not discard the score. Retries keep the same match ID, and recovery checks whether a match has already finished on another device.
- A focused beta
- Player scoring, open play, and match history are available now. Venue booking and organizer features remain paused while venue partnerships develop.
Checks & walkthrough
Automated test cases cover offline score recovery, late server responses, completed-match recovery, voice command parsing, and fair player rotation. The walkthrough and web beta show the player experience.
What the system enables.
- Before
- Players arranged games in group chats and kept scores from memory. Finding a game and keeping a record were separate jobs.
- With Peakle
- Players can find open play, keep score on court, and save the result to their match history in one app.
What this project taught me.
A public beta is a lesson in scope. Court booking and organizer tools are built but paused until venues come on board, so the beta can focus on what players need every day: a game, a score, and a reason to come back.
BUILT WITH
- Player app & web beta
- JavaScript, React, React Native, Expo, React Native Web
- Organizer & admin portals
- Next.js, TypeScript
- Shared backend
- Supabase Auth, PostgreSQL, Row-level security, Supabase Realtime, Supabase Storage, Deno Edge Functions
- Hosting & mobile builds
- Vercel, Expo EAS
CharlieBot
City services, one conversation away.