Most swim apps get installed, used for a month, and then quietly forgotten. The watch already records the workout, so why open another screen? After a while there's no reason to.

Two kinds of swim apps survive past six months in real usage. The ones that visualize the data well enough that you come back to look at it. And the ones that make consistency itself feel rewarding. The second kind is where it gets risky — the easy path is anxiety marketing. "Your streak ends in 4 hours!" "Don't lose your progress!" That works in the short term and then it burns the user out.

FINNS chose the other path. Show up and the system fills in. Don't show up and it waits. Same medals, same avatar, same wardrobe — just paused on the timeline until you're back.

This post is about how that's actually built.

Achievements + tier grid
Achievements + tier grid
Achievements + tier grid
Achievements + tier grid

The Medal System — 240 Total, Zero Pressure

Structure

Layer Count What it covers
Categories 30 Per-stroke distance, per-stroke PB, class attendance, time-of-day patterns, HR zone time, SWOLF mastery, consecutive days, and more
Tiers per category 8 Bronze → Silver → Gold → Platinum → Diamond → Master → Grandmaster → Legend
Total 240 30 × 8

30 independent tracks, each with 8 unlocks of its own. They don't level up together. A swimmer who logs heavy freestyle volume might sit at Gold in freestyle distance and still be on Bronze for early-morning sessions — because they've never gotten in the pool before 6 a.m. Every category is its own line.

Example Categories

Category Bronze Silver Gold Platinum Legend
Freestyle cumulative distance 10 km 50 km 100 km 250 km 5,000 km
Breaststroke PB (100m) 2:30 2:15 2:00 1:50 1:25
Pre-5 a.m. sessions 5 10 30 60 500
Z4+ cumulative time 30 min 1 hr 3 hr 10 hr 100 hr

The exact thresholds get calibrated against real user statistics after launch. The shape — early tiers reachable in weeks, late tiers measured in years — is the design intent.

Four Rules That Define the System

The medal system is built on four explicit rules, and they're as important as the medal grid itself:

  1. No time locks. There are no "complete this in 24 hours or it's gone" missions. Every medal that's available today is available tomorrow.
  2. No nagging notifications. The app does not push you when a medal is close. No "only 2 km until Silver!" alerts. The system doesn't try to extract a session out of you.
  3. Deep tiers. Eight tiers per category means there's always a visible "next step" — even after years of consistent swimming.
  4. A few hidden medals. Some unlocks are quietly tied to specific conditions and surface only when you trigger them. Finding one is a small bonus, not a tracked obligation.

The four rules collapse into one sentence:

Open the app for swimming. Don't swim for the app.

That's the line we kept coming back to whenever a feature pulled in the other direction.


The Avatar — Evolves, Reflects, Dresses Up

The 240 medals handle the long-arc goal-chasing. The avatar handles the moment you open the app and see yourself.

6-Stage Evolution

Your avatar progresses through 6 stages, calculated automatically from a blend of cumulative distance, recent activity volume, and total medals held. The stage doesn't just change a number — the base character's appearance and posture change with each step. Early stages look a little stiff and uncertain in the water. Later stages stand and move with the body language of someone who's been swimming for years.

It's a slow progression on purpose. Reaching the highest stage isn't a one-month sprint; it's a multi-year arc that maps to becoming a genuinely experienced swimmer.

Body Reflects Recent Activity

The avatar's body shape responds to your last four weeks of training volume.

That's it. There are no negative messages, no crying expression, no "you'll gain weight if you skip today!" text. The avatar is a quiet mirror of where you are right now, not a guilt-trip engine. If you take a month off for an injury, the avatar simply reflects that you took a month off. When you come back, so does the build. No commentary.

Gacha Wardrobe — Swimsuits, Caps, Goggles, Watches, Gear

Earned coins open gacha boxes. Consecutive-day attendance adds a small bonus on top, so logging in every day stacks coins a little faster — and those coins are what you spend on wardrobe pulls. The catalog covers five categories:

Item type Examples
Swimsuit Tops, bottoms, one-pieces
Cap Silicone, latex, themed
Goggles Mirrored, clear, prescription-style
Watch Aesthetic variants
Gear Kickboard, pull buoy, fins

Each item rolls a rarity: Common / Rare / Epic / Legendary. Drop rates are published openly inside the gacha screen.

Rarity Drop rate
Common 70%
Rare 22%
Epic 7%
Legendary 1%

(Rates are tunable and any changes are version-noted.)

The non-negotiable rule:

No paid gacha. Coins come only from swimming.

There is no in-app currency purchase, no "skip the grind" pack, no premium box. If you want a Legendary one-piece, you swim until you roll it. The store-page screenshots show that explicitly.

Share Card — 9:16 for Stories and Reels

The avatar you've dressed up exports as a 9:16 vertical card (1080×1920) that drops cleanly into Instagram Stories, Reels, or any messaging app.

Compositing happens entirely on-device. Nothing leaves your phone unless you choose to share it.


Gamification, Held to Two Promises

A lot of swimmers want nothing to do with game mechanics in a tracking app. "Just show me the splits." We hear that constantly, and we respect it. So FINNS' gamification is bound by two promises.

Promise 1. Gamification is separated from the analytics screens.

The home, history, and analysis tabs contain no medals and no avatars. If you only want pace, HR, and SWOLF, you can use the app for years without the gamification surface ever interrupting your view. It lives in its own tab. You go there when you want to.

The data person sees data. The gamification person sees gamification. Nobody is forced into the other lane.

Promise 2. No notification asks you to swim.

The app doesn't ping your phone to remind you that you exist. If you swim, the system reacts the next time you open it. If you don't, it stays quiet. That's the entire notification policy for the gamification layer.

You can also turn the medal-earned alert off entirely in Settings, in which case the app says nothing on open either.


A 5-Minute Simulation — What a Month Looks Like

After roughly one month of regular use, a typical picture:

Track Where you'd likely be
Freestyle cumulative distance ~23 km → Bronze (10 km) earned, 27 km to Silver
Breaststroke PB 2:35 → 2:24 → Bronze (2:30) earned
Class attendance 8 sessions → Bronze (5) earned, 2 to Silver
Avatar Stage 1, 3 Common swimsuits, 1 Rare cap in the wardrobe

After a year, the typical user holds 30–60 medals and an avatar at stage 3–4. After five years, late-tier categories like Z4+ cumulative time and pre-5 a.m. sessions are still climbing. The 240 count was calibrated to keep a visible "next medal" for years, not to be cleared in a single training cycle.

Legend tier exists in some categories and not all. Most consistent swimmers spend extended time in the Diamond–Master range, which is by design — the system shouldn't ever go silent.


Common Questions

Are medals backed up? All medal and avatar data is stored on-device. For device migration, you can export a JSON backup file and re-import it on the new device. No cloud account required.

Are the gacha rates really published? Yes. The current rate table is shown in the gacha screen itself. Any rate change ships as part of a version update and is listed in the changelog.

Do iOS and Android have the same medals? Yes. 240 medals, 30 categories, 8 tiers, 6 avatar stages are identical across platforms. Some wardrobe item visuals may differ slightly between platforms for asset-source reasons; the underlying system is the same.

Medal-earned alerts feel too frequent. Can I turn them off? Yes. Settings → "Medal earned alerts" → off. The on-open notification then stops entirely.


The Quiet Version of Gamification

The default version of "engagement" in app design is loud — streaks at risk, timers ticking down, badges that punish your absence. It works on a subset of users for a few months and then it breaks the rest.

FINNS goes the other direction on purpose. Deep progression, four explicit rules, two promises, no anxiety push. If you swim three times a week, the medals fill in. If life gets busy and you stop for a month, the medals wait. They're still there when you come back. So is your avatar. The wardrobe doesn't reset.

That's the app we wanted to still be opening five years from now.

For the practical side — how to read the Achievements screen, how tiers are displayed, how the attendance bonus accumulates, and how to work the gacha efficiently — see → Post 10: Achievements, Attendance & Gacha — Practical Guide

One swim today, a lifetime of data.

Find Finns SwimLog on the App Store
One swim today, a lifetime of data.
Open App Store → Open Google Play →

← Back to all posts