Meerno
Language-learning app v2 released: new backend, AI onboarding, retention loops and reworked monetization
v2 — the relaunch
v1 — original work (2023)
Problem
v1 was my first iOS product (built from scratch in 2023): translator + custom dictionaries + flashcards + social. After 1.5 years and v1.2.7 — 500 downloads, 0 revenue. Honest failure. The lessons: weak onboarding (users dropped before creating a single dictionary), no retention mechanics, no real monetization wiring (StoreKit shipped but never tested with real subs), generic translator quality, no AI to enrich words. I shelved the project, shipped client apps for 2 years to grow, then came back with a clear plan: keep the original idea (personal vocabularies + social), rewrite the foundations, add what was missing.
Solution
Full relaunch on iOS 18.0+, now live in the App Store. Kept UIKit (programmatic layout) and Realm for offline-first storage — they worked. Replaced everything weak: built a fresh Laravel 10 / PostgreSQL backend at api.meerno.space (51 REST endpoints, JWT auth with auto-refresh on 401). Swapped translation engine to DeepL primary + Google Translate fallback. Added an OpenAI gpt-4o-mini pipeline for word enrichment (transcription, synonyms, phrases) — through a backend proxy to keep keys safe. Rebuilt onboarding from scratch as a Coordinator-driven flow: a few questions about goals and language pair, then AI assembles a personalized starter vocabulary (Branch A for ru/en/es pairs) or routes to a curated base dictionary (Branch B). Added a post-onboarding mini-training so the user finishes onboarding with words already learned. Introduced retention loops: streak tracking with weekly freeze, achievements, batched training sessions, image-enriched cards via Unsplash. Replaced raw StoreKit with Adapty (monthly/yearly + post-onboarding Premium value screen). Added Apple Sign-In alongside Google + email. 916 commits, 306 of them since January 2026.
v1 → v2: what changed
| Area | Before (v1) | After (v2) |
|---|---|---|
| iOS target | iOS 13+ | iOS 18.0+, Swift 5 |
| Architecture | MVP, navigation ad-hoc | MVP + Coordinator for onboarding, protocol-driven |
| Backend | Legacy REST API | Laravel 10 / PostgreSQL 14, 51 endpoints, JWT auto-refresh |
| Translation | Google Translate + Yandex | DeepL primary + Google fallback |
| AI enrichment | — | OpenAI gpt-4o-mini: transcription, synonyms, phrases |
| Onboarding | Generic, users dropped before first dict | Coordinator flow + AI-built personal vocabulary + mini-training |
| Retention | — | Streaks with weekly freeze, achievements, training batching |
| Training modes | Flashcards only | Cards + spelling + audio (TTS + SFSpeechRecognizer) + audio-learn |
| Monetization | Raw StoreKit, never tested live | Adapty (monthly/yearly) + post-onboarding Premium value screen |
| Auth | Google Sign-In + email | Apple + Google + email |
| Dependencies | CocoaPods | Swift Package Manager only |
| Brand | Original logo | New wordmark with orbital ring |
Key improvements
- ↑Onboarding with AI-built personal vocabulary — user finishes setup with 8 already-learned words
- ↑Streak system with weekly freeze — keeps habit alive without punishing real-life breaks
- ↑OpenAI enrichment pipeline through backend proxy (no keys on device)
- ↑DeepL translation quality jump over the v1 Google/Yandex combo
- ↑Adapty paywall flow with post-onboarding Premium value screen
- ↑Audio-learn training mode with TTS + speech recognition
- ↑Image-enriched cards via Unsplash for visual memory
- ↑Backend rewritten on Laravel 10 / PostgreSQL: 51 endpoints, JWT auto-refresh
Results
- +v1: 500 downloads, 0 revenue, 1.5 years, v1.2.7 — honest failure
- +v2: 916 commits total, 306 since January 2026 — released in App Store
- +Backend, AI pipeline, onboarding, retention loops, monetization all rebuilt from scratch
- +New brand identity: square wordmark with orbital ring
- +Old v1 screens kept as a record of the original work
Role & timeline
iOS developer & product owner. v1 (2023): team — mentor, backend, designer; 1.5 years. v2 relaunch (2024–2026): solo — iOS + Laravel backend + AI pipeline + brand










