Features

Everything a meet needs — and nothing it doesn't

From the first roster import to the last printed heat sheet, the whole lifecycle is covered. Here's what you get.

Genuinely easy to use

Drag-and-drop lane editing, a live run screen, and sensible defaults from the official event program. Built for volunteers, not specialists — most tasks are a click, not a manual.

Create and upload from anywhere

Set up meets, edit programs, and ingest results from any browser on any device. The end of emailing database files the night before — one source of truth everyone can reach.

Athlete history that lasts

Every meet and every season in one database, indexed per swimmer. Best times, progression charts, and records update centrally — searchable for years.

Secure by design

Writes are gated behind login; every mutable row carries a version so two operators can't silently clobber each other (optimistic locking → a clear conflict, not lost data). Self-host it and your data never leaves your control.

Built to be extended

A clean layered architecture — repositories, services, routers — enforced as a build-time gate. New report types, file formats, and endpoints slot in along documented seams instead of fighting the code.

Works with your hardware

Imports .gen result files — the MM-Link timing-console format produced by both Colorado Time Systems consoles and TimeDrops. No proprietary middleware: drop the file and lanes resolve live. A direct, mDNS-discovered link to a TimeDrops tablet is in beta; direct serial/USB control of CTS consoles is on the roadmap.

Live, multi-operator

Changes broadcast over WebSocket to every screen the instant they happen. The clerk, the announcer, and the timer all see the same meet, updating in real time.

Print-ready exports

Lane sheets, full heat programs, shepherd sheets, and team entries — generated as print-ready PDFs and HTML, matching the official formats your officials already expect.

Accessible to everyone

Semantic markup, full keyboard navigation, visible focus, and color-contrast and reduced-motion support throughout — so deck volunteers of every ability can run the meet.

Speaks your language

The interface is built for translation from the ground up, with right-to-left support and dozens of locales registered. Switch languages on the fly; untranslated strings fall back gracefully.

Ready to run a calmer meet?

Piranha is free, open-source, and built in the open. Pick a deployment model, read the docs, or jump straight into the code.