Overview

BallBooking is a platform for racket sports (padel, tennis and pickleball) with two sides. Players find clubs near them, book a court in three steps, split the cost with their partners, and post their results. Club owners get a management dashboard that removes double bookings, collects payments automatically and fills off-peak hours.

The player app is available today as an installable web app, with native iOS and Android releases on the way.

Key Features

  • Instant Booking: Club discovery by location and sport, then a three-step booking flow.
  • Split Payments: The court fee is split four ways. Each player pays their share from a link, and unpaid holds are released automatically.
  • Club Management: A drag-and-drop court-grid scheduler, dynamic pricing for peak hours, weekends and members, and revenue reports.
  • Tournaments: Single-elimination, round-robin and group-stage brackets, scheduled with no court overlaps.
  • Community: Follows, match score cards with player ratings, and an activity feed.
  • Multilingual: Spanish, English and Portuguese.

Security & Hardening

  • Multi-tenant isolation: each club’s data is isolated at the database level, and automated tests prove that one club cannot read another’s.
  • Integrity in the database: double bookings are impossible because the database itself refuses overlapping reservations, not just the app.
  • Passwordless sign-in: one-time codes and single sign-on, so there are no passwords to leak or reuse.
  • Privacy-preserving contact discovery: finding friends never uploads raw phone numbers, and lookups are rate-limited.
  • No card data on our servers: payments are handled by a PCI DSS–compliant payment processor.

How It’s Built

  • Test-Driven Development: red → green → refactor throughout, with contract tests for the adapters.
  • Hexagonal architecture: a pure domain core shared by the player and admin apps, with infrastructure behind ports.
  • Continuous deployment: every merge to the main branch is tested and released automatically.
  • Architecture Decision Records: from tenancy and authentication to internationalization and search.