Progress log
What we've been building
Every version of Moveee and what changed in it — updates, fixes and improvements as they ship. Currently on v1.21.85.
v1.21.85
Admin users: first device
Latest 2026-08-28- New /admin/users now shows each rider's first device — the browser and OS of their earliest recorded visit (e.g. Chrome Mobile · Android), with a phone/tablet/desktop icon and the full detail on hover.
v1.21.84
20 new blog guides
2026-08-28- New Twenty new reads on the blog: building a training plan around a full-time job, weekly TSS targets, tapering, Zone 2 on the trainer, reading your power curve, indoor club rides, wind forecasts, workout exports (.zwo/.fit), pairing Zwift/Saris/JetBlack hardware without subscriptions, spin bikes with apps, Bluetooth troubleshooting, heart-rate-only training, trainer power accuracy, rollers vs turbo, heat training, cadence, a realistic get-fit timeline — and how to Everest without leaving your pain cave.
v1.21.83
We work out your timezone and country for you
2026-08-26- Fixed Your daily plan email, the welcome emails and 'today' on your calendar were all computed on Slovenian time, because every account started on Ljubljana and almost nobody ever changed it. New riders now have their timezone picked up from their browser automatically, so those land at the hour you actually chose, where you actually are.
- Improved Your country comes from the same signal, so your profile arrives already filled in rather than blank.
- Improved The timezone and country pickers in your profile now cover everywhere, not just a handful of European cities — so riders further afield can pick their own.
v1.21.82
A public status page
2026-08-26- New moveee.app/status now shows whether Moveee and everything it depends on is working — the app itself, Indoor riding and its scenery, Strava, WHOOP and Hammerhead syncs, the route builder, email, payments and more. Each one carries 90 days of history, and you can subscribe to an email when something breaks and again when it's fixed.
- New When something does go wrong we can post an incident with running updates, so you can see we know about it and what's happening — rather than wondering whether it's just you. There's a link to it in the footer.
v1.21.81
Invite a friend
2026-08-26- New Invite a friend: every rider now has a personal invite link at /invite — share it in your club chat or send a one-time email invite straight from the page, and see who joined through you. Invitations are personal and one-off: we never email your friends again, and addresses that asked not to be contacted are always respected.
v1.21.80
Outreach: community channel
2026-08-26- New Community campaigns in /admin/outreach: drafts become copy-paste task cards (no email needed — a subreddit or forum is a valid prospect), with a UTM-tracked signup link per post, a mark-posted action recording where it went, follow-ups timed from the post date, and UTM-attributed signups per campaign on the dashboard.
v1.21.79
Outreach CRM in admin
2026-08-26- New /admin/outreach: a marketing CRM — prospect book with CSV import and GDPR source notes, email campaigns with follow-up sequences, LLM-assisted drafts that wait in a review queue until approved, capped SendGrid sending with a permanent suppression list, one-click unsubscribe, open tracking via the sent-email ledger, and signup conversion linking.
v1.21.78
Indoor stops remembering a bad minute for a month
2026-08-26- Fixed If Overpass — the service that supplies real-world scenery — hiccuped while your route was being prepared, Indoor recorded the failure as a fact and kept it for thirty days. A coastal ride could end up with no sea, and a whole region with no aircraft overhead, because of one timed-out request. A failure is now just a failure: nothing is stored, and the next ride asks again.
- Fixed The limit on how many scenery lookups run at once could drift below zero and quietly stop limiting anything, letting a burst of rides hammer the map service. It now resets cleanly.
v1.21.77
Plans are built around today again
2026-08-25- Fixed The plan engine could anchor a new block to a date seven weeks in the past — a fixed demo date had leaked into fourteen places that should have been using the real calendar. Plans now start where you asked them to, and no day is marked done before it happens.
- Fixed Blocking a day you can't train is judged against the same "today" the calendar shows you, so a day still listed as upcoming can't be refused as being in the past.
- Improved Four Indoor scenery models (corn, wheat, a farmstead and a factory) shipped textures at four times the size the world budgets for. Resized — the corn field alone dropped from 2 MB to 1.2 MB, so routes through farmland load quicker on a phone.
v1.21.76
A bounced email address is no longer a dead end
2026-08-25- Fixed If mail to your address started bouncing, we stopped sending — and then wouldn't let you change it, because a verified address was permanent. That left the account unable to receive the very verification email needed to fix it. You can now correct an address that has stopped working; the new one just needs verifying, as any new address would.
- New Your profile says plainly when mail to you is being rejected, instead of leaving you to wonder why the emails stopped.
v1.21.74
No ride recaps for rides you did before you joined
2026-08-25- Fixed Joining Moveee could land two or three "you just rode!" emails in your inbox within minutes — recaps of rides from that morning and the day before, pulled in by the first Strava import. Recaps now only ever go out for rides that arrive AFTER your history has finished importing, and never in your first few hours on the app.
v1.21.67
The Plan section is now called Trip
2026-08-25- Changed The Plan section in the header is now called Trip, and lives at /trip. Old links and bookmarks to /plan still work — they redirect.
v1.21.65
Per-email on/off switch in admin
2026-08-25- New Admin → Emails now has an app-wide On/Off per email, stored in AppSetting (no migration). Welcome days 2–5 ship switched off because Explore/Socialize/Compete/Plan aren't built yet. Gated at NotificationMailer#deliver_to and, crucially, before every NotificationSend.claim so a parked email doesn't burn its slot. Transactional mail (payment_failed, pro_ended, ride_room_*) is locked on; previews and test sends bypass the switch.
v1.21.64
Fold the route builder's elevation panel away
2026-08-25- New The elevation profile and its numbers can now be folded away with the chevron beside them, handing the space back to the map — on phones and desktop alike.
- Improved On phones the route stats are tighter (the surface-type percentages are gone, they were the widest and least glanceable part), and tapping the ride-time chip slides out a full-width power slider you can actually drag with a thumb.
v1.21.63
A readable elevation profile on the phone
2026-08-25- Improved The route builder's elevation profile is now twice the height on phones, so a climb actually looks like a climb instead of a sliver. The tap-to-start hint no longer covers a third of the map on mobile — it stays on desktop.
v1.21.62
The route builder fits a phone
2026-08-25- Improved Drawing a route on a phone now gets the whole screen: the bottom tab bar steps aside, the map settings tuck behind a button instead of covering the map, the search box no longer runs under the action buttons, and the elevation profile actually has room to draw — before, its header row used the entire strip. Nothing changes on desktop.
v1.21.61
The same clear starting point on the desktop dashboard
2026-08-25- Improved The desktop dashboard now opens with the same invitation to build a plan when you don't have one yet, so the phone and the laptop tell you the same thing.
v1.21.60
A clear starting point when you have no plan
2026-08-25- Improved If you haven't built a training plan yet, the phone dashboard now opens with an invitation to create one instead of showing an empty rest day — what a plan gives you, and a Create my plan button right there.
v1.21.59
Today's session: Details first on the phone
2026-08-25- Changed On the phone dashboard, today's session now shows Details before Ride Indoor.
v1.21.58
No footer underfoot on the phone
2026-08-25- Improved The site footer no longer appears inside the app on phones — it sat directly above the bottom tab bar, which already carries navigation. It's unchanged on desktop and on the signed-out pages.
v1.21.57
The calendar works like a list on your phone
2026-08-25- Improved On phones the training calendar's days now stack as full-width rows — each carrying its own weekday label — instead of squeezing seven columns onto a small screen. Today stands out properly everywhere: a filled date pill, a TODAY tag and a highlighted cell, rather than a thin outline you could scroll straight past.
- Changed In the phone tab bar, Fitness is replaced by Create plan (it sits before Routes) — the Fitness page stays one tap away from the dashboard's fitness card.
v1.21.56
A phone-first dashboard and a bottom tab bar
2026-08-25- New On phones, Moveee now navigates like an app: a bottom tab bar with Home, Calendar, Routes, Fitness — and Ride Indoor as the centre button — so the everyday places are always one thumb-tap away instead of buried in the menu. It appears everywhere except inside an Indoor ride, which keeps its full-screen cockpit.
- New The phone dashboard is rebuilt as a feed: today's session up top with Ride Indoor and Details buttons, your key numbers (Fitness, Form, 7-day distance, streak), the week at a glance, a fitness trend, and your latest rides. The desktop dashboard is unchanged.
v1.21.55
Clearer email verification status on your profile
2026-08-25- Improved Your profile now simply says "Verified" next to your email — and if it isn't verified yet, a "Verify now" link takes you straight there.
v1.21.54
The calendar opens at this week, not at the top of the month
2026-08-25- Improved Late in a month, the training calendar made you scroll past weeks already behind you before reaching today. The current month now shows one week of lookback before this week, then this week, then the rest of the month — on desktop and mobile alike. Browsing to any other month still shows it whole.
v1.21.53
We stop emailing addresses that bounce
2026-08-25- New When the mail server rejects an address as non-existent, Moveee now stops sending to it instead of retrying for ever — which protects our sending reputation and stops filling a dead mailbox. Temporary trouble like a full mailbox is tolerated for a few attempts first, and problems on our own side (a relay or authentication fault) are never held against a rider's address. If a rider corrects their email, sending resumes on its own. Failed sends now also appear in the admin email log, which previously recorded only successes.
v1.21.52
Indoor tells you when your browser can't pair — and why
2026-08-25- Improved If your browser can't connect a trainer, Moveee Indoor now names it and gives advice that's actually true for it. A Chromium browser like Brave, Opera or Vivaldi is told Web Bluetooth is simply switched off and can be enabled, rather than being sent to install another browser. On iPhone and iPad it says plainly that every browser there uses Safari underneath, so Chrome won't help either — you need a computer or an Android device. Whether a browser can pair is decided by testing the capability itself, never by its name, so any Chromium browser that does support it just works.
- New Moveee Indoor now has its own section on the Pro page, above Ride Rooms.
v1.21.51
Moveee Indoor says it's in alpha, up front
2026-08-25- Improved The Moveee Indoor start screen now says plainly that it's in alpha — free while it is, expect rough edges, Chrome or Edge only — so you know what you're walking into before pairing a trainer. It also called itself "Moveee Indoors" there; the name is Moveee Indoor.
v1.21.50
Moveee Indoor is now one click from anywhere
2026-08-25- Improved Moveee Indoor has moved out of the Tools menu into a "Ride Indoor" button in the header, so it's one click from any page instead of two. The five sections — Perform, Explore, Socialize, Compete, Plan — now sit dead centre and stay there regardless of what's beside them.
- Improved Tools is now a compact icon menu on phones as well as desktop, sitting beside your points instead of filling half the main menu — so the menu behind the burger is just the five sections and Ride Indoor. The tools themselves are reordered to put the ones you can actually use first (route builder, workouts, Strava descriptor, shopper), with everything still in development grouped under "Coming soon".
v1.21.49
One switch to turn all emails on or off
2026-08-25- New Settings → Notifications now has a master switch at the bottom that turns every Moveee email on or off at once. Off means we send you nothing; your individual per-email choices are remembered, so flipping it back on restores exactly what you had.
v1.21.48
Your verified email is now permanent
2026-08-25- Changed Once you verify your account email it becomes permanent — it can’t be changed or removed while the account exists, and the field is shown locked in your profile. This protects the address your rides, billing and sign-in are tied to. If you ever need a different email, deleting the account frees the old address to start fresh.