Kabine

Free · open source · for any club

Team organisation made simple. Free and ad-free – forever.

Trainings and games with yes/no responses, squads, team chat, helper duties and carpools. For players, parents and coaches, installable on the phone, no app store.

  • One installation per club
  • Data in your own Cloudflare account
  • English and German
  • AGPL-3.0

Features

Everything a team needs, week after week.

Started in a handball club where several hundred players, parents and coaches use it every day. Kabine is the same app for any club and any sport.

Players

See trainings, games and special events, say yes or no with one tap, and get notified when something changes. Trainings count as accepted until someone declines: nobody has to answer every week.

Parents

Respond for their children, follow the team chat, take helper duties and offer seats for away games. They decide what their child may do in the app.

Coaches

Set the training times once a season. The app creates the trainings and skips holidays. Nominate squads, cancel, move, invite by link, see who cannot be reached yet.

Admins

Set up the club with a wizard: language, region, sport, teams, modules, e-mail. Manage people and do the season change once a year.

Helper duties

Cake, cash desk, referees: duties for home games with templates and a live plan; parents sign up themselves.

Carpools

Parents offer seats, players book one. The group gets the meeting point in time before the game.

Modules for the club

Fixtures from handball4all, games from spreadsheets, youth referees, sign-in codes by SMS. All switchable.

Live demo

Try it in every role.

The demo shows an invented club, “SV Musterstadt”, with handball teams, events, games, chat, helper duties and a carpool. One tap and you are in: no registration, no passkey. The club is German, so names of halls, teams and age groups stay German while the app speaks English.

Player

Lea Beispiel

wD youth. Accept or decline the next training, book a seat for the away game, write in the chat.

Open as player
Parent

Petra Muster

Mia’s mother. Respond for Mia, take a cake for the home game, offer seats in the car.

Open as parent
Coach

Clara Coach

Coach of the wD and Damen 1. See responses with reasons, nominate squads, create games.

Open as coach
Admin

Alex Admin

Run the club: teams, people, modules, setup wizard, season change.

Open as admin

All visitors share the same four accounts, and all names and data are invented. Every night at 3:00 am (Berlin time) the demo is reset completely. Please do not enter real data. Best opened on a phone, which is what the app is made for. The same links in German.

Screenshots

What Kabine looks like.

Pictures of the demo, in the order a week in the club goes by.

Privacy and youth protection

Most users are children.

Of players and parents Kabine stores only first name, last name and, for players, the birth year. No address, no date of birth, no phone number, unless someone enters one for SMS.

  • E-mail and phone number are entirely optional and only for signing in. Other users, coaches included, never see them. Admins see only other admins' e-mail addresses and, in the data export, the accounts' e-mail addresses; phone numbers never.
  • Decline reasons are visible to coaches and admins only and deleted 60 days after the event.
  • Parents decide what their child may do in the app and approve profile pictures.
  • Abbreviated names for helper duties and carpools (“Kim M.”).
  • Coaches are in every chat. There are no private messages.
  • No tracking, no ads, no third-party scripts or fonts.
  • Cloudflare as processor in the club's own account. The database should be created explicitly in Europe (--jurisdiction eu); the chat already lives in the EU.

Deliberately an internal app

One club, one installation.

  • The data stays with the club. Each club runs its copy in its own Cloudflare account. No central server, and the developers have no access to any club’s data.
  • No app store. Open the address, add it to the home screen, done. With notifications, on the iPhone too. Every update reaches everyone at once.
  • Invitation only. No public sign-up. People sign in with a passkey (Face ID, fingerprint, screen lock), no passwords.
  • Lean. Membership fees, bookkeeping and the club website stay where they are.

Frequently asked questions

For the board and data protection.

What club officials and data protection officers want to know before they start.

What is Kabine – and what is it not?

Kabine organises the everyday life of teams: trainings and games with yes/no responses, squads, team chat, helper duties and carpools.

Kabine is not club management software: no membership records with addresses and joining dates, no fees, no direct debits, no bookkeeping, no club website and no public results portal. Those programs stay where they are. Kabine deliberately stores only what a team needs week after week.

What does Kabine cost?

The software is free (AGPL-3.0): no licence, no subscription, no ads, forever.

For a typical club with a few hundred members, Cloudflare's free plan is enough to run it. If you want more headroom, the paid plan costs 5 US dollars a month at the time of writing. Costs per message only arise if the club switches on the SMS module. A domain of your own is optional.

Why Cloudflare and not a German or local host?

Cost and availability. A server of your own at a hosting company costs money every month and has to be set up, updated, backed up and monitored, in a club usually by a volunteer. On Cloudflare, Kabine runs without a server of its own on the free plan. The platform applies security updates itself, copes on Sunday evening when everyone responds at once, and keeps a history of the database that lets you undo a mistake.

On data protection: the club is the controller, Cloudflare the processor. The club concludes Cloudflare's data processing agreement in its own account; it includes the EU standard contractual clauses, and Cloudflare is certified under the EU-US Data Privacy Framework. The database should be created explicitly in the EU (--jurisdiction eu); the team chat already lives in the EU jurisdiction. Cloudflare handles requests at locations near the users, for users in Germany usually in Europe.

Kabine does not run on a server of your own: it is built for the Cloudflare platform (Workers, D1, Durable Objects).

Who has access to our data?

Only the club. Every installation lives in the club's own Cloudflare account. There is no central Kabine server, and the developers of Kabine have no access to any club's data. Inside the app, everyone sees only what their role needs: decline reasons, for example, only coaches and admins.

Is Kabine GDPR compliant?

Kabine is built for data minimisation: of players and parents only first name, last name and year of birth, no tracking, deletion periods built in. Whether the processing in the club is lawful remains the club's responsibility. For that there is a complete list of the stored data (who sees what, when it is deleted) and a template for the privacy policy: privacy and data inventory.

Do children need their own phone or an e-mail address?

No. Parents respond for their children. Children with a device of their own get access by link, without an e-mail address and without a phone number. Parents decide what their child may do in the app and approve profile pictures.

How much work is running it?

Installing takes about 30 minutes. After that there is no server to look after: updates arrive as pull requests in the club's copy and are taken over with one click, the season change runs once a year with a wizard, and the data export saves everything to a file. Coaches manage their teams themselves.

What happens if we stop?

The club exports its data and deletes the Worker, database, KV store and queue in its own Cloudflare account. Then the data is gone. There is no provider to cancel or to ask for deletion.

Which sports does Kabine suit?

Kabine started in a handball club and brings age groups, playing times, helper duties and the game schedules from handball4all for handball. Football and other sports have basic settings. More sports and fixture systems can be contributed on GitHub.

Is there support?

Kabine is free software without commercial support. Questions, bugs and ideas go into the issues on GitHub. You can try everything in the demo first.

Contribute

An idea and a coding agent are enough.

Kabine is built so that clubs can contribute with Claude Code, Codex, Cursor or another agent: a module, a fixture connector or a sport is a folder of its own. A generator creates the skeleton, and tests show at once what is missing.

Modules

Polls, documents, statistics: functions a club can switch on. New modules start as beta and switched off.

Game schedules

handball360, nuLiga, SAMS, basketball-bund and more, through permitted access only: official interfaces, public exports or the association's permission.

Sports

Age groups, playing times and typical helper duties of your sport, as one file.

A person sends the pull request, has tried it and answers questions. Entry point for you and your agent: AGENTS.md. Ideas and requests: open an issue.

Installation

About 30 minutes, in your own account.

You need a Cloudflare account (the free plan is enough for a typical club), a GitHub account and ideally a domain of the club. The button creates your own copy and all resources; you only choose a password for the first admin. Updates arrive as pull requests in your copy.

Free software

AGPL-3.0, for every club.

Kabine may be used, changed and shared. Anyone who runs a changed version for others must offer them the source code. Translations, sports and connectors to fixture systems are welcome.