We've rebranded. VibeWriter is now **Train Ultra** — same product, same features, sharper name, new home at **trainultra.app**. Nothing about how the app works is changing: same AI titles, same workout evaluations, same coach, same goals and training summaries. Just a name that fits where the product is headed. If you have the old VibeWriter iOS app installed, install the new Train Ultra app from TestFlight when you get the invite; the old build will stop working at cutover. The web dashboard at vibewriter.fun automatically redirects to trainultra.app, so any bookmarks will keep working.
When you tap Discuss on a workout, the coach now opens the conversation with a brief read of what it sees and asks how it actually felt — and that conversation is permanently tied to that workout. Reopening Discuss on the same activity picks up where you left off. A small dot on the Discuss button shows which workouts you've already talked about. The bigger change is invisible: anything you share — that bicarb wrecked the long run, that an easy day felt like another gear, that hip pain crept in — flows forward as context into your future evals and planning conversations. The coach stops planning your week against numbers that miss the story.
Larger plan changes — like "rebuild the next two weeks" or "shift everything to start Monday" — were occasionally failing with a "Failed to generate response" banner when the coach needed several rounds of tool calls to finish the work. The cap that gated the loop has been raised, so multi-step schedule edits now complete without needing a retry.
Your AI workout evaluation is no longer a dead end. Two new Pro buttons sit right with each evaluation, on the web and in the iOS app. **Discuss** drops you straight into the AI Coach with the conversation already started about that specific workout — no need to open the coach tab and re-explain which run you mean. Ask your follow-ups ("why was my heart rate so high?", "what should I do tomorrow?") and the coach already has the context. **Play** reads the evaluation aloud, so you can listen while you cool down instead of staring at your phone — pick a male or female voice under Settings → AI Coach. Both are part of Pro; the audio is prepared the moment you open an activity, so Play starts right away.
Workout evaluations now come in three lengths: **Concise** (a coach's text — 1–3 sentences, one observation plus a forward-looking nudge), **Standard** (a focused short paragraph with the assessment and what's next), and **Detailed** (the multi-paragraph read you've had until now — pacing, structure, plan-vs-actual, recovery, and a recommendation). Real coaches don't write essays after every session, and now your AI doesn't have to either. The new option lives next to Coaching style and Tone in Settings → AI Coach. New accounts default to Concise; long-standing accounts stay on Detailed unless you change it. Only workout evaluations are affected — the coach chat keeps its natural length.
Connecting Strava is now part of the first-run tour — and once you connect, VibeWriter pulls in your last 365 days of activities right away. By the time you finish the rest of the tour, your home screen has a real fitness headline, your activities tab is populated, and your AI coach can speak to your actual training history instead of starting from scratch. Existing users will see the new step on next launch with their Strava already marked connected — no action needed. (Don't have Strava yet? You can skip the step and continue.)
Your AI coach now knows who it's coaching. A short profile — sex, age, years running, and (optionally) your max and threshold heart rate, threshold pace, and any health or injury history — now feeds the coach, your workout evaluations, and your training summaries, so guidance is calibrated to you instead of generic. New accounts are asked for the quick basics during sign-up; everyone else gets a one-time prompt to fill them in. It's all editable any time under Settings → User Settings → Athlete Profile, and the heart-rate, pace, and injury fields are entirely optional — add them when you have them. Age grows with you automatically (we store your birth date, not a number that goes stale).
AI evaluations and titles now recognize sauna and sauna + cold-plunge sessions from device temperature, instead of mislabeling them as workouts or junk volume.
Your activities are now titled for what they actually were — "3×1mi Threshold @ 6:45", "Easy Aerobic + Strides", "Long Hilly Trail Run" — instead of only a creative one-liner. This is built from your AI workout evaluation, so the title reflects the real session, and it stays in sync: regenerate an evaluation (for example after adding context) and the title updates with it automatically. Descriptive is the new default for everyone. Prefer the dad jokes? Your custom prompt is untouched — just switch Title Style to **Creative** in Settings → AI Titles and you're back, now with one upgrade: creative titles finally get workout context, so a treadmill run won't get called a lakeside loop. Note: Descriptive titles need workout evaluations turned on — with evaluations off, choose Creative.
Your AI coach now treats the ultra-running knowledge base as the source of truth for any number or protocol it gives you — fueling (carbs/hr), paces, zones, weekly volume, taper, heat acclimation, and the like. Before this, on a multi-part question like "how should I race this?" it could ground the pacing in real methodology but answer the fueling from a generic guess — sometimes landing well below what the knowledge base actually supports for a hard, long effort. Now it consults the knowledge base for each part of the answer and won't state a performance number it didn't look up. It also holds its ground: if you push back, it re-checks the methodology and either explains why it stands or revises with the specific reason it changed — instead of instantly folding and walking the number around. And you'll now see a "Consulted knowledge base" chip beneath the coach's replies whenever it looked something up — a quiet, muted one if a lookup found nothing or failed — so it's clear when guidance is grounded. The same grounding now applies to AI workout evaluations.
Two fixes to AI workout evaluations. First, when the evaluator looks at your prior week for context, it now sees the actual structure of those runs — interval reps, tempo blocks, warm-up and cool-down — instead of a single flattened average. Before this, a structured session earlier in the week (say a 3×8min threshold workout) could be misread as an over-assertive easy run, because the evaluator only saw "7 miles, 160 average HR." It now reads the laps and recognizes the workout for what it was. Second, the "Activity Context" note you can add when you regenerate an evaluation now actually reaches the coach — and is treated as your authoritative account of the session. Previously, if you had goals or coaching preferences set, that per-workout note was silently dropped, so telling it "this was 8% on the treadmill" or "I was getting over a cold" had no effect. Now the evaluation trusts your first-hand account over the raw device file — which routinely misses treadmill incline, indoor pace, a dropped sensor, or how you actually felt — and adjusts the assessment accordingly.
VibeWriter now has a paid tier. Pro is $5/mo or $48/yr (billed annually at $4/mo, ~20% off). Every new account starts on a 14-day Pro trial — full AI Coach with persistent memory, goal-aware workout evaluations, training summaries and YoY rollups, full goal management, and ad-silenced Strava descriptions. After the trial, Free keeps your AI titles, wellness ingestion, and AI-grounded evaluations going; Pro adds the coaching layer on top. **Existing users are permanently grandfathered with full access — thank you for being here from the start.** Manage your plan at /billing on the web; iOS users can tap Settings → Subscribe on the web until Apple in-app purchase lands in a future release.
The Home tab is now coaching-first. Instead of long paragraphs of training summary and year-over-year prose, you get a one-sentence headline from your AI coach, three short cards calling out what's working, the caution to watch, and your focus for the week. Last night's recovery (HRV, sleep, body battery / Oura readiness, resting heart rate) sits right there too, with a pill that flags when your HRV is below your 7-day baseline. There's a countdown chip for your next dated goal so your A race is always one glance away, and recent activities are now a horizontal strip. The full briefing and full year-over-year are still one tap away if you want the depth.
Workout evaluations and the AI coach are now aware of the next two weeks of planned workouts on your schedule. Before this, the evaluator would sometimes suggest a session for tomorrow that contradicted what you'd already planned — sounding like it didn't know your week. Now it acknowledges what's scheduled when recommending what's next, while still critiquing the plan when the actual work performed warrants a change. The plan stays a working hypothesis, not gospel.
Some athletes were seeing raw JSON instead of their training summary on the home screen — an artifact of an older background job that ran every time a new Strava activity was processed and bypassed the JSON parsing the rest of the app relies on. That job has been retired in favor of the single-pass home generator, so summaries, fitness headlines, and the year-over-year comparison are always parsed cleanly and stay in sync. We also added live LLM smoke tests covering both rich and sparse training histories so the bug class can't quietly come back.
Tapping the iOS push notification that announces a new AI workout evaluation now opens directly to that activity's evaluation, instead of just opening the app. Back returns you to your Activities list as you'd expect.
A focused improvement pass on the iOS app: a new app icon, a refreshed sign-in screen, a cleaner Settings layout (rows grouped under Account, AI Features, and Help), accessibility improvements throughout (clearer VoiceOver labels, paired icons on color cues, larger tap targets, Reduce Motion support), and a smoother loading experience on the home screen — placeholder shapes instead of indeterminate spinners while your fitness headline and training summary are being generated. Plus the same date headers (“Today” / “Yesterday” / “Wed, Nov 12”) and clearer navigation labels you'd expect from a system app.
The home page, workout evaluations, AI titles, and the coach now share the same understanding of your goals, training preferences, and recent coach conversations — so you'll stop seeing contradictory feedback between surfaces. Tell the coach you want to focus on low-impact cardio and the next workout evaluation reflects that. Ask the coach to drop the sarcastic titles and the next title respects the request. The home page's fitness headline and training summary now come from a single AI pass, so they can no longer disagree about whether you're overreaching, underdosing, or building well.
Coach-prescribed workouts now appear correctly under Upcoming on the day you're in, regardless of your timezone. Before this fix, asking the coach to plan a workout for "today" could silently land it on the wrong calendar day for athletes outside UTC, so it never showed up in the Upcoming list and the next activity evaluation didn't reference it. Both the coach and the dashboard now resolve "today" in your local timezone end-to-end.
A guided tour of VibeWriter's features now runs the first time you open the app or web dashboard — AI titles, evaluations, the AI coach, goals, planned workouts, connected providers, and personalization, all in a quick walkthrough you can skip any time. When new features ship, the tour automatically shows again on your next app open so you don't miss what's new. We also added a "What's New" pop-up that surfaces recent changelog entries one at a time the next time you sign in — flip through them, then dismiss. Both work on web and iOS; you can re-run the tour any time from Help & Support.
Your AI coach can now save the workouts it prescribes, so they don't disappear when the chat scrolls away. Ask the coach to plan tomorrow's session — or the next week — and each workout lands on your schedule with a sport, a date, and a clear description (intervals, zones, paces all welcome as plain text). View what's coming under the new Activities → Upcoming tab on iOS or the new Workouts page on the web dashboard, and see today's session as a card on the iOS Home tab. Write your own from scratch too, or tweak what the coach scheduled. When you complete a workout on Strava that matches a planned date and sport, VibeWriter automatically links them — so the AI evaluation can comment specifically on whether you executed the plan as written, not just the activity in isolation.
The Coach chat now opens with a friendly greeting and a handful of starter prompts — grouped under Training, Recovery, Goals, and Performance — so you always have somewhere to begin. Tap a prompt and it lands in the input field ready for you to tweak before sending. Available on both the web dashboard and the iOS app.
Your AI coach (and the workout evaluator) can now ground their answers in a curated ultra-running knowledge base — training plans, taper protocols, fueling and pacing, recovery, heat adaptation, and race-day tactics. Ask 'how should I taper for a 100K?' or 'what's a smart fueling rehearsal for my long run?' and the coach pulls from real ultra-specific reference material instead of generic running advice. The coach decides when retrieval helps; everyday questions and small-talk turns are unaffected.
Your AI coach can now reach across your full Strava history (up to two years), not just the last 30 days. Ask about a race from last spring and the coach actually finds it. Ask 'how was my March?' and you get rollups instead of a vague paraphrase. Ask about a specific workout's intervals or pacing and the coach can drill into the high-resolution data the evaluation pipeline already uses. Wellness trends (HRV, RHR, sleep) and prior coach evaluations are also one tool call away — so 'what did you say about yesterday's run?' returns the exact prior text.
You can now permanently delete your VibeWriter account from inside Settings on both iOS and the web dashboard. Deletion erases everything we hold — workout titles, goals, coach history, wellness data — and disconnects VibeWriter from Strava, Garmin, and Oura, so we vanish from your connected apps. We send you an email receipt confirming the deletion. Activity titles VibeWriter previously wrote on your Strava activities stay on those activities.
Every coach conversation now carries a short AI-generated title that names what it was actually about, so your history is finally scannable. Tap any past conversation on iOS to jump straight back in and keep chatting — no more read-only detour. The web /coach page gets a ChatGPT-style sidebar with every conversation listed, click-to-resume, and inline delete. The coach also no longer kicks off with a canned greeting; the chat starts when you do.
Sign in with email and a one-time code instead of through Strava. Strava is now a connected provider alongside Garmin, so you can edit your profile name, manage your email, and keep your account independent of any single integration.
Coach replies on iOS now render markdown — headers, bullets, bold, and code — so longer answers and structured plans are easier to read.
Your AI coach now remembers personal context across conversations — preferences, past races, recurring injuries, training history. View and edit what the coach knows from a new Memory subpage in settings.
Set your primary sport (running, cycling, swimming, or multisport) and pick a coaching register and tone. Your preferences shape every evaluation and chat response so the coach sounds like a coach for you.
AI evaluations now use high-fidelity time-sampled streams, device-recorded autolaps, and best-effort segments. Tempo runs, interval workouts, and long efforts get analysis that reflects exactly what your watch recorded.
You can now remove an activity from your VibeWriter history directly from the iOS activity detail view.
Coach conversations are saved automatically. Browse past chats, resume where you left off, or start a new one — on web and iOS. Long-press any AI-generated text to copy it.
Choose how AI evaluations land on Strava — append them to your activity description, replace it, or keep evaluations off Strava entirely. Configurable from both web and iOS settings.
Web settings now use a sidebar layout with auto-save, dedicated subpages for the AI Coach and Profile, and a built-in Help & Support section.
Connect Garmin directly to pull HRV, sleep, body battery, and training readiness. The AI coach and evaluator factor your recovery into every conversation, evaluation, and training summary — and the summary now calls out recovery trends.
Fixed an issue where the coach was using UTC instead of your local timezone when reasoning about activity times.
Chat directly with your AI coach on the web and in the iOS app. The coach has full context of your recent activities, evaluations, and training goals — ask it anything about your training. Responses stream in real time.
Add a personal reflection to any archived goal. The AI coach reads your reflections when giving advice, so lessons learned from past training cycles carry forward automatically.
Fixed a bug where reactivating an archived goal would immediately re-archive it. Also fixed goal target dates displaying incorrectly in some timezones.
New users now get AI workout evaluations automatically — no need to toggle it on in settings.
Your Home page now features an AI-generated fitness headline summarizing recent physiological trends, plus a year-over-year comparison pulling historical data from Strava.
Get notified on your iPhone when a new AI workout evaluation is ready. Tap the notification to view the full analysis.
The iOS Home tab now shows monthly stats alongside weekly stats, and all tabs load instantly from cache while refreshing in the background.
The Support page now loads FAQs dynamically from the server, keeping help content fresh without requiring an app update.
The public website has a fresh dark theme with updated messaging, feature highlights, and a full changelog.
The iOS app now includes a Home tab with your AI training summary, weekly stats, and activity streak — plus a full Goals tab for creating and tracking training goals.
A new Home page brings together your AI-generated training summary, weekly activity stats, streak tracking, recent activities, and active goals — all in one view.
Set training goals (race targets, mileage goals, fitness milestones) and the AI weaves your progress into every evaluation and weekly summary. Create, edit, achieve, and archive goals from the web or iOS app.
VibeWriter is now available as a native iOS app with Strava authentication, activity dashboard, settings management, and support — a companion to the automatic Strava integration.
Added a full REST API layer to support the iOS app, including endpoints for authentication, activities, settings, goals, changelog, and home data.
AI evaluations now include device-recorded laps and intervals from your watch, giving the coach better insight into structured workouts like tempo runs and interval sessions.
Added Garmin Connect integration code for future direct Garmin data access. Currently pending API key approval — Garmin users can continue syncing via Strava.
You can now regenerate AI evaluations from the dashboard. Evaluations are posted directly to your Strava activity descriptions with a clean separator, preserving any existing description text.
The biggest update yet. After every workout, VibeWriter's AI now generates a detailed evaluation — analyzing pacing, effort, heart rate, and intervals — and posts it to your Strava activity description automatically.
Added pre-built prompt presets for title generation so you can quickly switch between styles (e.g., motivational, humorous, poetic) without writing custom prompts.
Added Google Analytics 4 tracking to better understand how users interact with VibeWriter and measure conversion from the landing page.
Added an admin portal for monitoring system metrics — total users, daily activity counts, title generation stats, and user management.
The entire web app is now fully responsive with a hamburger menu, card-based activity layout, and bottom sheet modals optimized for mobile devices.
Users can now choose between imperial and metric units, and filter which activity types get AI-generated titles. Preferences are reflected in the AI prompt context.
Improved the AI title generation to avoid repeating recent titles and to stop wrapping titles in quotation marks. Titles now feel more natural and varied.
Added a public changelog page to keep users informed about new features, improvements, and bug fixes.
Separated AI prompt configuration into a dedicated Settings page, simplifying the activity dashboard.
Added a support page with FAQs and troubleshooting guides to help users resolve common issues.
The "Strava Quote Generator" has been rebranded to "VibeWriter" with a new name, logo, and visual identity.
Users can regenerate a new title suggestion for any activity from the dashboard with a single click.
Launched the core feature: connect your Strava account and automatically get creative, AI-powered titles for new activities based on your personal prompt.
