Skip to content

Plan a meet on Monday. Run it on Sunday.

With iSwim you can easily set up and manage meets in just a few simple steps.

  1. 1 Create a meet
  2. 2 Invite clubs and collect swimmers
  3. 3 Generate heats
  4. Go live
  • No more email chaos
  • No back-and-forth messages
  • No mistakes
SaS Open 2025 DRAFT LIVE MEET DETAILS DATE 30. June 2025 POOL 25 m · Sandefjord Svømmehall SUBMISSION DEADLINE 28. June 2025, 22:00 EVENTS 25m Freestyle 25m Freestyle 25m Breaststroke 25m Breaststroke 25m Backstroke 25m Backstroke 25m Butterfly 25m Butterfly 50m Freestyle 50m Freestyle 50m Breaststroke 50m Breaststroke 50m Backstroke 50m Backstroke 50m Butterfly 50m Butterfly 100m Medley 100m Medley Add custom event INVITATION Welcome to SaS Open 2025 in Sandefjord Svømmehall on 30. June 2025! We're inviting your club to participate. Please submit your swimmer entries by 28. June 2025. Maximum 6 swimmers per club per event. Search swimming clubs… SWIMMING CLUBS Sandefjord Svømmeklubb host Stavern Svømmeklubb to invite pending ✓ accepted Larvik Svømmeklubb to invite pending ✓ accepted Nøtterøy Svømmeklubb to invite pending ✓ accepted Horten Svømmeklubb to invite pending ✓ accepted Notodden Svømmeklubb to invite pending ✓ accepted Oslo Svømmeklubb to invite pending ✓ accepted Tønsberg Svømmeklubb to invite pending ✓ accepted Drammen Svømmeklubb to invite pending ✓ accepted Bergen Svømmeklubb to invite pending ✓ accepted Holmestrand Svømmeklubb to invite pending ✓ accepted Trondheim Svømmeklubb to invite pending ✓ accepted Kristiansand Svømmeklubb to invite pending ✓ accepted Skien Svømmeklubb to invite pending ✓ accepted Halden Svømmeklubb to invite pending ✓ accepted Lillehammer Svømmeklubb to invite pending ✓ accepted Next → MEET OVERVIEW 9 EVENTS 125 SWIMMERS 5 CLUBS ENTRIES PER EVENT 25m Freestyle 35 swimmers 6 heats 25m Breaststroke 30 swimmers 5 heats 25m Backstroke 32 swimmers 6 heats 25m Butterfly 30 swimmers 5 heats 50m Freestyle 35 swimmers 6 heats 50m Breaststroke 28 swimmers 5 heats 50m Backstroke 32 swimmers 6 heats 50m Butterfly 26 swimmers 5 heats 100m Medley 18 swimmers 3 heats Generate heats → 25m Butterfly · 5 heats LANE 123456 Heat 1 Sara Hansen Maria Olsen Emma Larsen Anna Nilsen Karen Berg Sofie Strand Heat 2 Lise Dahl Ida Lund Hilde Wang Tone Vik Mari Holm Pia Berg Heat 3 Nora Vik Mia Storm Eva Lund Lea Bakke Tina Berg Olga Vold Heat 4 Inger Rud Bente Foss Liv Sand Vera Krog Aud Holt Eli Dahl Heat 5 Kari Mo Tove Brun Gro Vang Aase Lien Ruth Selb Else Stein MOTHER UNIT LIVE · HEAT 1 25m Butterfly HEAT 1 · RESULTS L3 13.71 L5 13.85 L1 13.92 L2 14.21 L4 14.38 L6 14.55 START · HEAT 1 L1 Sara Hansen LANE 1 --.-- TIMING 13.92 L2 Maria Olsen LANE 2 --.-- TIMING 14.21 L3 Emma Larsen LANE 3 --.-- TIMING 13.71 L4 Anna Nilsen LANE 4 --.-- TIMING 14.38 L5 Karen Berg LANE 5 --.-- TIMING 13.85 L6 Sofie Strand LANE 6 --.-- TIMING 14.55 STEP 1 OF 4 Create a meet choose a name set the date pick events STEP 2 OF 4 Invite clubs and collect swimmers write the invitation invite swimming clubs collect swimmer entries STEP 3 OF 4 Generate heats auto-seed swimmers into heats publish the start list STEP 4 OF 4 Run meet connect phones to the mother device tap STOP at the wall broadcast live times

The problem

Stopwatches? Pen & paper? Outdated swimmer lists — sounds familiar?

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.

  • Stopwatches

    150–300 ms human reaction time per volunteer. Six lanes, six different truths.

  • Pen & paper

    Entries on paper, swimmer lists in spreadsheets, results in a binder. Easy to lose, hard to share.

  • Live data

    Parents sit around waiting. No live results, no progress information.

  • Hardware

    Expensive hardware timing systems — good for the Olympics, not for unlicensed meets.

How it works

Three steps from sign-up to medal ceremony.

Register your swimming club, set up a meet, invite other clubs, collect swimmers, generate heats and simply run it. No extra hardware, no installation.

  1. 01

    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
  2. 02

    Invite clubs and collect swimmers

    • Write an invitation and send it to swimming clubs
    • Clubs accept invitations and submit their swimmers
    • All entries land in your meet dashboard
  3. 03

    Generate heats and run meet

    • Generate heats with one click
    • Volunteers scan a QR code, get a lane, and tap STOP at the wall
    • Live results stream to the TV display and every parent’s phone

Features

Everything a meet operator needs, nothing to click past.

iSwim covers the entire flow from entries to published results. Built with Norwegian clubs, for clubs anywhere.

  • Heat generation

    Circle seeding across heats, inside-out lane assignment, and one-click 'Generate all heats'. Scratched entries are filtered automatically.

  • Mother device + timer phones

    QR pairing at poolside. Median aggregation across 1–3 phones per lane. A stable deviceId survives crashes and reconnects.

  • TV display and spectator page

    A large live clock, place medals in real time, and a mobile-optimized /m/ page parents can share with anyone at home.

  • Invite other clubs

    Shareable invitation links. Invited clubs upload their entries via CSV or Excel — no login required.

  • Export to CSV and PDF

    Start lists as PDF, results as CSV. Not locked in — your data is downloadable any time.

  • Public results

    Results are free for the public to view at iswim.no/m. No login, no paywall, no tracking.

  • Robust on flaky WiFi

    Times are stored locally on the phone in IndexedDB if the network drops, and sync back when connectivity returns. No times lost.

  • GDPR + EU hosting

    All data is stored in the EU (Neon Postgres + Upstash Redis in Frankfurt). DPA template in Norwegian. Passwordless sign-in via magic link.

  • Norwegian and English

    English by default, Norwegian Bokmål for local meets. Date and number formatting follows the active locale.

The answer

Phones you already have, used the right way.

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.

  • 1 phone per lane

    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.

  • 100–200 ms total system error

    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.

  • Live on TV and the web

    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

The questions we hear before the first meet.

Don't see your answer? Email admin@iswim.no — we reply within 24 hours on weekdays.

What hardware does the club need?

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.

What happens if WiFi drops mid-heat?

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.

How accurate is the timing?

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.

What about GDPR and privacy?

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.

Does iSwim export to medley.no?

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.

How do we get started?

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.

What if we want to switch away later?

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

Become a pilot club.

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