Lora - AI running coach for iOS, built on your Intervals.icu data

I posted here in June looking for beta testers. That’s over, Lora is on the App Store, and this thread replaces the old one.

It’s a running coach, and only that. No cycling, no triathlon, which makes it the odd one out in this category. It reads your Intervals.icu data, or Apple Health and an Apple Watch if you’d rather. Read only in both cases: it never writes to your Intervals calendar and never puts planned workouts there on your behalf.

The difference from a workout generator is that it holds a whole week and rewrites it. If your HRV and your load say you’re digging a hole, it lowers the intensity instead of handing you the session it decided on Sunday. You can also just tell it things. Legs are dead. I only have 40 minutes tomorrow. I’m away next week. It changes the plan, and the week after it still knows you said it.

Now the money, since this forum knows what these tools cost. Fourteen day trial, then 16,99 EUR a month or 119,99 EUR a year. I’m the expensive one on this shelf and I know it. I’m not going to argue you into it. If what you want is a monthly allowance of workouts, the free tiers around here do that well and for less.

Where things run: your data and your plan sit on my own server in Europe. The coaching text comes from an LLM, which is named in the privacy policy instead of buried in it. The location used for weather reminders never leaves your phone.

I’m one person, so the rough edges are mine. If you try it and something is wrong or annoying, put it in this thread and I’ll answer. That is what fixed most of what works today.

Damien

Correction to my first post, and on this forum of all places.

I wrote that Lora is read only in both directions and never writes to your Intervals calendar. The first half is wrong. The scope is ACTIVITY:READ, WELLNESS:READ, CALENDAR:WRITE, SETTINGS:READ, and you see calendar write on the consent screen when you connect. I should have described what it does with that permission instead of claiming it doesn’t ask for it.

What it actually does. A session reaches your calendar when you send it: there’s a button on the session, and nothing goes across until you press it. After that Lora keeps that week in step with the plan. If it regenerates the week and cancels a session you had already sent, it deletes the stale entry and pushes that week’s remaining sessions in its place, including ones you never sent one by one. That part is deliberate. The alternative is a replan that either empties your wrist or leaves workouts on it that no longer exist. It stays inside the weeks that changed, and a week you never sent anything from is never touched. Activities and wellness are read only. If you’d rather curate your own calendar, don’t press the button and nothing is ever written.

A question for those of you who do push planned sessions to a watch. When the plan changes mid-week, do you want the calendar rewritten for you, or would you rather approve it each time? I built the first one and I’m no longer sure it’s what people want.

Damien

This is the week view. The plan is held as a whole, not session by session, which is what makes it rewritable.

Same athlete, three days under their own HRV range. The range is built from their own measurements, not one cutoff handed to everyone, and the week was already lightened before they asked.

The data side. Runs arrive from Apple Health, each read against that same range.