Mommy RefuelA little more room for you.
EN
PRODUCT UPDATES

Builds 23 and 24:fixing a bug that actually mattered

Product updates · 4 min read

One bug on September 20 bothered me more than most: switching languages could leave half your screen in the old one. Here's what caused it, how I fixed it, and what else shipped that day.

You've checked in today confirmation screen with a green checkmark and a Check in again button.
Check-in confirmation screen — earlier app design.

Key takeaways

  • Switching your app language could leave part of the screen in the old language — a real iOS behaviour, not a random glitch. It's fixed: the app now offers a clean restart to finish the switch.
  • I audited all 8 translated locales end to end: a help-message template that had never been translated in 7 languages, missing crisis/safety strings, and duplicate keys are all fixed.
  • The website's Partner Mode badge was understated — it now correctly says connecting a partner works in the pilot, with only the sharing dashboard still gated.
  • The website's feature-status content was synced with the app's honest, graduated roadmap from the previous two days.
  • Crisis and safety translations were done carefully, but I still want native speakers to review them before they reach the public App Store.
01

The bug: switching languages could leave you half in each

A tester reported that after changing the app's language, parts of the screen stayed in the old one — an English label next to Ukrainian text, or the reverse. That kind of inconsistency undermines trust fast, especially for a wellbeing app where clear language matters.

The root cause was more interesting than a typo. iOS actually fixes an app's language at process launch and caches how String(localized:) resolves for the rest of that run. A runtime bundle swap only redirects plain SwiftUI Text("literal") calls, not the cached localized lookups — so the two paths quietly diverge and you end up with a genuinely mixed screen. This wasn't something I could patch around; it needed a different approach entirely.

02

The fix: an honest restart instead of a broken live switch

Rather than fight iOS's behaviour, I stopped promising a live switch. The language picker now writes your choice and offers "Restart now" — a clean relaunch that comes back fully and consistently in your new language — or "Later", if you'd rather keep going and switch when convenient. I tested both directions in the simulator, Ukrainian to English and back, and confirmed the whole UI, including cached localized strings like "Not set up" or "1 child", comes back consistent after the restart. Your data is completely untouched either way.

03

While I was in there: a full 8-language audit

Fixing the switching bug was a good excuse to properly audit every translated string across all 8 non-English locales. I found real gaps:

  • The help-message template used when you ask someone for help was untranslated in 7 languages — it had been rendering literally as its own internal key name instead of real text, with its 4 placeholders now properly translated in each language.
  • Five keys, including two crisis and safety strings and some disclaimers, existed only in Ukrainian and were silently falling back to English everywhere else. All added to the other 7 locales.
  • Duplicate keys (like two separate entries for "Formula" and "Something else") and a formatting mismatch were cleaned up.

After the audit, every locale sits at exactly 1,472 keys with zero missing, zero duplicates and zero format mismatches, verified with Apple's plist linter. I want to be honest about one thing: the crisis and safety translations were done carefully, by hand, but they still deserve a native-speaker clinical review before this reaches the public App Store — that review is a known gate, not an afterthought.

Early check-in screen with Mood options from Heavy to Bright and Energy options from Fuelled to Empty, shown in English.
Early check-in screen — early app design, August 2026.
04

The website catches up on Partner Mode

The deployed website is a static mirror, separate from the in-app roadmap, so I audited every per-feature availability badge on it against what's actually true in the app. Most were already accurate — cycle, planning, Care Circle, Memories, children and family timeline correctly showed "Available"; the baby domain and family health record correctly showed "Planned"; the Apple Watch app was already presented as part of the pilot.

Partner Mode was the one that undersold reality: it said "In development · gated in production", when connecting a partner actually works today. I updated the badge to "In the pilot · sharing gated in production" across all 9 site locales, which matches exactly what I wrote about Partner Mode in the previous update.

Today screen reading “Good morning, your energy is lower than usual today” with a Refuel Score of 52 and a 6-day trend chart.
Today screen with lower score — earlier app design.
05

Syncing the rest of the site's roadmap content

Separately, I brought the website's underlying feature-status content in line with the app's graduations from the last two days: Cycle/Planning, Pregnancy, Baby, Memories and Care Circle now read "now" instead of a softer status; Health reads "next", matching that weight import and Body & recovery have shipped, but deeper signals and Watch context are still ahead. I also removed two things that were no longer honest to say: a promise of a fertility fertile-window estimate (the app deliberately makes no fertility claim), and a note about baby profiles being behind a feature flag (baby context has shipped). The Care marketplace and trust-ladder statuses were left untouched — that's a separate rollout with its own timeline.

06

Where and when

  • 08:35 — TestFlight build 23 (commit f425230).
  • 09:00 — Website feature-status content synced with the app's graduated roadmap (0ebb475).
  • 10:44 — Partner Mode badge corrected across all 9 site locales: "In the pilot · sharing gated in production" (761c6b7).
  • 11:16 — Language-switching bug fixed with a restart-to-apply flow; full 8-locale string audit completed (359e2cc).
  • 11:17 — TestFlight build 24, language switch fix (250a8a2).
07

What's next

Crisis and safety translations still need a native clinical review before general availability. And the biggest thing I'd built up to at this point in the week — a new way to just talk to the app instead of filling out forms — was next. More on that very soon.

Mommy Refuel You screen in the current app, with life stage, Care Circle and account rows.
The You screen as it looks in the current app, September 2026.

Questions mothers ask

Why couldn't the app switch languages live, instantly?

iOS fixes an app's language at launch and caches how localized text resolves for that run. A live bundle swap only affects some text, not all of it, so the two paths diverge into a mixed screen. A restart is the only reliable fix.

Will switching my language delete my data?

No. Changing language and restarting only affects how text displays. Your journal, check-ins and all your data are completely untouched.

Is Partner Mode fully available on the App Store now?

Connecting a partner works in the pilot. The fuller sharing dashboard is still gated in the public App Store build, pending a privacy review.

Have the crisis and safety translations been reviewed by a professional?

They were written carefully, by hand, across all 8 languages, but they still need a native-speaker clinical review before I consider them final for general availability.

Availability can vary with the installed app version. Statuses are founder-confirmed at the time of writing.

MORE FROM THE BLOGAll articles ↗︎
Onboarding screen asking “Where are you right now?” with options for pregnant, postpartum, planning, or supporting someone.

Why I'm launching this blog, from day one of Mommy Refuel

I'm starting a blog on mommyrefuel.com — real articles on motherhood and wellbeing, and this changelog written in my own name, in English and Ukrainian, alongside sharing Mommy Refuel more widely this week.

Serhii Rohachov
Refuel AI screen with suggested prompts like “Why is my score lower today?” and “Help me prepare for my doctor.”

Just talk: speak or type, and Mommy Refuel sorts it out

No forms, no menus — just speak or type about your day, and Mommy Refuel proposes where it belongs. You decide what actually gets saved. Here's exactly how it works and why I built it this way.

Serhii Rohachov
Life Timeline Trends tab with a Refuel Score line chart from Aug 10 to Aug 31, showing 9 recorded days and 20 days with no data.

September 19 evening: Life Timeline graduates to a real pilot

After the morning's shipping, I spent the evening on something less flashy but more important: making sure the roadmap inside the app never tells you a working feature is still just an idea.

Serhii Rohachov
FOR THE PERSON INSIDE MOTHERHOOD

Make room
for you.

Get the free iPhone app