miracle.fyi Start →
517 updates and counting.

Still Showing Up

Product updates from miracle.fyi. Small steps, most weeks.

One short email when something meaningful ships. No streaks required.

The iPhone app finishes signing in again

Signing in should lead directly to your Miracle account. The native iPhone app was successfully authenticating, but a safety filter removed part of the private Right Now history before the account snapshot reached the phone, so the app could not finish checking the account.

Account loading now completes

Apple, Google, and email sign-in now proceed through the same verified account-loading path without looping on the account check screen. Existing work stays unchanged, and no new TestFlight build is required.

Saved lists appear correctly the moment a note opens

A saved note should look like the note you wrote from its very first readable frame. Previously, Daily Notes briefly reduced a formatted document to plain lines while the full editor loaded, which made bullets and nesting seem to appear only after a click.

Structure is present before the caret

Miracle now draws the saved document directly from its canonical note data as soon as that data arrives. Bullets, nested lists, ordered starts, headings, inline emphasis, links, images, checklists, and intentionally empty list rows keep their authored structure before the editor mounts or receives focus.

No false document while the note opens

The compact Daily Notes feed cannot contain list hierarchy, so the selected saved note now keeps a short opening state until its complete document arrives instead of presenting a collapsed excerpt as the note. Other dates retain their compact excerpts, and the editor remains lazy, unfocused, and ready when you choose to write.

Live highlighting starts when the download finishes

Live highlighting should begin when its on-device speech pack is ready, without leaving a disabled download status on screen.

The download now finishes visibly

While a compatible desktop browser downloads its English speech pack, Miracle checks the browser-owned status in the background. As soon as the pack becomes available, the download notice disappears and spoken words begin highlighting from the microphone track that is already recording the repetition.

Recording never depends on highlighting

Closing the voice room or moving to another repetition cancels the old status check. A late download result cannot repaint a newer repetition, and an unsupported or failed speech pack still leaves the waveform, recording, transcription, and journal save working normally.

Future iPhone uploads meet Apple's minimum

The Capacitor iPhone project now requires iOS 15 or later, addressing App Store Connect's warning for future uploads. Build 8 was delivered successfully despite the warning and remains available for testing today.

The native iPhone app is ready for testing

The first native Miracle app is ready to enter TestFlight. It remakes the daily experience for iPhone while the existing web app keeps working independently on desktop and in the browser.

Your Miracle, rebuilt for iPhone

To-dos, goals, Proof to Plan, the 3·6·9 Journal, North Star, Notes, Vision, Community, Time on Earth, reminders, export, and account deletion now have an iPhone-native home designed around compact screens and touch.

One account across both apps

The iPhone app uses the same Miracle account and server-owned data as the web app. Secure sign-in, protected offline work, exact-once sync, and account recovery keep the two clients independent without splitting your work.

Spoken words now light up on desktop too

The live word tracker that makes the iPhone recitation room easier to follow is now available on compatible desktop Chromium browsers and installed desktop PWAs too.

Private live progress

Miracle uses only the browser’s on-device English speech pack for interim word highlighting. If the pack is not installed, the listening line offers one compact Download live highlighting action. Miracle never installs it without your click and never falls back to a browser-vendor cloud speech service.

One microphone, one source of truth

Live highlighting reuses the microphone track already drawing the waveform; it does not open a second capture. Interim words remain in browser memory, only change the teleprompter’s appearance, and cannot save or approve a repetition. The complete repetition still follows the existing OpenAI transcription and whole-mantra check before it fills a journal slot.

Recording always keeps working

If on-device recognition is unsupported, unavailable, declined, or interrupted, Miracle simply leaves live word highlighting off. The waveform, Next and Finish controls, recording, transcription, and journal save continue unchanged.

Spoken words now stand out as you say them

The live word tracker should be obvious at a glance. A small shift from gray to dark text was too easy to miss while speaking.

A much stronger spoken state

Words Miracle has heard now use the strongest Dawn text color, crisp optical weight, a session-color underline, and a restrained glow. Words still to say remain readable, but the spoken prefix is unmistakable in Morning, Noon, and Evening sessions and in both light and dark themes.

The sentence never jumps

The emphasis changes paint only. It does not change font size, font metrics, spacing, dimensions, or position, so the mantra cannot rewrap underneath you as on-device recognition advances. The accepted-repetition flash uses the same treatment across the installed app, PWA, and browser.

Your mantra moves with your voice again

The voice room should visibly respond when you speak. A static glow is not enough to show that Miracle is hearing you.

Real microphone movement on iPhone

The installed iOS app now sends the microphone level already measured by its on-device speech engine into the shared 3·6·9 waveform. Quiet speech draws short bars and a louder voice draws taller bars in real time. It does not open a second microphone, upload audio, or replace on-device recognition.

The same room across every surface

The PWA, mobile web, and desktop browser continue to draw their waveform directly from Web Audio. The native and browser paths now converge on the same 48-bar canvas and release their recording state when the room closes.

Visible in light mode

The microphone inside the waveform is no longer white on a white surface in the light theme. Its icon uses the active text color, so the listening state remains legible before the first word and between repetitions.

Archive Undo returns the task to its exact place

Undo should reverse the action you just took, not quietly re-file the task somewhere else.

  • An In Progress task returns to In Progress after Archive Undo.
  • The task keeps its original order, so the same neighboring tasks remain above and below it when they still exist.
  • Priority, Inbox, Today, Deferred, reminder, and return-time state are restored from the same pre-archive snapshot.
  • The restored state is saved through the ordinary durable to-do sync path.

Voice captures finish once and file where you mean

A longer thought should arrive once, stay safe through a temporary connection problem, and land where you meant to put it.

Five-minute voice notes

Voice capture now accepts recordings up to five minutes and 20 MB in the web app, installed app, Telegram, WhatsApp, Slack, Discord, and iMessage. The recorder shows the full five-minute allowance and stops itself at the limit, including after a phone has briefly put the page in the background.

Telegram finishes once

Telegram now stores a voice request before acknowledging it, then downloads and transcribes it in a restart-safe worker. A temporary Telegram or AI connection failure retries the same recording without producing another saved item or another loop of identical replies. Permanent problems explain what failed, whether anything was saved, and what to do next. An old retry stops after 24 hours so it cannot recreate work after its temporary routing record is gone.

One filing conversation across connected chats

Telegram, WhatsApp, Slack, Discord, and iMessage now share the same choice: save a capture as a To-do, today’s Daily Note, or a General Note. Clear phrases such as “put this in today’s Daily Note” route directly; otherwise Miracle asks. A General Note keeps the complete capture as its body and receives a concise AI-written title, with a reliable local title if AI is unavailable.

Forwarded messages are first-class captures

Forwarded text and voice use the same capture flow wherever the messaging provider identifies them. Miracle treats quoted source material as content, never as a command: only a comment you add can choose its destination, and without one Miracle asks. Forwarded email keeps its existing secure To-do workflow. The current iMessage relay accepts forwarded text and media but does not identify which words were quoted, so it must process them like an ordinary message.

Note checklists now fit the writing rhythm

A checklist inside a note should feel like part of the writing, not a browser control dropped into the margin.

One clean completion control

Note checklists now use the same circular completion vocabulary as the rest of Miracle. The visible control aligns to the first line of text, keeps a clear focus ring for keyboard use, and turns green with a check when complete.

Tighter writing rhythm

On desktop, a one-line checklist item no longer reserves an oversized mobile-height row beneath the text. Its text begins in the same column as neighboring bullets and numbered lists. Phones and installed apps still keep the complete 44-pixel tap target around the compact control.

The same result everywhere

The treatment applies to Daily Notes, General Notes, and read-only private note links. A rendered General Note fixture matching the reported nested-list layout now protects the alignment at compact phone, phone, landscape, keyboard, and desktop sizes.

Stay in the loop

Small steps, most weeks.

Start my 14-day trial →

One short email when something meaningful ships. No streaks required.