Register your club and create a meet
- Create an account for your club
- Add your swimmers once and reuse them for every meet
- Set up a meet — fill in name, place, date, and events
With iSwim you can easily set up and manage meets in just a few simple steps.
The problem
Most swimming clubs run unsanctioned meets with stopwatches and paper sheets. It's all manual, slow, error-prone, and the audience never sees the results.
150–300 ms human reaction time per volunteer. Six lanes, six different truths.
Entries on paper, swimmer lists in spreadsheets, results in a binder. Easy to lose, hard to share.
Parents sit around waiting. No live results, no progress information.
Expensive hardware timing systems — good for the Olympics, not for unlicensed meets.
How it works
Register your swimming club, set up a meet, invite other clubs, collect swimmers, generate heats and simply run it. No extra hardware, no installation.
Features
iSwim covers the entire flow from entries to published results. Built with Norwegian clubs, for clubs anywhere.
Circle seeding across heats, inside-out lane assignment, and one-click 'Generate all heats'. Scratched entries are filtered automatically.
QR pairing at poolside. Median aggregation across 1–3 phones per lane. A stable deviceId survives crashes and reconnects.
A large live clock, place medals in real time, and a mobile-optimized /m/ page parents can share with anyone at home.
Shareable invitation links. Invited clubs upload their entries via CSV or Excel — no login required.
Start lists as PDF, results as CSV. Not locked in — your data is downloadable any time.
Results are free for the public to view at iswim.no/m. No login, no paywall, no tracking.
Times are stored locally on the phone in IndexedDB if the network drops, and sync back when connectivity returns. No times lost.
All data is stored in the EU (Neon Postgres + Upstash Redis in Frankfurt). DPA template in Norwegian. Passwordless sign-in via magic link.
English by default, Norwegian Bokmål for local meets. Date and number formatting follows the active locale.
The answer
iSwim turns volunteers' everyday phones into synchronized timing units. A laptop coordinates the start. Times are aggregated in real time and published to a TV display and the web for spectators.
Volunteers scan a QR code, the phone gets assigned to a lane, and a giant STOP button is the only thing they need to use during the heat.
Shared start signal over WiFi, median aggregation across 1–3 phones per lane, automatic outlier filtering. Not approved for sanctioned meets — built for recruitment and unsanctioned use.
Results are pushed to the TV display in the pool hall and the public spectator page in the same second the last swimmer touches the wall.
FAQ
Don't see your answer? Email admin@iswim.no — we reply within 24 hours on weekdays.
One laptop or iPad as the mother device, one phone per lane (preferably two for redundancy), a wired speaker over 3.5mm or USB for the start signal, and a TV or projector for live results (optional). Most clubs already own all of this. Do NOT use a Bluetooth speaker — it adds 150–250 ms of latency that ruins timing accuracy.
The timer phone records stops locally in IndexedDB and syncs them back to the server as soon as the connection returns. The connectivity indicator shows 'Offline (N swims queued)' so the volunteer knows the times are safe. The mother device has its own reconnect logic and rehydrates state from Postgres + Redis after a restart.
Total system error is ~100–200 ms (the shared start signal over WiFi has 10–80 ms jitter, phones use performance.now() for monotonic time, and median aggregation across 1–3 phones per lane filters outliers). That matches manual stopwatches but is NOT approved for sanctioned competitions — it's built for recruitment and unsanctioned meets.
All data is stored in the EU (Neon Postgres and Upstash Redis in Frankfurt). We only process names, birth dates, sex, club, entries and times — no addresses, phone numbers or national ID numbers. Results are kept for 2 years by default; clubs can request deletion. A Norwegian-language data processing agreement (DPA) is signed with every club using iSwim in production. We use Vercel Analytics as a GDPR-friendly alternative to Google Analytics.
Not in the MVP. iSwim is built for unsanctioned meets and recruitment meets that aren't reported to medley.no in the first place. Export to the Norwegian Swimming Federation's national results database is on the roadmap but is not a prerequisite for iSwim to work for your club.
Any club can register for free at app.iswim.no and create a test meet to learn the workflow. Through 2026 we are onboarding a limited number of pilot clubs — drop us a line at admin@iswim.no and we will get you set up.
All data can be exported to CSV and PDF at any time — start lists, entries and results. There's no lock-in. Your club owns its data.
Pilot 2026
We're taking on a limited number of clubs through 2026 to run iSwim in exchange for honest feedback from real meets. Drop us a line and we'll get you set up.
Or directly: admin@iswim.no