-
-
Never miss a chapter — follow manga from multiple official platforms in one app.
-
Get alerted instantly when a new episode drops.
-
Search across sites and follow in one tap.
-
Magazines and web manga, all in one place — filter to the sites you love.
-
Found it? Read it right away on the official page, inside the app.
-
Membership powered by RevenueCat: five free follows, then unlimited — first month free for eligible subscribers.
One timeline for every manga you follow — across official platforms, with an alert the moment a new chapter drops.
Inspiration
Manga readers follow series across many different official publisher platforms. Each service has its own release schedule, notifications and interface, so keeping up becomes a daily routine of opening several apps and websites — and when that routine gets tedious, some readers drift toward unofficial sites that put everything in one place.
We built Yomeruyo to replace that routine with one personalized timeline: follow a manga once, see its latest chapters in one place, and always read on the official source.
What it does
Yomeruyo is a native iOS and iPadOS app that brings manga updates from multiple official distribution services into a single feed.
- Search manga across supported providers and follow a series in one tap
- See new chapters from everything you follow in one chronological timeline
- Track read and unread chapters (tap to read, swipe right to mark read, swipe left to unfollow)
- Get notified when a followed manga is updated
- Filter discovery to the magazines and web-manga sites you actually use
- Open every chapter on its official distribution service, inside the app
- Read on a big screen on iPad (2-page spreads on sites that support them)
- Start instantly as a guest, optionally continue with Sign in with Apple
- Fully localized in English, Japanese, Korean and Simplified Chinese
The free plan follows up to five manga. A Yomeruyo Membership, powered by RevenueCat, removes the follow limit, and eligible new subscribers get their first month free.
How we built it
The iOS app is built natively with SwiftUI. Background refresh and push notifications keep the timeline useful even when the app is closed, and Lottie powers the animated Yomeruyo Cat.
Behind the app, Go-based API and ingestion services collect updates from multiple manga providers, normalize their different formats and store them in PostgreSQL on AWS. The app talks to these services through a REST API.
Subscriptions run on the RevenueCat iOS SDK with StoreKit 2: a default offering, a monthly package and a membership entitlement. We use the same server-issued user ID as the RevenueCat App User ID — including for guests — so purchases and restores stay attached to the right Yomeruyo account when someone signs in, changes devices or upgrades from a guest account to Sign in with Apple.
We launched with StoreKit 2 directly and moved production purchases to RevenueCat in version 0.1.13 behind a billing-provider switch, so we could roll back without a new build if anything went wrong. Apple's signed transaction data is still sent to our backend for server-side verification: RevenueCat manages the purchase and entitlement lifecycle, while our backend enforces account-level access.
Challenges we ran into
Subscription identity is harder than the purchase button. The hard part was not the paywall — it was keeping subscription state correct across guest accounts, Sign in with Apple, account switching, restoration, reinstalls and temporary network failures. We built a serialized identity and purchase flow so RevenueCat never purchases under the wrong App User ID, and we never remove valid access just because RevenueCat or our backend is briefly unreachable.
App Review taught us about cross-device entitlement sync. Our first submissions were rejected because a purchase made on one device was not reflected quickly enough on the reviewer's second device. We added entitlement re-checks and verification retries instead of a one-shot sync, and shipped after seven review rounds.
Rebuilding from a prototype. Yomeruyo started as a Flutter prototype that was only distributed through TestFlight and never publicly released. We rebuilt it as a native SwiftUI app under the same bundle identifier and kept compatible Keychain sessions so our testers carried over — version 0.1.0 was the app's first public release.
Testing StoreKit in different environments. Local StoreKit simulation and Apple's Sandbox behave differently, so we keep separate Xcode schemes for simulator testing and physical-device Sandbox testing. The billing code is covered by automated tests for purchase, cancellation, pending transactions, restoration, migration and offline entitlement behavior.
Normalizing many manga providers. Every provider exposes titles and updates differently. Our ingestion workers normalize inconsistent URLs, publication times, episode identifiers and metadata while avoiding duplicate notifications.
Accomplishments that we're proud of
- 14 App Store releases in two months (0.1.0 → 0.1.13), one small, measurable change at a time
- Launched in four languages with localized storefronts, screenshots and pricing
- A mascot-driven, comic-inspired design language shared by the app, the App Store page and our promo video
- A subscription architecture that survives guest → signed-in upgrades, device changes and outages
What we learned
A subscription system is a distributed state machine spanning the app, StoreKit, RevenueCat and our backend. A successful purchase response is only one part of the problem; identity, restoration, offline behavior and reconciliation matter just as much. RevenueCat let us focus on those product-level concerns instead of rebuilding the subscription lifecycle ourselves.
We also learned that a good aggregator doesn't try to replace the publishers. Yomeruyo helps readers discover and remember updates, then sends them to the official source to read.
What's next
- Add more official manga providers
- Run App Store experiments one variable at a time (screenshots now, keywords next)
- Test an annual plan and paywall variations with RevenueCat Offerings
- Smarter notification timing and filters for large libraries
- Ship the Android client, keeping RevenueCat as the shared subscription layer
Our goal is simple: manga readers should spend less time checking for updates and more time reading.
Built With
- amazon-web-services
- apns
- apple
- go
- ios
- lottie
- postgresql
- rest-api
- revenuecat
- sentry
- sign-in-with-apple
- storekit-2
- swift
- swiftui
- xcode
- xcodegen
Log in or sign up for Devpost to join the conversation.