Solo dev shipping 3 AI apps: aniLang, Voxt, Reelow. Tracking, attribution & data pipelines by day. Building in public: what breaks, how I fix it, real numbers.
@NoahMeneze96042@X Building 3 AI apps solo: an English speaking coach (aniLang), a transcription app (Voxt) and a faceless video maker (Reelow).
Sharing real numbers as I go, including the $0 parts.
@asharsv Same root as the instant paywall, which was the #1 complaint in 22k app reviews I analyzed: asking before giving any value.
Better trigger: right after the user gets a win.
@buildjayy Worth adding: building with the Xcode 27 SDK also enforces the UIScene lifecycle. My Flutter app crashed on launch on iOS 27 until I pinned Xcode 26 in CI.
Plan the UIScene migration before April too.
Nasty one in my English app: on the 3rd correction, free users got a "Try Premium" popup and a full-screen ad at the same time.
Fix (next release):
• no ads in the first session
• the offer shows once per install
• ads paused 2 min after an offer
#buildinpublic
@sotkadev Building 3 AI apps solo: an English speaking coach, a transcription app and a faceless video maker.
Stuck on: trial conversion. Reelow finally gets trials, but several cancel before day 3. Working out why.
@pr0gstar Love picking the channel by audience. Same lesson here: my English app's users aren't on X either, so the App Store and TikTok matter more.
Curious how Pinterest does for a seasonal app.
@VibeRush_Kenji My rule: don't pause until you know the funnel is broken, not just quiet.
Two of my apps looked dead for months. Turned out the paywalls were simply broken. One just got its first paying user.
@MarkockiAdam c) for most updates, overnight at best.
The real pain wasn't the wait. It was a rejection for a launch crash that only happened on the reviewer's newer iOS version.
Lesson: most gaps explained as "user behavior" are ID mismatches.
Check the shape of the ID before blaming the user.
What "explained but never measured" gap is sitting in your data?
About 25% of transactions never matched a result record.
The team already had an explanation: "customers don't come back to the result screen."
Plausible. Not measured. 🧵
Result, match rate by type:
• type 1: 96%
• type 2: 92%
• type 3: 0%
The "missing 25%" came from one type, which held 26% of volume.
Next day it turned out type 3 wasn't real money. Reports fixed, listener removed.
@Kathank25@measure_sh Crashlytics in the Flutter app, plus crash-free users from GA4 in a daily report. On the backend, CloudWatch alarms on Lambda errors that email me.
Boring setup, but it flagged a 90% crash-free Android build last week.
Update on "does anyone want to pay?"
Reelow just got its first paying subscriber. 🎉
• 28-day revenue: $13
• active trials: 5
• ad spend: $0
Most new users came from the App Store. Best guess: the listing rewrite I shipped 10 days earlier.
#buildinpublic
@jamesto Thanks James! The rewrite was 7 languages plus a narrower angle ("faceless video" instead of generic AI video).
App Store Connect analytics should show search vs browse soon. I'll share the breakdown.