Your books have stats. Now you can see them.
The companion app that levels up as you read.
A reader companion app that tracks every stat change, new skill, item drop, and quest as you read your favourite LitRPG series. Think of it as a live character sheet that updates with your reading progress.
Kindle, Audible, Royal Road, Kobo — DingLit syncs your reading position via Whispersync page locations, Royal Road chapter tracking, or manual chapter select.
As you pass key chapters, the character sheet updates: new stats, skills, items, and quests appear. Community-curated data packs per book — no author work required.
Inspect skills, compare gear, browse the inventory, follow active quests. It's like pausing a game to check your build — but for your book.
Everything beyond your current reading position is locked. You only see what you've read. Abilities, items, and quests from future chapters stay hidden until you get there.
Pick a book. See the character sheet at a specific chapter. This is what DingLit would look like while you're reading.
See how characters transform as you read. Each stage updates automatically at the right chapter. Art prompts included — generate with Midjourney, DALL-E, or Stable Diffusion.
This is what DingLit looks like on your phone. Tap the tabs to explore — it's interactive.
Open DingLit when the book mentions a stat change, new item, or class evolution. See exactly what changed, then swipe back to reading.
What makes DingLit different from a wiki.
Every piece of data is tagged to a chapter number. DingLit only reveals stats, skills, items, and quests up to your current reading position. Future content is locked behind a spoiler gate. Switch books, come back months later — it remembers exactly where you were.
Connect your Kindle account (via Whispersync page positions), Royal Road reading history, Kobo, or Audible. DingLit maps page/chapter positions to its internal data. For platforms without APIs, tap to manually advance chapters.
Whispersync page positions
Chapter tracking via API
Whispersync for Voice
Tap to set chapter
Wiki communities already track every stat change for popular series (Fandom wikis for DCC, HWFWM, DotF, Primal Hunter all exist). DingLit structures this data into chapter-tagged packs that anyone can contribute to. Authors can create official packs for their series.
As you read past key moments, DingLit surfaces "blue box" notifications — just like in the books. See exactly what changed.
Free for readers. Revenue from premium features and author tools.
Technical approach for the curious.
Each book gets a JSON data pack: chapter-keyed events (stat changes, items, skills, quests). Community contributors use a visual editor. Peer review before publish.
Kindle: Whispersync page positions (reverse-engineered API exists). Royal Road: Chapter tracking via unofficial API wrappers. Fallback: Manual chapter selector.
React Native (iOS + Android) with a lightweight backend. Offline-first — data packs download locally. Real-time sync when connected.
Each series gets a custom colour palette + UI skin. DCC gets dungeon/gameshow vibes. HWFWM gets magical essence colours. DotF gets cultivation jade tones.
A huge chunk of LitRPG is consumed via Audible. Here's how DingLit handles the time ↔ page ↔ chapter mapping.
If the user owns both formats, Whispersync for Voice already maps audiobook timestamps to ebook page locations. DingLit reads the Kindle position and converts to chapter. Zero extra work.
Pull listening position via the Audible Python library (reverse-engineered). Map timestamp to chapter using a timestamp→chapter lookup table per audiobook. Most Audible files have internal chapter markers we can extract.
Community-sourced tables mapping audio timestamps to chapter boundaries. One volunteer listens, marks chapter breaks, uploads to DingLit. Format:
Simple chapter selector: “I just finished Chapter 12.” Most LitRPG listeners know their chapter — the books reference it in system notifications. This is the MVP path and honestly good enough for launch.
LitRPG is the fastest-growing fantasy sub-genre. Dungeon Crawler Carl alone has 500K+ Kindle readers. Royal Road has 10M+ monthly visitors.
Fandom wikis for top series already track every stat, skill, and item per chapter. The data just needs structuring — not creating from scratch.
Writer tools exist (LitRPG Tracker). Wiki databases exist. Reader companion apps that sync with your progress? Nobody's shipped one.
Authors get reader engagement data, an official presence, and a new way to monetize. DingLit makes their world-building interactive.
Instead of syncing with Kindle or Royal Road, DingLit IS your ebook reader. Import any .epub, and AI automatically builds the character sheet as you read. No data packs needed. Every book works on day one.
LitRPG books are perfect for AI extraction. Blue boxes are essentially structured data already embedded in prose — the AI just parses them out.
AI recognises system notifications (usually bold, indented, or monospaced text) and extracts stat changes, skill unlocks, level ups, and rewards.
Patterns like [STR: 14 → 17] or +3 Constitution are parsed into before/after values and applied to the running character sheet.
New skills, upgrades, evolutions, and rarity changes detected from phrases like "New Skill Acquired" or "Iron Tango has reached Level 12."
"Acquired," "looted," "equipped," "destroyed" — the AI tracks every item entering or leaving inventory, with rarity and description.
Class selection, race evolution, rank advancement, dao breakthroughs. The pivotal moments that reshape the character sheet entirely.
New quests, objectives, completions. Tracks active vs. completed and links each quest to the chapter it appeared in.
This is what the scanner produces per chapter — structured events that feed the live character sheet.
Swipe right to reveal the character sheet while reading. Blue boxes in the text become tappable — tap to see details on the character sheet.
Carl felt the familiar rush as the notification appeared in his vision.
✨ LEVEL UP ✨He dismissed the box with a thought and looked down at his fists. They were different now. The gauntlets pulsed with golden light.
NEW ITEM: Fists of the BerserkerPrincess Donut looked up at him from the floor. "Are you done standing there looking dramatic?"
Mature open-source epub rendering library. JavaScript, runs in browser or React Native WebView. Handles pagination, fonts, themes, annotations. Battle-tested.
Each chapter sent to Claude with an extraction prompt + JSON schema. High accuracy on LitRPG blue boxes since they're already semi-structured. ~30 seconds to scan an entire book.
iOS + Android from one codebase. epub.js in a WebView for the reader, native UI for character sheet panel. Offline-first with local storage.
Workers for the AI scanning API, R2 for book storage, Pages for the marketing site. D1 for user data. All serverless, scales from 0.
Where do the books come from? Plenty of DRM-free sources.
Big titles get curated art, verified data, and premium UI skins. Any other epub still works — AI does its best effort with emoji icons and auto-extracted data.
WoW-style character equipment view. Hover over any slot to see item details, stats, and flavour text. Official titles get custom art — AI-scanned books get emoji placeholders.
Never miss a new book or chapter. DingLit watches your followed series across platforms and notifies you the moment new content drops.
Monitors your followed series via RSS/API. New chapters auto-download and get AI-scanned before you even open the app. Ready to read on arrival.
Watches Amazon product pages for new releases in tracked series. Push notification when a new book or audiobook drops. Link to purchase.
Many LitRPG authors post chapters early on Patreon. Link your Patreon and DingLit auto-imports early chapters as they publish.
Customise per series: push notification, email digest, or silent badge. Set quiet hours. Group by series or by platform. Never miss a chapter, never get spammed.
Not just an ebook reader. Import your DRM-free audiobooks (.m4b, .m4a, .mp3) and get the same character sheet experience while listening. Like Bound, but with stats.
Audiobooks are transcribed chapter-by-chapter using OpenAI Whisper. The text is then AI-scanned for system events, same pipeline as epub. One-time process on import.
Own both the epub and audiobook of the same series? DingLit syncs position across formats. Stop reading at chapter 12, pick up listening at the same spot.
Import from OneDrive, Dropbox, Google Drive, iCloud, or WiFi upload. Same workflow as Bound — your files, your cloud, your library.
Zoned out during a level-up? Tap the button to see the last 3 system events with timestamps. Jump back to the exact moment in audio with one tap.
DingLit launches entirely free. No paywalls, no premium tiers. Build the community, prove the product, monetise later.
Everything we're building with. Mature open-source libraries, serverless infrastructure, zero vendor lock-in.
| LIBRARY | PLATFORM | STARS | LICENSE | ROLE |
|---|---|---|---|---|
| epub.js | Web / JS | 6.4K | BSD | Core epub rendering engine |
| @epubjs-react-native | React Native | 222 | MIT | ⭐ Our primary reader — epub.js in WebView |
| Readium Swift | iOS native | Active | BSD-3 | Future: native iOS upgrade path |
| Readium Kotlin | Android native | Active | BSD-3 | Future: native Android upgrade path |
| LIBRARY | STARS | LICENSE | FEATURES |
|---|---|---|---|
| react-native-track-player v5 | 3.7K | Commercial* | ⭐ Background playback, Android Auto, sleep timer, New Architecture. *Free for personal use. |
| AVFoundation (iOS native bridge) | — | Apple SDK | M4B chapter marker extraction, CarPlay |
| ExoPlayer / Media3 (Android bridge) | — | Apache 2.0 | M4B metadata parsing, Android Auto |
| PLATFORM | LIBRARY | AUTH | NOTES |
|---|---|---|---|
| Google Drive | @react-native-documents/picker | Google OAuth | Native file picker, well-maintained |
| Dropbox | @react-native-documents/picker | Dropbox OAuth | Built-in support |
| iCloud | @react-native-documents/picker | Apple native | iOS only, needs capabilities config |
| OneDrive | OMH Cloud Storage Module | MSAL OAuth 2.0 | Callstack unified bridge, covers OneDrive gap |
| Local device | @react-native-documents/picker | None | Built-in, both platforms |
| SERVICE | USE CASE | COST / BOOK | WHEN |
|---|---|---|---|
| Claude Haiku | Epub text → structured JSON events | ~$0.05 | ⭐ Every book (primary path) |
| Whisper (gpt-4o-mini-transcribe) | Audio → text transcription | ~$2.50 | Audiobook-only users (fallback) |
| CF Workers AI | Embeddings, light classification | Free tier | Search, recommendations |
When the first user imports "Dungeon Crawler Carl Book 1," the AI scans it and stores the extracted data pack (stats, skills, items, quests) in a shared library keyed to the book's ISBN or content hash. When the next 10,000 users import the same book, they get the existing scan instantly — zero additional AI cost.
Users' personal epub/audio files stay in their own R2 storage. The extracted JSON data pack is shared in D1 across all users of that title. Popular books cost pennies total regardless of how many users read them.
Don't want to switch readers? Stay on Kindle or Audible and use DingLit as a companion. Pick your book, select your chapter with forward/back arrows. Character sheet updates as you advance. No APIs, no sync hacks — just tap the arrow when you finish a chapter.
Works with any platform: Kindle, Audible, Apple Books, physical paperbacks — anything. Just advance the chapter.
| SERVICE | USE | FREE TIER | PAID |
|---|---|---|---|
| Workers + Hono | API routes, auth, scan orchestration | 100K req/day | $5/mo + usage |
| D1 | Users, character sheets, book metadata | 5M reads/day, 5GB | $0.001/M reads |
| R2 | Epub/audio file storage | 10GB, zero egress | $0.015/GB/mo |
| KV | Session cache, reading positions | 100K reads/day | $0.50/M reads |
| Pages | Marketing site (dinglit.com) | Unlimited | Free |
One codebase → iOS + Android. Expo for managed builds, OTA updates, and dev tooling. New Architecture enabled.
End-to-end type safety. Shared types between the React Native app and Cloudflare Workers backend.
Ultralight web framework for Cloudflare Workers. Express-like API, built for edge. ~14KB.
Zustand for state management (tiny, fast). MMKV for persistent local storage (reading positions, offline character sheets).
Different platforms, different paths. Royal Road is fully automated. Kindle is manual import. Everything ends up in the same reader with the same character sheet.
royalroad.com/fiction/syndication/{id})We're not building everything at once. Ship the core, get feedback, expand.