I built an offline speech-to-text app. The upside isn’t just privacy.
▲ 3 r/AiNoteTaker+1 crossposts

I built an offline speech-to-text app. The upside isn’t just privacy.

I’m a solo iOS developer building LoroNote, a speech-to-text app for iPhone and iPad.

There are already plenty of transcription apps. My focus is on people who want to turn a conversation into text without sending their recording to a transcription service.

LoroNote runs Whisper Large V3 Turbo locally, and speaker separation happens on-device too. After the initial setup, you can transcribe a recording and see who said what without an internet connection.

Not just record offline and upload later. The actual transcription and speaker labeling work offline.

There’s a business side to that choice too. I don’t have a transcription API bill growing with every minute people process, or audio-processing servers to operate. There are still development and support costs, but cloud inference isn’t one of them. The app offers both subscriptions and lifetime access.

The tradeoff is that the device does the work. Processing speed, memory, and battery matter. Avoiding a transcription backend doesn’t remove the work of supporting different iPhones and iPads.

It also works with Apple Watch: record from your wrist, send the recording to your iPhone for transcription, and read or edit the notes on your iPad.

For syncing, recordings and transcripts use your private iCloud database hosted by Apple. I don’t keep copies on my own servers. Sync needs internet; transcription and speaker separation don’t.

I’m not trying to replace every team meeting platform. I’m building for people who want to transcribe their own meetings, interviews, and lectures without depending on a transcription service.

LoroNote on the App Store

The first 2 minutes of each recording are free to transcribe.

u/Alternative_Tour1791 — 8 days ago

I launched a small iOS app. Today it crossed $1.2k MRR.

I launched a small iOS app. Today it crossed $1.2k MRR.

I built LoroNote, an on-device transcription app for iPhone and iPad.

Today it crossed two milestones at almost the same time:

  • $1,212 MRR
  • 238 active subscribers

What I like most about this app is the economics.

LoroNote records and transcribes meetings, lectures and conversations, but transcription runs directly on the device using Whisper. Speaker diarization is also processed on-device.

So when someone transcribes more audio, my server bill barely changes.

I still spend time on support, updates and marketing, so it definitely isn't passive income.

But it's starting to feel less like "I built an app" and more like "I own a small digital asset that produces recurring cash flow."

Still early, but hitting $1.2k MRR and 238 subscribers feels like a nice milestone.

LoroNote on the App Store

u/Alternative_Tour1791 — 20 days ago

91 days ago I launched a small iOS app. Today it became a $1k MRR asset.

91 days ago I launched a small iOS app. Today it crossed $1k MRR.

I launched Local TTS on June 18.

Today it crossed two milestones at almost the same time:

  • $1,043 MRR
  • 200+ active subscribers

What I like most about this app is the economics.

Local TTS reads PDFs, EPUBs and documents aloud on iPhone and iPad, but the speech models run directly on the device.

So when someone uses the app more, my server bill barely changes.

I still spend time on support, updates and marketing, so it definitely isn't passive income.

But it's starting to feel less like "I built an app" and more like "I own a small digital asset that produces recurring cash flow."

Still early, but hitting $1k MRR and 200 subscribers on the same day felt like a nice milestone.

Local TTS on the App Store

For people here building digital assets, when did yours start to feel like an actual asset instead of just another project?

u/Alternative_Tour1791 — 28 days ago

Would you care if your transcription never left your phone?

I’ve been building an iOS transcription app, and working on it has made me rethink something I never really questioned before.

Why does a recording need to leave the phone just to become text?

Most transcription tools follow a pretty normal workflow:

record → upload → process → get the transcript back

There’s nothing inherently wrong with that.

But it feels different when the recording is a work meeting, an interview, a lecture, or just something personal.

If I don’t actually need to upload that recording somewhere, I’d rather not.

That’s one of the reasons I started experimenting with doing the whole transcription process locally on the iPhone.

And honestly, the interesting part hasn’t been getting it to work at all.

It’s been getting it to the point where I’d actually trust it.

Short recordings make almost everything look good.

A 30-second demo tells you very little.

Once you start throwing 30-minute interviews or hour-long recordings at something, you find all the annoying problems that weren’t obvious before.

Memory matters.

Long-running processing matters.

Different devices behave differently.

Background processing gets complicated.

And features that look impressive in a demo can feel a lot less impressive when they fail during a recording you actually care about.

I’ve delayed features because of that.

Not because they were impossible, but because “technically works” and “I’d be comfortable shipping this” are very different standards.

That experience has also changed what I personally care about in note-taking apps.

I’m less interested now in how many AI features they have.

I care more about fairly boring things:

  • Is the transcript actually reliable?
  • Can it handle long recordings?
  • Can I keep the original audio?
  • Does it work without an internet connection?
  • Where is the recording actually being processed?

That last one is the part I’m most curious about.

If two transcription apps gave you roughly the same quality and UX, but:

one uploaded the recording to a server

and

the other processed it entirely on your phone

would that actually affect which one you chose?

Or would you mostly care about accuracy, features, and convenience?

I’m building around the local approach, so I’m probably biased at this point. I’m curious whether this is something regular note-taking users actually care about.

reddit.com
u/Alternative_Tour1791 — 1 month ago

I built a simple weight tracker focused on trends instead of daily fluctuations

I’ve been building a simple weight tracker because I wanted something that focuses more on long-term progress than obsessing over a single number each day.

The basic idea is pretty simple: record your weight, see how it’s changing over time, and understand whether you’re actually moving toward your goal.

You can log weight manually, or use Apple Health. If your smart scale already saves measurements to Apple Health, they can appear in the app automatically.

The free version covers the main tracking experience, including:

• Weight history and calendar
• Progress charts
• Goal tracking
• BMI and waist tracking
• Apple Health integration
• Notes, reminders, and iCloud sync

There’s also an optional Pro version with some extra convenience and customization features, but the core weight tracking is available for free.

I’m still improving the app based on feedback, and I’d especially like to hear from people who already track their weight:

Do you care more about the daily number, how much you’ve lost since starting, or the longer-term trend?

I’d also be interested to know if there’s anything your current weight tracker does particularly well that you’d miss in another app.

Weight Loss Tracker Pro on the App Store

u/Alternative_Tour1791 — 1 month ago

My solo iOS app made $5.3k in the last 28 days. Growth finally started accelerating

My solo iOS app made $5.3k in the last 28 days. Growth finally started accelerating.

I’m a solo iOS developer, and I’ve been building LoroNote, an offline speech-to-text app.

From the beginning, I didn’t want to compromise on transcription quality just to make Whisper run on a phone.

I wanted Whisper Large v3 Turbo, with support for 100+ languages, running completely on-device.

No audio uploaded to a server.
No transcription API costs.
No internet required.

Getting a model that large to run well on an iPhone was the hard part.

Speed, memory, heat, and battery usage all mattered.

Eventually I built my own Core ML inference engine and optimized it specifically for Apple silicon.

That gave me the technical foundation I wanted, but the app really started improving after people began using it.

Users sent me feedback about speaker diarization, summaries, long recordings, imported audio, crashes, and all kinds of edge cases I never found while building it myself.

So I kept patching them.

Better speaker diarization.
Better summaries.
Better performance.
Better handling of real-world recordings.

A lot of my recent roadmap has basically been user feedback.

And recently, the growth curve started looking very different.

LoroNote generated $5,373 in revenue over the last 28 days.

Today it has around 27,000 active users, 154 subscriptions, and $753 MRR.

Still small numbers compared to big SaaS businesses, but for an app I’m building alone, watching it start to accelerate has been pretty exciting.

At first I thought the custom Core ML engine would be the main advantage.

Now I think it was just the foundation.

The bigger advantage was being able to keep improving the product quickly without compromising on the thing I cared about from day one:

high-quality transcription running completely offline.

I’m still building it alone and still fixing things every week.

But after a long time of slow, steady progress, the graph is finally starting to bend upward.

u/Alternative_Tour1791 — 1 month ago

Offline TTS app: 27,120 active users, 129 subscriptions, and $4,757 in revenue in ~2 months. Lessons learned.

Local TTS is an iPhone and iPad app I’ve built that converts documents into speech entirely on-device. No speech servers, no mandatory accounts, and absolutely no cloud processing—just your device’s hardware reading your private PDFs, work documents, and books aloud.

In roughly two months since launch, the app has reached:

  • 27,120 active users
  • 129 subscriptions
  • $612 MRR
  • $4,757 in total revenue

I'm proud of the numbers, but the more useful part has been navigating the unexpected challenges of scaling a privacy-first product once people actually start relying on it.

What I've worked on recently

Debugging in the wild

I originally saw local processing (running models like Kokoro-82M and Supertonic 3 across 31 languages) mainly as a technical challenge. Now I see it as a strict product requirement with massive demand. But it creates a unique problem.

Recently, a user repeatedly crashed at 1% while processing a PDF with a Kokoro voice on an iPhone 17 Pro Max (while the Supertonic voice worked perfectly). Because I couldn't reproduce it on my own devices, I had to work directly with the user to get exact OS information and a non-sensitive test PDF to isolate the cause and push a fix.

What I've learned so far

1. Local-first is a control feature, not just an offline mode.

People want to listen to personal notes without uploading them. They want the app to keep working on a flight or a commute. More importantly, they don't want a core feature to vanish just because a remote service changes its API limits. The privacy-first architecture is the primary value, not just a technicality.

2. The user's device is your production environment.

With a cloud product, you control the server executing the model. With an on-device product, every supported phone, OS version, background memory condition, and document size becomes part of your production environment. You have to account for an infinite number of edge cases out in the wild.

3. Reliability sustains the growth curve.

App Store Optimization and clever marketing might create that very first download, but once growth accelerates, shipping shiny new features is no longer the only priority. Diagnostics, crash compatibility, and listening carefully to users are what actually keep people around and keep the MRR growing.

I'm still early in the journey, but building this has been a great reminder that when you rely entirely on local hardware rather than the cloud, support and reliability become just as crucial as the initial code.

Links for anyone who wants to dig in:

Local TTS on the App Store

u/Alternative_Tour1791 — 1 month ago
▲ 6 r/AiNoteTaker+2 crossposts

I built an offline Whisper transcription app — but is privacy the right marketing hook?

Hi, I’m the solo developer behind LoroNote, an iPhone and iPad app that records and transcribes speech entirely on-device.

I built it because sending private meetings, interviews, lectures, and personal voice notes to an external server never felt ideal.

LoroNote uses Whisper directly on the device, so:

  • Recordings and transcripts stay private
  • Transcription works without an internet connection
  • More than 100 languages are supported
  • Audio and video files can be imported
  • Notes can be organized into folders
  • Apple Watch recording is supported
  • No account or ads are required

It also supports optional summaries through Apple Intelligence on compatible devices.

LoroNote briefly reached #3 in the Productivity category in Korea. Interestingly, the strongest feedback hasn’t been about “AI”—users mainly appreciate that their recordings stay on their devices and that the app remains simple.

Now I’m working on its positioning for English-speaking markets, and I’m unsure which message should come first:

  1. Private transcription that never leaves your device
  2. Accurate transcription without an internet connection
  3. A simple alternative to complicated cloud transcription services

Which angle would you test first?

I’d also appreciate honest feedback on the App Store page and whether the value is immediately clear.

App Store: LoroNote – Speech to Text

u/Alternative_Tour1791 — 24 days ago

I brought my iOS countdown widgets to macOS — Countdown Pro now supports Mac widgets

Hi! I’m the indie developer behind Countdown Pro.

The app originally started with Home Screen and Lock Screen widgets for iPhone and iPad. In the latest update, I added native macOS widget support, so your countdowns can now stay visible directly on your Mac desktop while you work.

Countdown Pro can be used for birthdays, trips, anniversaries, deadlines, and any other event you’re looking forward to. It also supports repeating events, custom photos, and multiple widget styles.

I’d especially appreciate feedback on the Mac widget layouts, readability, and which sizes you find most useful.

App Store: Countdown Pro – Widget & Timer

u/Alternative_Tour1791 — 1 month ago
▲ 3 r/IPhoneApps+1 crossposts

After building an offline speech-to-text app, I built the reverse. Here’s what I learned.

I’m a solo iOS developer, and my previous project, LoroNote, turns speech into text entirely on-device.

While building it, I learned that having a good AI model isn’t enough. If the audio experience is unreliable, the app becomes difficult to use regardless of how well the model performs.

So for my next project, I decided to build the reverse: an app that turns text into speech.

That became Local TTS, an offline document reader for iPhone and iPad. The goal was to let people listen to documents and books without uploading their text or keeping the app open on screen.

Three product decisions shaped the app.

1. Use two speech engines instead of forcing one model to do everything

Kokoro-82M provides natural voices for its supported languages, while Supertonic 3 expands the app’s offline coverage to 31 languages.

Using two engines created more work, but it allowed me to focus each one on what it does well rather than accepting the limitations of a single model.

2. “Offline” had to include generating new speech

Some apps can play previously generated audio offline, but still need a connection to process new text.

With Local TTS, speech is generated directly on the iPhone or iPad. You can switch to airplane mode, add new text, and continue using the core feature.

3. Background playback had to be part of the product, not an extra feature

A document reader isn’t very useful if you have to keep staring at it.

Playback continues when the screen is locked or while another app is open. It also supports Lock Screen controls, so a long document can behave more like a podcast or audiobook.

The app currently imports PDF, EPUB, Word, TXT, and Markdown files. It can also recognize text from printed pages and photos, highlight the current text while reading, and adjust playback speed.

The biggest lesson was that the AI model is only one part of an AI product.

Most of the product work happens around the model: document importing, long-text processing, audio sessions, background behavior, device performance, and making everything feel like one consistent experience.

I’m now working on improving pronunciation across languages, reliability with longer documents, and the overall importing and listening experience.

Here’s the project: Local TTS on the App Store

If you were positioning this product, which benefit would you lead with: natural voices across 31 languages, fully offline processing, or background playback with the screen locked?

u/Alternative_Tour1791 — 6 days ago
▲ 15 r/LocalTextToSpeech+3 crossposts

Local TTS: Natural voices in 31 languages, fully offline—even with your screen locked

I’m the solo developer behind Local TTS, available for iPhone and iPad.

A — Answer

The goal was simple: make it possible to listen to documents and books with natural voices without uploading your text, worrying about usage limits, or keeping the app open on screen.

A lot of cloud-based TTS readers work well, but they often come with recurring subscriptions or limits on how much text you can convert. If you regularly listen to long documents or books, those limits can become noticeable pretty quickly.

There are already offline TTS apps, including apps built around Kokoro. I wanted to keep the natural voice quality Kokoro is known for while making offline reading practical across many more languages. That’s why Local TTS combines Kokoro-82M with Supertonic 3.

Everything runs directly on the iPhone or iPad. Once the app and voices are installed, generating speech doesn’t require an internet connection, so you can even convert new text in airplane mode.

Background playback was another priority. You should be able to start a long document, lock your phone, put it in your pocket, and keep listening while walking, commuting, or using another app.

I previously developed LoroNote, an on-device speech-to-text app, and used what I learned from optimizing local AI models and handling long-running audio sessions on iOS when building Local TTS.

B — Better

Local TTS combines two on-device TTS engines rather than relying on a single model.

Kokoro-82M provides its natural voices for supported languages, while Supertonic 3 expands offline reading to a total of 31 languages. Both engines run entirely on the device.

Here’s what Local TTS currently offers:

  • Kokoro-82M voices for supported languages, plus multilingual voices through Supertonic 3
  • 31 languages for offline reading
  • Fully offline speech generation, including converting new text in airplane mode
  • Background playback while the screen is locked or while using other apps
  • Lock Screen playback controls
  • PDF, EPUB, Word, TXT, and Markdown import
  • On-device text recognition for printed pages and photos
  • Text highlighting while listening
  • Adjustable playback speed
  • M4A audio export with Pro

Your text isn’t uploaded to a speech server for TTS processing. Optional note syncing uses your private iCloud account.

C — Cost

Local TTS is free to download, with no ads and no account required.

  • Free: 500 characters per note, one multilingual voice covering all 31 languages, and three English voices
  • Pro Monthly: $4.99/month, auto-renewing until canceled
  • Pro Lifetime: $19.99 one-time purchase, no renewal

Both Pro options unlock the same features: unlimited text, all 38 voices, full multi-page PDF import, and M4A export.

There’s no monthly speech-credit allowance. Since speech is generated locally on your device, you don’t have to buy additional TTS credits based on how much you listen.

The Lifetime option is a one-time purchase, so you can keep using the unlocked Pro features without an ongoing subscription.

Prices are in USD and may vary by region.

Download on the App Store

https://apps.apple.com/app/apple-store/id6779664222?pt=120973963&ct=reddit&mt=8

u/Alternative_Tour1791 — 1 month ago

ASO isn’t dead: Korean localization took one storefront from almost zero to a 1.3k-download day

https://preview.redd.it/lmxavjg8vvhh1.png?width=2004&format=png&auto=webp&s=d224bf635bcc1c7681a8d2b7fe071dc8825700e4

https://preview.redd.it/zx4istn7vvhh1.png?width=2452&format=png&auto=webp&s=3576a3b3da0111aa939b795913b326eff58d0918

I know the title sounds a little clickbaity, so some context first.

This is South Korea only, not worldwide downloads.

The app is a simple weight tracker, and this wasn’t a clean A/B test. Around the same time I changed the Korean metadata, icon, screenshots, and review prompt timing, so I can’t honestly say one keyword caused everything.

Still, the timing was pretty hard to ignore.

Before properly localizing the Korean listing, downloads were basically flat.

In early July they moved into the 100–200/day range, then around 400/day, and eventually peaked at roughly 1,300 downloads in one day.

The spike didn’t last. It’s now closer to 200–300/day, but that’s still a completely different baseline from where the app started.

Keyword rankings moved at roughly the same time:

  • #1 — popularity 60 / difficulty 49
  • #3 — popularity 53 / difficulty 43
  • #2 — difficulty 51

I’ve hidden the exact keywords in the screenshot.

Funny part: the third keyword only had a popularity score of 5.

That was a useful reminder that ranking #2 means very little if nobody actually searches for the term.

So now I care much more about:

search volume + intent + rank

rather than rank alone.

The biggest lesson for me was that localization isn’t translation.

At first I translated the English terms that seemed obvious for a weight tracking app.

That didn’t work particularly well.

So I started manually searching the Korean App Store, checking autocomplete, looking at what kept appearing for related searches, and paying attention to the wording Korean apps/users actually use.

I wasn’t trying to copy competitor metadata. I was trying to answer a simpler question:

If someone in Korea wanted this app but had never heard of it, what would they actually type into the App Store?

After that I gave each metadata field a separate job.

The title got the strongest high-intent phrase.

The subtitle covered supporting combinations.

The keyword field got relevant terms that weren’t already used elsewhere.

I also removed a bunch of keywords that were technically related to dieting but didn’t really match what the app does.

That seemed to work much better than just trying to fill every character.

I don’t think metadata explains the whole increase though.

I redesigned the icon too.

The old icon looked fine by itself, but when I put it next to other Health & Fitness apps in search results, it basically disappeared.

The new one is much simpler and easier to recognize at thumbnail size.

Same thing with screenshots.

The old screenshots were basically:

“feature A”

“feature B”

“feature C”

The new ones focus more on the reason someone would want the app:

  • quickly log your weight
  • see the trend
  • check progress toward a goal
  • keep a history without turning it into a full diet routine

I spent most of my time on the first three screenshots.

My rough theory at this point is:

better keywords → more relevant impressions

better icon/screenshots → better conversion from those impressions

I also changed when I ask for reviews.

Before, I was asking too early.

Now the prompt only appears after someone has actually used the core weight logging flow several times or reached a small milestone.

No first-launch prompt, no onboarding prompt, no asking after permissions or errors.

I can’t isolate the effect, but reviews started coming in much more naturally afterward.

The app recently reached #7 in Health & Fitness in Korea, which I definitely didn’t expect when I started building it.

It’s intentionally pretty simple.

There are already plenty of apps for calories, meals, fasting, workouts, water, macros, etc.

Mine is more for:

“I just want to enter my weight, see the trend, and move on with my day.”

The basic tracking is usable for free too. I didn’t want someone to download a “free” weight tracker and immediately hit a paywall before they could really use it.

So I definitely wouldn’t summarize this as:

“one magic keyword got me 1,300 downloads.”

It was probably a combination of better local search intent, rankings, icon, screenshots, and review timing.

If I did it again, I’d change one thing at a time so attribution was cleaner.

But as a solo dev, sometimes you notice five weak things at once and end up fixing all five.

For anyone curious, the app is Weight Loss Tracker Pro:

https://apps.apple.com/us/app/weight-loss-tracker-pro/id6745439978

Mainly sharing the link because it probably makes the screenshots/product page discussion above easier to understand.

Curious if anyone else has seen this:

After reaching the top 3 for a genuinely high-volume keyword, did your organic baseline stay elevated even after the initial spike died down?

reddit.com
u/Alternative_Tour1791 — 2 months ago