

A platform for competitive water polo
WP Pulse
Capture, assess, plan. From the pool to the assessment.
Squad lists in spreadsheets, fixtures in group emails, observations on paper. Each place works on its own. Together they do not add up to a picture. Since February 2026 one place has been taking shape that brings it all together.
The platform
One place for everyone.
- Coaches, athletes, parents and the association work on the same data, each with their own access.
- The home screen follows its owner. Everyone arranges their own overview, what matters sits at the top.
- No manual required. Built for water polo coaches, not only for sports scientists with a minor in computer science.

Everyone sees what concerns them, without searching. Athletes see their development. Parents their child. The coach the team.
Organisation
A calendar that thinks along.
- Training and matches, sorted by squad. Everyone gets exactly the dates that concern them.
- A subscription link carries every date over to Google or Apple, for example. The other way round, the school calendar delivers the athletes’ exams, and the coach sees them too.
- Deadlines remind on their own. Nobody has to chase anyone by phone.
- The subscription link works without a login. It has to serve valid data at any moment and still stay secret. That is why it can be regenerated at any time.
Organisation
A training camp organises itself.
Call-ups, accommodation, costs, invitations: a process that stays clear and takes a lot of handwork off the table.

Made for poolside: few taps, large targets. Simple enough that nobody needs experience with this kind of software.
At poolside
Every shot, three taps.
- Position, target corner, quality. During the match the coach records every shot, with the game clock running alongside. Touch on the iPad, keyboard shortcuts on the laptop. Training, penalties and opponents are kept apart.
- No signal in the pool? Loaded once in the browser, capture continues entirely offline and syncs as soon as there is a connection again.
- A lock per match keeps two devices from overwriting the same record. It expires on its own once a device stops responding.


Shots become patterns. Position alone says little. Only with target corner and quality can you tell a well chosen shot that was poorly executed from the opposite case. Across seasons the development stays visible, and nobody maintains lists.
Visibility
The athlete sees what moves them forward.
- Your own record, always to hand: personal data, body measurements over time, injuries with status, the daily self-report on sleep, energy and motivation.
- Performance tests with context against reference values by age group and gender, plus your own goals and the statistics from recorded matches.
- Self-image and coach’s view: both answer the same questions, and the gap is what the conversation is about.

An impression fades. An assessment stays comparable. Whether someone was strong in February and weaker in June only shows if both were recorded against the same yardstick.
Development
Single observations turn into a picture.
- Every assessment carries a date, an occasion and a name. After a match, after a camp, or on a fixed date. Whoever wrote it is on the record.
- Five areas, two points in time on top of each other. Technique, tactics, athleticism, one-on-one and personality. The web shows the first assessment and the current one in a single image.
- The change is worked out for you. It is not only the mark that counts, but what has moved since last time, in which direction and by how much.

Built and in operation. The numbers come from the source code.
- endpoints, every request passes the same permission check
- 0endpoints, every request passes the same permission check
- screens, from the shot at poolside to the assessment
- 0screens, from the shot at poolside to the assessment
- roles, from association access down to a parent account
- 0roles, from association access down to a parent account
- checks before every update, each with a counter-test
- 0checks before every update, each with a counter-test
- jobs run overnight on their own, none of them twice
- 0jobs run overnight on their own, none of them twice
- languages: German, English, Slovak
- 0languages: German, English, Slovak
What you do not see. Four places where the obvious solution was not enough.
Permissions
Forbidden until explicitly allowed.
Six roles from admin down to the parent account. More than four hundred rules for endpoints, pages and data tables sit in one place that both the server and the interface read. An endpoint without an entry cannot ship, and the description of every endpoint is generated from the running application.
Offline
All the way into the login.
An accidental reload without a connection used to land you on the login screen, even though all the data was sitting locally. Now a snapshot without any access token restores the session. Whoever steals it gets a display name and a role, no permissions.
Demo world
A second database, not a switch.
Physically apart, every schema change runs on both, mail and notifications are switched off there. Every image on this page comes from it, with invented people.
Second service
A mail server must never keep a coach waiting.
Beside the application a second service runs from the same build. It drives seventeen jobs with locks in the database so none of them runs twice. Anything that depends on a foreign server goes there.
All four solve the same problem: anything that only holds while somebody remembers it will eventually stop holding. So the machine takes it over.
Built the way this era makes possible.
A year ago this would have been hard to imagine in the time available. A good two thirds of the interface work now happens with AI, following precise and clearly bounded instructions. Test scenarios that would once have cost days are ready in hours.
The time that frees up goes into the database and the server logic. The machine may build the scaffolding. Design, refinement and the decisions stay handwork, as does everything the security and integrity of the data depend on.
No change reaches production without having passed through human eyes. That is regularly where the known weaknesses get caught.
The interface

Where it stands: Built, running in production, ahead of rollout.
The platform runs in production on its own server, with backups, health checks and operational alerts. It is not being used yet: the rollout is still ahead, and until then there are no user numbers to argue with. What there is: 200,043 lines of application code excluding tests and 1,478 commits since February 2026.
I play water polo myself. What is missing at poolside I know from a player’s view, what happens in the organisation behind it from long meetings with administration. Expertise from the water, expertise from the code.
WP Pulse is the internal working name. People here like it, but it is not final yet.
Every number on this page was counted from the source on 30 August 2026, not estimated.
Photos: Pexels
