kraft
The Kraft way·8 min read

The training run RacePep was made for

The mile 20 in Chicago that would have been fine if my wife could have just said my name. Why every part of that app already existed, why nobody built it, and what we built instead.

July 7, 2026

Every app has an origin story that the About page won't tell you, because the honest one is embarrassing. Here is RacePep's. It's a real mile-20 in a real marathon, and the reason I remember it isn't the wall. It's what wasn't there.

The mile

The Chicago Marathon course between miles 18 and 22 runs a long, exposed straightaway through Pilsen, then bends northeast toward the finish. In training, you'd been told miles 18 to 22 are the hard ones. In the actual race, you learn a more specific thing: the hard mile is the one where the crowd thins for two blocks and your legs stop taking instructions from your brain.

Mine was mile 20. I hit it around 3:14 into the race, twelve minutes off pace, hamstrings arguing, and — this is the part I remember most clearly — I could see the crowd thickening again half a mile ahead and I knew if I could just get through this half-mile of quiet I would be fine.

I had a playlist. It was the right playlist. It had been the right playlist for four months of long runs. In that specific half-mile it was noise. I had a dot on a map — my wife was tracking me from a hotel four blocks away, at the mile-25 spot where she'd promised to be. I had a photo of my kid on the lock screen of my phone in the belt. I had nothing in my ear.

I remember thinking, in the flat way that thinking happens when you're that far in: if she could just say my name right now, I would be fine.

She couldn't. She was four blocks away.

What was possible, and what wasn't

Here is what a runner in that specific moment can actually do with technology, as of the year I ran that race:

  • Change the playlist. Doesn't help — the issue is that it isn't for you, it's just loud.
  • Look at pace. Doesn't help — knowing exactly how off pace you are is worse than not knowing.
  • Look at the tracking dot. Doesn't help — your family isn't inside your headphones, they're a blue circle on a map.
  • Hit a "cheer" button in a running app so someone at home sees you're struggling. Maybe helps — but you have to remember to do it, and what comes back is a light haptic, not a voice.

What would have helped, exactly, was one specific thing: my wife's voice, at mile 20, saying my name and one sentence. Not at mile 25 in person. At mile 20, in the headphones I was already wearing.

And the technology to do that — record audio, play it back at a specific GPS location, play it over music — is not new. Runkeeper's coach voice has been playing at mile splits for a decade. Strava will read out kilometers 5, 10, 15. Nike Run Club has coached guided runs. Every part of the plumbing existed.

What didn't exist was the format: the people who love this specific runner, recording short audio, sealed until race day, one per mile.

Why nobody had built it

I spent a while, after I finished the race, trying to figure out why. It's not a hard app. The pieces are: record a voice memo, associate it with a mile number, count miles on device, play the file when the mile ticks. There is no cutting-edge ML here. There is no server anyone would need to run. The whole system fits comfortably on an iPhone.

I think the reason is that the running-app market is a training-and-logging market, and this is a race-day-only feature. You would build it if you were thinking about the person at mile 20, not about the person planning next week's tempo run. Training apps aren't wrong to focus on training — that's the volume of the runner's life. But the marathon is the reason the training happened, and the middle miles of the marathon are the reason we say we ran one, and the middle miles are exactly where the software has nothing to say.

The other reason, I think, is that the format only works if it's easy for the friends. If your family has to install a coaching app and log in and figure out a UI, they will not do it. So the app has to make the friend's part into "record thirty seconds in Messages." That's a design choice that only makes sense if you started from the mile-20 problem, not from the training-plan problem.

What we built

RacePep is that app. You (the runner) install it, add a race, and invite friends. They install it once (it's free) and record short voice pep talks right inside a Messages conversation — no account, no sign-up, one screen. The recordings ride through your own iCloud to your phone — not through any Kraft server. We hold nothing. We couldn't listen to your voices if we wanted to.

You assign a voice to each mile. Or you shuffle and let it be a surprise. On race day, the app counts miles on the device (no signal required) and plays one recording per mile over your music, ducking the music for the seconds a voice is speaking. Then it plays another at the next one. Then another.

The default is that the voices stay sealed until race day. You don't hear them in advance. Mile 3 is a stranger — a voice you know but haven't heard say those exact words — and mile 20 is whoever you decided to save mile 20 for. There's a dial for how much stays hidden if you're a person who likes to know what's coming; we default to sealed because the first-time experience is genuinely something.

The whole thing is a small app. It does one job. It is the app I wish had existed in Chicago.

Why this couldn't be a feature of a bigger app

Every running app in the field could technically add this. None of them will build it well, and here's why: their business is engagement across weeks and months, and this feature is one specific afternoon. The right thing for the runner is that you use RacePep on race day, use Strava for the log, use Runna for the plan, and nobody's business gets hurt except that no single app owns the whole runner. Big apps are structurally allergic to that.

RacePep can be that afternoon-shaped because it's not trying to be anyone's daily app. It's trying to be there when it counts, which is a different job.

What's free, and the honest catch

A 5K or 10K is free, with a few pep talks and the highlights screen where you replay every voice after you finish. Every longer distance — half, full, or a custom length, and cycling as well as running — unlocks with the Kraft Patron purchase ($14.99 once, or $1.99/mo). That same purchase also opens Tend and Pocket PDF. No renewals if you go lifetime.

The honest catch is that the app is only as good as the voices you gather. If your people don't record, RacePep has nothing to play, and the app cannot fabricate care. But most of the time, if you tell the four people who love you most that they can be in your ear at mile 20 by recording thirty seconds in Messages, they will do it. That's the whole thesis. It's held up so far.

If you're training for a race right now, the mile you're worried about is already the mile you should give to someone. That's what we built RacePep for. I still remember mine.

The apps keep their own quiet corners on Instagram — build notes, the occasional small update. No feeds, no algorithms to chase.

Keep reading