🌈 ~khtdr/

home / Software / The Well Rounded Climber

The Well Rounded Climber (tWRC) is an Android climbing log that tracks habits instead of grades. A V4 at one gym is not a V4 at another, and it is not a V4 outside. The app measures two things that do transfer: how your difficulty is distributed, and how varied your style is.

Get the app

  • Android APK — Download the APK (v1.1.0, ~35 MB)
  • Google Play — not published; this is a direct download
  • iOS — not yet built
QR code linking to the tWRC APK download
Point a phone at this to download the APK directly (~35 MB).

Install

Android blocks installs from outside the Play Store until you allow it, per-app:

  1. Download the .apk above on the phone (or copy it over).
  2. Tap it. Android will offer to let your browser or file manager install unknown apps — grant that, then tap the file again.
  3. Play Protect may warn you it does not recognize the developer. It does not; I am not in the Play Store. Install anyway if you are comfortable with that.

After that, app updates arrive over the air on launch. You only need a new APK when the native side changes.

Why not grades?

Grades are the main way climbers talk about difficulty, but they are a weak training signal. They depend on the gym, the setter, and the style. Chasing them tends to push you toward the climbs you are already good at, one grade below your limit, on the wall angle you like.

So tWRC never asks what a route was graded. It asks two questions instead.

The Pyramid — are you distributing your effort?

Every climb gets self-classified into one of three personal buckets, defined against your ability today rather than any gym's scale:

  • Base — easy mileage. Volume, movement, warm-up.
  • Core — hard but doable. Your working level.
  • Stretch — at or past your limit. Projects.

A healthy season is pyramid-shaped: a lot of base, a solid core, a few stretch. The chart shows you the shape you actually climbed.

There is no score, no percentage, and no verdict. What you get is a named gap, where you sat, and one small suggestion you can go check:

Last session: 8 base, 13 core, 1 stretch. Your last 6 weeks run core-heavy.

Next session: pick two slab problems.

There is a subtlety here that took a rewrite to find. The bars are drawn from effort (attempts plus a completion bonus), but the judgement about which way your training leans is computed from plain counts — one climb, one climb. If the lean were scored on effort instead, a single twelve-attempt project would outweigh an eight-problem warm-up block, and every session where you genuinely projected would read as "top-heavy." Sandbagging would score better than trying hard, for the exact climber this app is for. Now a project is one climb, because it is one climb.

The Spiders — are you climbing everything?

Three radar charts, tagged in the moment on any climb:

  • Hold Type — crimp, sloper, pinch, jug, pocket, volume, crack
  • Wall Angle — slab, vertical, overhang, roof, arete, stem
  • Movement — dyno, static, mantle, compression, lock-off

Tags are not exclusive: one climb can be a crimpy overhanging lock-off, and it counts in all three webs. Spokes are a raw tally — every tagged climb counts once, whether you onsighted it or failed on it for fifteen attempts, because the question a web answers is "have you touched this?" and a climb answers that once.

The tally only becomes useful with a denominator, so the webs report in sentences:

You logged 4 slab problems in 90 days, out of 210 climbs.

"4 slab" reads as a preference. "4 out of 210" is a gap.

The taxonomy is yours

Those eighteen dimensions are a starting point, not a rule. Your gym does not set cracks? A crack spoke pinned at zero will read as a gap nobody can close, so turn it off. Add your own. Turning one back on restores its whole history; nothing is deleted when it is hidden.

Logging has to be fast or it doesn't happen

If logging is slow, you will not do it. The form is built to be quick:

  • Level picks the form. Base asks nothing but "how many." Core asks the result and offers a one-tap "battled it." Stretch — the only place a count actually matters — asks for attempts on a keypad. One form serves three very different climbers, and it adapts within a single session, which a global "advanced mode" toggle never could.
  • Tags carry over from your last climb within a session, so a session on the same wall is one tap per problem. They are not saved overnight — last night's overhang should not attach to tomorrow's slab session.
  • There is an end-of-session pass that shows today's untagged climbs with a few recallable chips, for when you were too pumped to tag at the time.
  • No modes, no onboarding questionnaire. Nothing to configure before you can log a climb.

Make it yours

Pick three colors — canvas, accent, and a chart seed — and the app derives its entire theme from them. Every text color is checked against every background it lands on and corrected until it clears WCAG AA contrast, including for bad picks. A bad color choice should not leave you stuck in an unreadable settings screen you cannot see.

No ads, no tracking, no paid features

The app is free. There are no ads, no tracking, and no paid features, and there are no plans to add any. Everything you log lives in a SQLite database on your phone — no account, no server, no sync, nothing to sign up for, and nothing leaves the device.