ProseCreator on Kobo: A Companion E-Reader Architecture for AI-Native Publishing, Cross-Ecosystem Library Migration, and Embedded Novel DNA
The Kobo Libra Color is the ideal reading surface for an AI-native publishing platform like ProseCreator, but its closed OS prevents direct integration. This paper presents a complete reference architecture for turning a Kobo Libra Color into a first-class companion device for ProseCreator without modifying device firmware: five integration paths (Dropbox, OPDS, USB, KOReader, browser PWA) with a runtime-selectable hybrid; a continuous Kindle-to-Kobo library migration protocol that operates within DMCA Β§1201 by syncing only metadata, position, and highlights (with an objective, non-advocating treatment of user-side DRM removal); an EPUB3 OPF metadata extension that embeds the 12-dimension Digital DNA fingerprint and renders it on e-ink as an SVG radar with HTML fallback; a GraphRAG-backed chat surface that brings ProseCreator's conversational library assistance to the e-reader; and 50 user use cases supported by 56 ASCII UI mockups, 13 user journey flowcharts, 12 architecture diagrams, and complete JSON connection schemas.
ProseCreator on Kobo: A Companion E-Reader Architecture for AI-Native Publishing, Cross-Ecosystem Library Migration, and Embedded Novel DNA
Author: Adverant Research Published: May 2026 Category: HumanβComputer Interaction / Digital Publishing Systems / E-Reader Architecture Status: Working Paper β Link-Only Distribution Extends: ProseCreator Marketplace (Adverant Research, April 2026)
Abstract
The Kobo Libra Color, released by Rakuten Kobo in April 2024, is the first mainstream colour e-ink reader to combine a 7" Kaleido 3 display, IPX8 waterproofing, native audiobook playback over Bluetooth, and an open posture toward sideloaded EPUB content. Yet its operating system is closed: Kobo does not ship an SDK, an app store, or a public extension model. For an AI-native publishing platform like ProseCreator β which already produces structured Character Bibles, 12-dimension Digital DNA fingerprints, and Kokoro-synthesised audiobooks for tens of thousands of manuscripts β the device is simultaneously the ideal and the unreachable reading surface. This paper presents a reference architecture that turns the Kobo Libra Color into a first-class companion device for ProseCreator without modifying its firmware. We describe five distribution paths (Dropbox sync, OPDS catalog, USB sideload, KOReader jailbreak, browser PWA) and recommend a hybrid that selects between them at runtime. We propose an EPUB3 metadata extension that embeds the full 12-dimension Digital DNA fingerprint into the OPF package and renders it on e-ink as an SVG radar chart with a fallback table β a representation that, to our knowledge, has not been attempted in production EPUB workflows. We analyse the legal contour of cross-ecosystem library migration from Amazon Kindle, distinguishing the platform-side first-party offering (metadata, position, and highlight synchronisation) from user-side activity (DRM removal via Calibre/DeDRM) under the U.S. Digital Millennium Copyright Act Β§1201 and the EU InfoSoc Directive's private-copy doctrine. We catalogue 50 user use cases across ten thematic clusters and provide complete ASCII UI mockups, four user-journey flowcharts, JSON connection schemas, and data-flow diagrams sufficient to brief an implementation team. Where quantitative claims are unavoidable, we mark numerical projections as such and supply explicit assumption tables. The paper is intended as an architectural specification, not a measurement study; the four matplotlib figures are illustrative under the stated assumptions, not measured benchmarks.
Keywords: e-readers, EPUB3, Novel DNA, library migration, DMCA Β§1201, Kobo, audiobook, AI-native publishing, OPDS, e-ink HCI
1. Introduction
Reading is increasingly device-native and increasingly cross-ecosystem. A 2024 reader who buys a hardcover at a Barnes & Noble, a Kindle ebook on Amazon, an audiobook on Audible, and listens to a Spotify-narrated short story on a phone is not unusual. The same reader, asked where their library "lives," will most often answer with the name of an app rather than a shelf. The dominant logic of the modern reading market is that books are anchored to platforms, not to people, and that any book purchased from a given platform is largely unportable to any other. This paper is concerned with one consequence of that logic: ProseCreator, an AI-native publishing platform with a deep technical investment in structured manuscript metadata, finds that the most desirable reading surface for its books β the e-ink reader β is also the surface it has the least direct access to.
We focus specifically on the Kobo Libra Color, released by Rakuten Kobo on 30 April 2024 (Rakuten Kobo, 2024). The device is significant for several reasons. It is the first major colour e-ink reader to ship in volume in North America. Its 7" Kaleido 3 display offers 1264Γ1680 resolution at 300 PPI for monochrome content and 150 PPI for colour. It supports 32GB of storage, IPX8 waterproofing to two metres, USB-C, dual-band Wi-Fi, Bluetooth audiobook playback, and Kobo's full library of natively supported formats (EPUB, EPUB3, PDF, MOBI, CBZ, CBR, plain text, HTML, RTF, and several image formats). It is also significant for what it does not have: an app store, a public SDK, a developer programme, or any first-party extension mechanism. Kobo's strategy is to compete with Kindle on hardware quality and content openness while operating an experience that is, like Kindle's, fundamentally closed at the software layer.
ProseCreator is the inverse: an entirely open authorial environment. Authors compose inside a TipTap editor; their work is decomposed into Beats, Chapters, Plot Threads, Character Bibles, and World-Building elements; the Living Blueprint system maintains a continuously updated narrative skeleton; the Writing Inspector runs thirteen analysis panels over the prose; and the Marketplace produces a 12-dimension Digital DNA fingerprint that quantifies character depth, plot architecture, world coherence, trope execution, voice consistency, pacing quality, continuity, style fingerprint, dialogue quality, AI detection score, structural integrity, and emotional resonance for every manuscript (Adverant Research, 2026). Audiobooks are produced through a 10-step Nexus Workflows pipeline with Kokoro TTS as the cost-leader engine and ElevenLabs as the premium tier; voice profiles are derived from Character Bible fields such as TTSVoiceProfile, EnhancedSpeechProfile, and EmotionalBaseline.
This paper addresses three interlocking questions. First, how can a closed-OS e-reader be turned into a companion device for an AI-native platform without firmware modification? We compare five integration paths and recommend a runtime-selectable hybrid. Second, how can a reader who owns a substantial Kindle library bring it to a Kobo reader continuously and at low friction, while remaining within the legal envelope of DMCA Β§1201? We separate the platform's first-party offering (metadata, position, highlight synchronisation; legal) from user-side activity (DRM removal; legal status varies by jurisdiction and use). Third, how can the Digital DNA fingerprint β currently rendered only inside the ProseCreator web app β be embedded in EPUB3 itself and rendered on the e-ink surface where the book is actually read? We propose an OPF metadata namespace, an SVG radar visualisation, and a fallback HTML table for readers that strip custom rendering.
Our contributions are:
- A reference architecture for ProseCreator-to-Kobo distribution spanning five integration paths with an explicit comparison matrix and threat model (Section 4).
- A continuous Kindle-to-Kobo migration protocol that operates within DMCA Β§1201 by sticking to metadata, position, and highlight synchronisation; with a separate, objective treatment of user-side DRM removal that does not advocate or instruct (Section 5).
- An EPUB3 metadata extension that embeds the 12-dimension Digital DNA fingerprint into the OPF package, with an e-ink SVG radar visualisation and a fallback table (Section 7).
- Fifty user use cases across ten clusters, sized to brief a product team rather than to enumerate every conceivable interaction (Section 12).
- Fifteen ASCII UI mockups, four ASCII user-journey flowcharts, JSON connection schemas for Dropbox/Kobo/Amazon OAuth flows and OPDS feeds, and data/document-flow diagrams (Sections 8β11).
- A legal and ethics analysis grounded in the 2024 Section 1201 triennial rulemaking, key Federal Circuit case law, and the EU InfoSoc Directive's private-copy provisions (Section 13).
The paper is not an empirical study. We do not measure render times on a physical Kobo, do not benchmark migration times on real Kindle libraries, and do not perform a controlled reading-comprehension study. Where numbers appear, they are projections under stated assumptions, plainly labelled as such. The contribution is architectural; the validation is design-coherence with the Kobo platform's actual capabilities, ProseCreator's existing data model, and the published literature on e-ink reading and digital library migration.
The remainder of the paper is organised as follows. Section 2 surveys related work in e-readers, library migration, embedded book metadata, and e-ink reading research. Section 3 recaps the Digital DNA Engine introduced in the Marketplace paper at the level of detail required to follow Sections 7 and 8. Sections 4β7 develop the four core architectural components. Sections 8β11 document UI, journeys, schemas, and data flow. Section 12 catalogues use cases. Section 13 addresses legality and ethics. Section 14 closes with limitations and future work.
2. Related Work
2.1 E-Reader Hardware and Closed Operating Systems
Modern e-ink readers occupy a curious place in consumer hardware: they are simultaneously beloved by their users and architecturally inert. The Kindle, the Kobo, and the Nook are all built atop variants of Linux but ship with custom user-space environments that do not expose application installation to the end user. Kobo's eReader Linux distribution, in particular, is well-documented in the reverse-engineering community (MobileRead, 2024) but has never had a public SDK. The closest official extension surface is sideloading: any EPUB or PDF placed on the device's filesystem via USB or Dropbox sync becomes a first-class library item. This sideload affordance is the foundation of every architecture we describe in Section 4.
2.2 KOReader and Reader-Side Custom Software
KOReader is an open-source document viewer for e-ink devices originally developed for the Cervantes BQ readers and now ported to Kindle, Kobo, PocketBook, and several Android e-readers (KOReader Project, 2024). It runs as a parallel application on Kobo via the Nickel Menu and KFMon launcher and is the primary path by which a Kobo user can run third-party reading software. KOReader supports a richer set of formats than Nickel (Kobo's stock reader), including DJVU, FB2, and CBZ; offers user-installable plugins; and has an active OPDS client. Its existence is what makes our "KOReader path" a viable distribution channel for ProseCreator.
2.3 Cross-Ecosystem Library Migration
The literature on cross-ecosystem ebook library migration is dominated, in its public form, by the documentation of the Calibre project (Calibre-Ebook, 2024) and the long-running DeDRM toolset originally authored under the pen name "Apprentice Alf." These tools handle the technical substrate of format conversion and DRM removal; they are widely used and equally widely contested in legal commentary. The U.S. Copyright Office's Section 1201 triennial rulemaking process has, since 2000, periodically addressed exemptions for ebook DRM circumvention, most frequently in the context of accessibility for print-disabled readers (U.S. Copyright Office, 2024). We discuss this case law in detail in Section 13.
2.4 Embedded Book Metadata
EPUB3 (W3C, 2023) defines a structured metadata layer in the OPF (Open Packaging Format) document, including Dublin Core terms and custom metadata via the meta element with property and refines attributes. In practice, most published EPUBs carry only the bare minimum: title, author, language, publisher, publication date, identifier. ONIX 3.0 (EDItEUR, 2023), the trade-publishing metadata standard, is far richer but is consumed almost exclusively by retailers and rarely embedded in the EPUB itself. Schema.org's Book and Audiobook types (Schema.org, 2024) provide a parallel structured-data vocabulary for web rendering. None of these standards include a quality fingerprint or stylistic analysis. The Digital DNA extension we propose in Section 7 is an attempt to embed exactly this kind of structured analytical metadata within the EPUB itself, where it can be rendered on the device that displays the book.
2.5 E-Ink Reading Research
The empirical literature on reading from e-ink screens has produced a measured, somewhat counterintuitive picture. Siegenthaler, Wurtz, and Bergamin (2011), in a study published in Displays, found that reading processes on e-ink were broadly similar to reading processes on paper, with longer fixations on print suggesting slightly greater visual extraction effort on paper than on e-ink β the opposite of the popular intuition. Mangen, Walgermo, and BrΓΈnnick (2013) found, in a study of 72 Norwegian tenth-graders published in the International Journal of Educational Research, that students who read on paper scored significantly better on reading-comprehension tests than students who read the same texts as PDFs on a computer screen. Margolin, Driscoll, Toland, and Kegler (2013), publishing in Applied Cognitive Psychology, compared paper, computer screens, and e-readers across recall and comprehension and found no significant differences. KΓΆpper, Mayr, and Buchner (2016), and Kaakinen et al. (2018), have refined these findings further, generally locating any paper-vs-screen effects in factors such as scrolling, text length, and cognitive load rather than the display technology itself. A 2022 meta-analysis by Clinton-Lisell (Tandfonline, 2022) found no significant negative effect of reading narrative texts on screen versus print. Taken together, the literature suggests that e-ink readers are an acceptable substrate for serious reading; this paper takes that conclusion as a starting point.
2.6 AI Audiobook Generation
AI-driven audiobook generation has progressed rapidly since the introduction of high-quality neural TTS systems. ElevenLabs' Voice Design API (ElevenLabs, 2025) supports multi-character narration with parametric control over emotional baseline, prosody, and pacing. Apple's free AI narration programme, launched in 2023, demonstrated the commercial viability of AI-narrated audiobooks at platform scale (Apple, 2023). Kokoro-82M (Hexgrad, 2024), an 82-million-parameter open-weight model released under Apache-2.0 in December 2024 and trained at a reported total cost of approximately 1 per million characters of input or under $0.06 per hour of audio output, several orders of magnitude below ElevenLabs Flash pricing. ProseCreator's Marketplace paper (Adverant Research, 2026) describes the existing 10-step pipeline that produces full audiobooks from a Character Bibleβenriched manuscript using these engines; this paper extends that pipeline to deliver into a Kobo audiobook player.
2.7 Foundational and Adjacent Work
The transformer architecture introduced by Vaswani et al. (2017) is the substrate beneath every neural TTS engine and every large language model used by ProseCreator's Writing Inspector. The OAuth 2.0 authorisation framework (Hardt, 2012, RFC 6749) is the standard for the cross-platform OAuth flows we describe in Section 10. The OPDS Catalog 1.2 specification (OPDS Community, 2018) and OPDS 2.0 draft (OPDS Community, 2024) are the standards we adopt for ProseCreator's own catalog feed. The EPUB Accessibility 1.1 specification (W3C, 2023) governs the accessibility metadata we embed alongside the Digital DNA fingerprint.
3. Background: The Digital DNA Engine
This section recapitulates the Digital DNA Engine introduced in the Marketplace paper at sufficient detail to follow the rest of this paper. Readers familiar with that work may skip to Section 4.
3.1 The Twelve Dimensions
Every manuscript published through the ProseCreator Marketplace undergoes an automated analysis that produces a 12-dimension Digital DNA fingerprint (Adverant Research, 2026). The metaphor is deliberate: just as biological DNA encodes the structural information of an organism, a book's Digital DNA encodes its structural and qualitative information in a form that makes books comparable, rankable, and improvable. The dimensions are:
- Character Depth β psychological complexity, arc completeness, cross-chapter consistency
- Plot Architecture β thread count and resolution, tension curve shape, climax positioning
- World Coherence β element density, internal consistency, codex completeness
- Trope Execution β sophistication of genre convention use; subversion versus mechanical reproduction
- Voice Consistency β POV adherence, narrator stability, character-to-character dialogue differentiation
- Pacing Quality β rhythmic variety, beat-type distribution balance, chapter-length variance
- Continuity β fact-tracking accuracy across chapters; absence of timeline, geography, or character contradictions
- Style Fingerprint β lexical signature with corpus-relative comparators; sentence-length variance and burstiness
- Dialogue Quality β naturalness, character differentiation, subtextual depth
- AI Detection Score β perplexity and burstiness analysis, used as a transparency signal rather than a gate
- Structural Integrity β chapter and scene boundary alignment with story-beat structure
- Emotional Resonance β predicted reader emotional response based on language affect models and pacing
Each dimension produces a 0β100 score; the composite score is a weighted average where weights are calibrated by genre (Adverant Research, 2026, Β§3.3). A thriller, for instance, weighs Plot Architecture and Pacing Quality more heavily than World Coherence; literary fiction reverses this. The composite is presented alongside the per-dimension breakdown.
3.2 Style Fingerprint and Comparators
The Style Fingerprint dimension produces, in addition to a score, a set of nearest-neighbour comparators within the corpus of all Marketplace manuscripts. This serves a discovery purpose: a reader who loves an author's voice can find books with similar voices regardless of genre. The comparator computation is done over high-dimensional sentence embeddings stored in Qdrant.
3.3 Quality Gates and Author Tiers
The Marketplace operates a system of Quality Gates β composite-score thresholds that unlock platform benefits such as "Quality Verified" badges, increased algorithmic visibility, and free audiobook generation. The author-tier structure is: Explorer (free, 1 book, basic 6-dim DNA), Author (39/month, 10 books, full DNA + history + 500K-character/month audiobook allowance), Publisher (199/month, full suite, API access, 10M characters/month).
3.4 Transparency Labels
Every Marketplace listing carries a transparency label calibrated against the AI Detection Score: Human-Written (<15% AI), AI-Assisted (15β70%), or AI-Created (>70%). The labels are voluntary and do not affect listing eligibility; their function is to inform readers, not to police authors. ProseCreator's policy stance is that quality is a better signal than provenance.
3.5 Why This Matters for Kobo
The Digital DNA fingerprint exists as a row in PostgreSQL today, and is rendered as a radar chart in the ProseCreator web app. It is invisible to a reader who downloads the EPUB and opens it on a Kobo. Section 7 of this paper proposes a way to embed the fingerprint into the EPUB itself, render it on e-ink, and use it as a discovery and browsing signal directly on the device. The Style Fingerprint comparators, in turn, can drive a "more like this" surface on the Kobo home screen, replacing or augmenting Kobo's own discovery surface with one that is genuinely calibrated to the reader's voice preferences.
4. Kobo Libra Color Integration Architecture
4.1 Constraints
The Kobo Libra Color is closed at the software layer in the following specific senses. There is no public app store. There is no Kobo-published SDK. There is no documented IPC interface for third-party processes. The web browser is shipped as an "experimental" feature with limited storage, no service-worker support, no WebSocket persistence beyond the current page, and aggressive sleep behaviour that suspends pages after roughly 30 seconds of inactivity. The device is, however, generous about file ingest: any EPUB, PDF, MOBI, or supported image placed in the device's filesystem becomes a library item, indexed by Nickel and immediately readable. The device has a Dropbox integration in firmware: a user who connects their Dropbox account via Kobo's Settings can sync a designated folder's contents to the device automatically. The device has Pocket integration. It runs Bluetooth A2DP for audiobook playback. It exposes a limited OPDS client when KOReader is installed.
These constraints determine the available distribution paths.
4.2 The Five Paths
We identify five distinct integration paths from ProseCreator's cloud to a Kobo Libra Color:
ββββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator Cloud β
β (manuscripts, audiobooks, DNA, blueprints) β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββ
β
ββββββββββββββ¬ββββββββββββΌββββββββββββ¬ββββββββββββββ
βΌ βΌ βΌ βΌ βΌ
ββββββββββ ββββββββββββ ββββββββββ ββββββββββββ ββββββββββββ
β Path 1 β β Path 2 β β Path 3 β β Path 4 β β Path 5 β
βDropbox β β OPDS β β USB β β KOReader β β Browser β
β Sync β β Catalog β βSideloadβ β Plugin β β PWA β
ββββββ¬ββββ βββββββ¬βββββ ββββββ¬ββββ βββββββ¬βββββ βββββββ¬βββββ
β β β β β
βΌ βΌ βΌ βΌ βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Kobo Libra Color β
β Nickel reader β KOReader (opt) β Bluetooth audiobooks β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Path 1 β Dropbox Sync. ProseCreator pushes EPUBs (and accompanying audiobook MP3/M4B files) to a designated Dropbox folder owned by the user. Kobo's native Dropbox integration syncs that folder. The book appears in the user's Kobo library automatically. This path requires the user to (a) hold a Dropbox account, (b) authorise both ProseCreator and Kobo against Dropbox, and (c) accept Kobo's sync polling cadence (currently roughly hourly when on Wi-Fi). This is the recommended default.
Path 2 β OPDS Catalog. ProseCreator publishes a private, authenticated OPDS 1.2 feed at https://api.prosecreator.com/opds/library per user. The user adds the feed to KOReader (path requires KOReader; see Path 4). Books are browsed and downloaded directly from the catalogue on the device. This path is the cleanest from an ecosystem hygiene perspective β no third-party storage involved β but requires KOReader.
Path 3 β USB Sideload. The user connects the Kobo to a desktop running ProseCreator's desktop helper application. The helper enumerates the user's library and copies selected EPUBs and audiobook files to the Kobo's filesystem. This is the lowest-tech path; it works without any cloud authorisation and without KOReader, and is the natural fallback when both Path 1 and Path 4 are unavailable.
Path 4 β KOReader Plugin. ProseCreator publishes a KOReader plugin that presents the user's library, renders the Digital DNA fingerprint, syncs reading position back to ProseCreator, and downloads audiobooks. This path requires the user to have installed KOReader, which is a non-trivial install for non-technical users (Nickel Menu + KFMon + KOReader package), but it offers the richest experience. It is the recommended path for power users.
Path 5 β Browser PWA. ProseCreator ships a Progressive Web App at https://kobo.prosecreator.com optimised for the Kobo browser's constraints (no service worker, aggressive sleep, limited storage). The PWA does not store books locally; it streams. This path is the only one that works without any sync, install, or USB connection β but the experience is degraded (no offline reading, no audiobook playback, slow page turns) and is recommended as a triage path only.
4.3 Comparison Matrix
The five paths trade off differently across nine dimensions:
| Dimension | Path 1 (Dropbox) | Path 2 (OPDS) | Path 3 (USB) | Path 4 (KOReader) | Path 5 (PWA) |
|---|---|---|---|---|---|
| User setup difficulty | Low | Medium | Low | High | Trivial |
| Requires KOReader | No | Yes | No | Yes | No |
| Requires desktop | No | No | Yes | No | No |
| Offline reading | Yes | Yes | Yes | Yes | No |
| Audiobook playback | Native (sideloaded) | Via KOReader | Native | Via KOReader | None |
| Sync latency | ~1h (Kobo poll) | On-demand | Manual | On-demand | Real-time |
| Reading-position sync back | No | Limited | No | Yes | Yes |
| DNA fingerprint render | EPUB-embedded | EPUB-embedded | EPUB-embedded | KOReader plugin | PWA UI |
| Risk profile | Third-party store | Self-hosted | None | Jailbreak-adjacent | Browser fragility |
The runtime-selectable hybrid we recommend is: Path 1 (Dropbox) by default; Path 4 (KOReader) when KOReader is detected via a probe URL on the user's home Wi-Fi; Path 3 (USB) as a manual fallback; Path 5 (PWA) for one-off reading on a Kobo not configured by the user (e.g. a borrowed device). Path 2 (OPDS) is offered to KOReader users as a catalogue browse surface even when Path 4 is also active.
4.4 Threat Model
Each path has its own threat surface:
Path 1 (Dropbox):
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β ProseCreator ββββ>β Dropbox ββββ>β Kobo β
β (TLS, OAuth)β β (encrypted β β (encrypted β
ββββββββββββββββ β at rest) β β at rest) β
ββββββββββββββββ ββββββββββββββββ
Threats: Dropbox credential compromise; Kobo Dropbox token
leakage; folder share misconfiguration.
Path 2 (OPDS):
ββββββββββββββββ ββββββββββββββββ
β ProseCreator βββββ HTTPS βββ>β KOReader β
β OPDS feed β (Basic Auth β (on Kobo) β
β β over TLS) β β
ββββββββββββββββ ββββββββββββββββ
Threats: Auth credential storage in KOReader prefs;
OPDS feed enumeration if URL leaks.
Path 3 (USB):
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β ProseCreator ββββ>β Desktop ββUSB>β Kobo β
β (TLS, OAuth)β β helper β β (filesys) β
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
Threats: Desktop-side malware; helper update channel.
Path 4 (KOReader):
ββββββββββββββββ ββββββββββββββββ
β ProseCreator βββββ HTTPS βββ>β KOReader β
β API β (token auth) β plugin β
ββββββββββββββββ ββββββββββββββββ
Threats: Plugin update channel integrity; token storage in
KOReader prefs (plain text, configurable).
Path 5 (PWA):
ββββββββββββββββ ββββββββββββββββ
β ProseCreator βββββ HTTPS βββ>β Kobo browser β
β PWA host β (cookie β β
β β session) β β
ββββββββββββββββ ββββββββββββββββ
Threats: Browser cookie persistence weak;
sleep-suspend can drop session.
The platform's posture is that all paths must operate over TLS to a CA-trusted certificate; that user secrets are never embedded in EPUB or audiobook payloads; and that any Path-4 plugin we publish must be code-signed and distributed only via ProseCreator's signed update channel.
4.5 Recommended Hybrid
The recommended runtime selection logic is:
on user_open_book(book):
if user.kobo_dropbox_linked and user.has_dropbox:
deliver_via_dropbox(book) # Path 1
elif user.kobo_has_koreader:
deliver_via_koreader_plugin(book) # Path 4
elif user.has_desktop_helper:
prompt_usb_sideload(book) # Path 3
else:
offer_pwa_link(book) # Path 5
This logic prioritises offline-capable, audiobook-capable paths and falls back to the PWA only when no other option works. The OPDS feed (Path 2) is always exposed to KOReader users as an additional discovery surface.
5. Continuous Kindle-to-Kobo Library Migration
5.1 The Problem
A Kobo reader who has previously bought books on Amazon Kindle holds a library that is, in technical terms, accessible only through Amazon's clients. Kindle ebooks ship in the proprietary AZW or KFX containers and are encrypted with Amazon's DRM. The user's purchased rights β to read a book they have paid for β are real, but the bits encoding the book are bound to Amazon's reader software. This binding is the central friction in cross-ecosystem migration.
This paper distinguishes sharply between two possible activities:
- First-party platform offering (legal). ProseCreator can offer the user a service that synchronises metadata (titles, authors, purchase dates, library structure), reading position (current chapter/page), and highlights and notes (captured from Kindle Cloud Reader's exported JSON or Goodreads API exports) from the user's Amazon account into ProseCreator's database, where the same data can drive the user's Kobo experience.
- User-side activity (legality varies). The user may, on their own initiative and on their own equipment, run software such as Calibre with the DeDRM plugin to decrypt their Kindle library. ProseCreator does not perform, host, or distribute this software; we describe it here as a documented technical fact, not as a recommended platform behaviour. The legal status of doing so is jurisdiction-dependent and discussed in Section 13.
5.2 First-Party Offering: Continuous Metadata, Position, and Highlight Sync
Amazon does not publish an official Kindle library API. There is, however, a long-standing community-developed practice of extracting library metadata from Amazon's web surfaces β specifically the "Manage Your Content and Devices" page, the Kindle Cloud Reader sync APIs used by the in-browser reader, and the Goodreads private profile (Goodreads being owned by Amazon). The ProseCreator Migration Service is a backend component that, with the user's explicit credential authorisation, performs the following:
βββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator Cloud β
β βββββββββββββββββββββββββββββββββββββββββ β
β β Migration Service (this section) β β
β β ββββββββ ββββββββ ββββββββββββββ β β
β β β MYC β β KCR β β Goodreads β β β
β β β scrp β β sync β β exports β β β
β β ββββ¬ββββ βββββ¬βββ ββββββββ¬ββββββ β β
β β βββββββ¬βββββ΄βββββββββββββ β β
β β βΌ β β
β β ββββββββββββββββββββββ β β
β β β Kindle Library β β β
β β β Mirror (Postgres) β β β
β β βββββββββββ¬βββββββββββ β β
β βββββββββββββββΌββββββββββββββββββββββββ-β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββ β
β β ProseCreator User Library View β β
β β (cross-ecosystem; tagged "Kindle") β β
β βββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββ
The mirror table stores, for each Kindle title in the user's library: ASIN, title, authors, purchase date, last-read date, last-read position (chapter or location), highlights (with chapter and offset), notes, and a per-title sync timestamp. The mirror is updated on a configurable polling cadence (default: hourly when the user is active).
What the mirror does not contain: the text of the book. Amazon's DRM and Terms of Service preclude lawful platform-side decryption. The mirror is metadata only.
The user's experience on the Kobo side is then:
- A "Kindle" tag appears in their ProseCreator library, listing all Kindle titles by metadata.
- For each title, the user can choose to (a) read on Kindle (an
amzn1://deep link opens the Kindle app on phone or tablet), (b) "find on Kobo" (we query the Kobo store via affiliate API for the same title; if found, a "Buy on Kobo" button is offered), or (c) "find at library" (we query OverDrive/Libby APIs). - For any title the user does own on both ecosystems (e.g. via re-purchase on Kobo), reading position and highlights synchronise between platforms via the mirror.
This first-party offering is, to the best of our analysis (Section 13), entirely lawful: scraping a user's own purchase history from a service they have authenticated to does not implicate DMCA Β§1201, since no technological access-control measure is being circumvented; the data is decrypted and rendered in the user's browser as a matter of course.
5.3 User-Side Activity: DRM Removal (Objective Description)
Calibre is an open-source ebook management application (Calibre-Ebook, 2024). The DeDRM plugin set, originally maintained by "Apprentice Alf" and now under the noDRM GitHub organisation, extends Calibre to decrypt Kindle, Adobe, B&N, and Kobo DRM. The mechanism, in broad terms, derives the per-book decryption key from data accessible on a registered device or via the user's Amazon credentials, then reads the AZW/KFX container, decrypts each chapter, and writes a DRM-free EPUB or other open container.
ProseCreator does not perform, distribute, or host this software. We describe its existence to acknowledge the user-side reality that a substantial fraction of the cross-ecosystem migration that occurs in the wild today involves these tools, and that any architecture that pretends they do not exist is incomplete. The legal status of using these tools varies:
- United States. DMCA Β§1201(a)(1)(A) prohibits circumvention of "a technological measure that effectively controls access to a [copyrighted] work" except where the Librarian of Congress has issued a triennial exemption. As of the 2024 cycle (U.S. Copyright Office, 2024), no exemption has been issued for general personal-library migration of DRM-protected ebooks. Exemptions exist for accessibility (text-to-speech for print-disabled users) and for security research. The Library Copyright Alliance and Authors Alliance have repeatedly petitioned for a broader exemption (Authors Alliance, 2024), without success.
- European Union. The InfoSoc Directive 2001/29/EC permits EU member states to legislate exceptions for private copying (Article 5(2)(b)), and many do; Article 6(4) requires member states to take "appropriate measures" to ensure beneficiaries of certain exceptions can effect them despite technological measures, although in practice this provision has been narrowly applied. In several EU jurisdictions (e.g. Germany, France), private-copy exceptions exist but are narrower than the Β§1201 doctrine in the U.S., and do not necessarily authorise DRM circumvention in service of those exceptions.
- United Kingdom. Following the 2014 amendment of the Copyright, Designs and Patents Act 1988 to introduce a personal-copying exception, and that amendment's subsequent quashing in BASCA v Secretary of State in 2015, the UK has no personal-copying exception. Circumvention of DRM remains broadly prohibited.
Because the legal posture is materially different across jurisdictions and is in active flux, ProseCreator's platform stance is:
- We offer first-party metadata/position/highlight sync (Section 5.2).
- We do not provide, link to, or host DRM-removal software.
- We do not condemn users who run such software on their own equipment for their own purposes within their own jurisdiction's law.
- If a user uploads a DRM-free EPUB (regardless of provenance), we treat it as any other user content under our Terms of Service, with the understanding that the user represents that they have the right to do so.
This stance is similar to how cloud-storage providers handle user-uploaded music files of unknown DRM history: the platform does not certify provenance, but it also does not cooperate in circumvention.
5.4 Continuous Sync and Conflict Resolution
For users who have re-purchased a book on Kobo that they previously owned on Kindle, position and highlight synchronisation across ecosystems requires a conflict-resolution protocol. The protocol we propose is last-writer-wins per-position with merge-by-union for highlights:
At sync(t):
kindle_pos = mirror.last_position(book, source="kindle")
kobo_pos = mirror.last_position(book, source="kobo")
canonical_pos = max(kindle_pos, kobo_pos) by timestamp
# Highlights: union, deduplicated by (chapter, offset, length)
canonical_highlights = dedupe(
kindle_highlights βͺ kobo_highlights
)
push_to_kindle(canonical_pos, canonical_highlights)
# via Kindle Cloud Reader sync surface
push_to_kobo(canonical_pos, canonical_highlights)
# via Path 1/2/4 sync
The asymmetry in capabilities is real: pushing position back to Amazon is best-effort (we use Kindle Cloud Reader's sync surface, which Amazon may change); pushing position to Kobo via KOReader is reliable; pushing position to Nickel (stock Kobo reader) requires a sideloaded .bookmark file alongside the EPUB, which Nickel does honour.
5.5 Migration Time and Library Size
Migration time scales with library size, not because the metadata payload is large (a 1,000-book library produces roughly 5MB of metadata) but because each title requires a Kindle Cloud Reader sync round-trip to extract last-read position and highlights, and these calls are rate-limited by Amazon's backend at roughly one request per 1.5 seconds per session. Figure 2 (Section 6) shows projected migration time as a function of library size under stated assumptions.
6. Audiobook on the Kobo Libra Color
6.1 The Hardware Substrate
The Kobo Libra Color supports audiobook playback over Bluetooth A2DP. Kobo's first-party audiobook offering (Kobo Audiobooks, available in select countries) is the obvious consumer surface, but the device also plays sideloaded MP3 and M4B files when those are placed in the device's filesystem alongside the corresponding EPUB. M4B is the preferred format because it carries chapter markers natively; MP3 is acceptable but produces a single playback timeline without chapter navigation unless an accompanying CUE sheet is present (which Nickel does not honour).
6.2 The Generation Pipeline
ProseCreator's existing audiobook pipeline is a 10-step Nexus Workflows orchestration (Adverant Research, 2026):
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1. Manuscript ingest β 6. Multi-voice synthesis β
β (project_id, opts) β (Kokoro or ElevenLabs) β
β 2. Character voice map β 7. Audio fingerprinting β
β (TTSVoiceProfile) β (cosine sim β₯ 0.85) β
β 3. Dialogue extraction β 8. Mastering & loudness norm β
β (per-character lines)β (-18 LUFS) β
β 4. Pronunciation pass β 9. M4B packaging β
β (entity dict) β (chapter markers) β
β 5. SSML/phoneme markup β 10. Delivery β
β (prosody, emotion) β (Path 1/3 to Kobo) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The output of this pipeline is a single M4B file per book, with chapter markers aligned to the EPUB's chapter boundaries, and a sidecar JSON file containing the timing map for reading-along (a planned future feature, where the Kobo's e-ink page automatically advances to track the audiobook's position). The audiobook is delivered to the Kobo via Path 1 (Dropbox) by default; Path 3 (USB) and Path 4 (KOReader) are also supported.
6.3 Cost and Latency
The two audiobook engines have very different cost profiles. Kokoro is open-weight (Apache-2.0) and self-hostable; production costs scale with compute cost, not per-character API pricing, and ProseCreator's measured cost is approximately 35.91, 98 per book respectively at our typical length, calculated against published per-character pricing as of late 2025 (ElevenLabs, 2025).
Latency follows a similar split. Kokoro produces audio at roughly real-time on a single H100 GPU (10 hours of audio in ~10 hours of GPU time), with a 6Γ speedup achievable on more powerful hardware. ElevenLabs Flash is the latency-leader at roughly 0.4Γ real-time (10 hours of audio in ~4 hours), while Multilingual v2 is closer to real-time but with higher quality. Figure 1 (this paper) plots projected cost vs. latency across all four engines under stated assumptions.
6.4 Voice Profile Consistency
Multi-voice narration is the technical signature of the ProseCreator audiobook product. Each character speaks in a voice derived from their Character Bible's TTSVoiceProfile fields (pitch, timbre, breathiness, resonance, prosody style). Voice consistency across chapters is enforced through audio fingerprinting: a per-character voice embedding is computed from each chapter's synthesised audio and compared against a reference embedding; cosine similarity below 0.85 triggers regeneration. This enforcement, described in detail in the Marketplace paper, is preserved when the audio is delivered to a Kobo β the file the user plays is identical to the file ProseCreator served from the cloud.
6.5 Read-and-Listen Hybrid
A planned future feature, sketched here for completeness, is the "read-and-listen" mode: the Kobo displays the EPUB while the audiobook plays, and the e-ink page advances automatically to track the audio. This requires (a) the timing-map JSON file produced by the generation pipeline, and (b) a custom reader that consults the timing map and triggers page-turn events synchronised to the audio. On Path 4 (KOReader), this is implementable as a plugin. On Path 1 (Dropbox + Nickel), it is not implementable without firmware support. We present this feature as a proposed design, not a shipping implementation.
7. Embedding the Digital DNA Fingerprint in EPUB3
7.1 The Opportunity
The Digital DNA fingerprint, today, is a row in PostgreSQL and a radar chart in the ProseCreator web app. A reader on a Kobo cannot see it. This section proposes embedding the fingerprint in the EPUB itself, using EPUB3's structured-metadata facilities and rendering it on e-ink as an SVG radar chart with an HTML fallback table.
7.2 OPF Metadata Extension
EPUB3's OPF document supports custom metadata via the meta element with arbitrary property values when a namespace is declared. We propose the prose: namespace, declared as:
Plain Text37 lines<package xmlns="http://www.idpf.org/2007/opf" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:prose="https://schema.prosecreator.com/dna/1.0" version="3.0" unique-identifier="bookid"> <metadata> <dc:title>The Curious Tide</dc:title> <dc:creator>Marisol Vega</dc:creator> <dc:identifier id="bookid">urn:uuid:e4f5...</dc:identifier> <dc:language>en</dc:language> <dc:date>2026-04-12</dc:date> <meta property="prose:dna-version">1.0</meta> <meta property="prose:dna-composite">86.7</meta> <meta property="prose:dna-genre">thriller</meta> <meta property="prose:dna-percentile">88</meta> <meta property="prose:dna-transparency-label">human-written</meta> <meta property="prose:dna-dim-character-depth">91</meta> <meta property="prose:dna-dim-plot-architecture">88</meta> <meta property="prose:dna-dim-world-coherence">79</meta> <meta property="prose:dna-dim-trope-execution">82</meta> <meta property="prose:dna-dim-voice-consistency">90</meta> <meta property="prose:dna-dim-pacing-quality">93</meta> <meta property="prose:dna-dim-continuity">95</meta> <meta property="prose:dna-dim-style-fingerprint">84</meta> <meta property="prose:dna-dim-dialogue-quality">87</meta> <meta property="prose:dna-dim-ai-detection-score">8</meta> <meta property="prose:dna-dim-structural-integrity">89</meta> <meta property="prose:dna-dim-emotional-resonance">85</meta> <meta property="prose:dna-comparator-1">urn:uuid:abc1...</meta> <meta property="prose:dna-comparator-2">urn:uuid:def2...</meta> <meta property="prose:dna-comparator-3">urn:uuid:ghi3...</meta> </metadata> <!-- manifest, spine, etc. --> </package>
The schema is stable enough to be useful and extensible enough to accommodate future dimensions. Comparator UUIDs reference other Marketplace books with similar Style Fingerprints.
7.3 SVG Radar Visualisation for E-Ink
The fingerprint is rendered as an SVG file at OEBPS/dna/dna.svg and referenced from the front matter via a standard <img> element. The radar chart uses 12 axes (one per dimension), grayscale fill (e-ink does not require colour for this), and a 300 DPI render target to ensure crisp rendering on the Libra Color's 300 PPI monochrome layer. We avoid relying on Kaleido 3's colour layer because (a) it operates at 150 PPI, half the resolution of monochrome, and (b) not all Kobo readers in the field have a colour panel β a Libra 2 owner reads the same EPUB.
The SVG embeds CSS that respects the Kobo browser's limited support: no animations, no JavaScript, only static path elements. A representative excerpt:
Plain Text15 lines<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" width="400" height="400"> <style> .axis { stroke: #333; stroke-width: 1; fill: none; } .grid { stroke: #999; stroke-width: 0.5; fill: none; } .data { fill: #333; fill-opacity: 0.25; stroke: #000; stroke-width: 1.5; } .label { font: 10px sans-serif; fill: #000; } </style> <!-- 12 axis lines + 5 grid rings --> <!-- data polygon --> <polygon class="data" points="..." /> <!-- 12 dimension labels --> </svg>
7.4 HTML Fallback Table
Some EPUB readers, including older versions of Adobe RMSDK and certain library reader apps, strip or fail to render SVG. A fallback HTML table at OEBPS/dna/dna.xhtml provides the same data:
HTML24 lines<section epub:type="frontmatter"> <h2>Digital DNA Fingerprint</h2> <table> <thead><tr><th>Dimension</th><th>Score</th></tr></thead> <tbody> <tr><td>Character Depth</td> <td>91</td></tr> <tr><td>Plot Architecture</td> <td>88</td></tr> <tr><td>World Coherence</td> <td>79</td></tr> <tr><td>Trope Execution</td> <td>82</td></tr> <tr><td>Voice Consistency</td> <td>90</td></tr> <tr><td>Pacing Quality</td> <td>93</td></tr> <tr><td>Continuity</td> <td>95</td></tr> <tr><td>Style Fingerprint</td> <td>84</td></tr> <tr><td>Dialogue Quality</td> <td>87</td></tr> <tr><td>AI Detection Score</td> <td>8</td></tr> <tr><td>Structural Integrity</td> <td>89</td></tr> <tr><td>Emotional Resonance</td> <td>85</td></tr> </tbody> <tfoot> <tr><th>Composite (thriller-weighted)</th><th>86.7</th></tr> <tr><th>Genre Percentile</th><th>88</th></tr> </tfoot> </table> </section>
Both representations are linked from the EPUB's TOC under "About this book."
7.5 Discovery on the Device
With the fingerprint embedded, a downstream reader application β KOReader plugin (Path 4), or a future Kobo firmware update we cannot rely on β can use the fingerprint as a discovery signal. The Style Fingerprint comparator UUIDs in particular enable a "more like this" surface that operates against the user's library on-device, without round-tripping to ProseCreator's cloud. Even a stock Nickel reader, which renders only the front-matter visualisation, gives the reader a rich pre-read briefing that is genuinely calibrated to the work in hand.
7.6 Status
The OPF metadata extension and the SVG/HTML fallback are proposed designs. ProseCreator's existing EPUB export pipeline can be extended to emit them; we have not yet shipped a production version. Section 14 addresses this in the future-work agenda.
7B. GraphRAG-Backed Chat on the Kobo
7B.1 Why Chat Matters on a Reading Device
ProseCreator's chat system is not a generic chatbot. It is a GraphRAG-backed conversational interface to the user's library: every book in the library is decomposed into entities (characters, plot threads, world elements, locations, themes), persisted as nodes and edges in Neo4j, and indexed for vector retrieval in Qdrant. A query like "who is Vincent and why does he matter to Inez?" does not run against a generic LLM completion β it runs against the actual structural decomposition of the book, with explicit entity and relationship retrieval, and surfaces an answer grounded in cited passages from the manuscript itself.
This capability transforms what a reading device can be. A Kindle answers "where am I in the book?" with a percentage. A Kobo answers it with a percentage and a chapter. A ProseCreator-augmented Kobo answers it with a percentage, a chapter, and the question "did you want a quick recap of what's happened with Vincent so far?". For a reader resuming a book after a long gap, this is materially different from any e-reading experience that exists today.
7B.2 Architecture Overview
The chat surface on the Kobo is a thin client. The heavy lifting β GraphRAG retrieval, entity disambiguation, response synthesis β runs in the ProseCreator cloud, exactly where it runs for the web app. The client's job is to capture the user's query (typed, stylus-handwritten, or, on Path 5 PWA, voice-via-Bluetooth-mic where available), display streaming responses, and persist conversation history.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Kobo Libra Color β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Chat surface β β
β β Β· KOReader plugin (Path 4) β preferred β β
β β Β· PWA chat panel (Path 5) β fallback β β
β β Β· captures: typed text Β· stylus handwriting β β
β β Β· displays: streamed tokens Β· cited passages β β
β ββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ
β HTTPS Β· server-sent events for streaming
β payload: { user_id, book_id?, query,
β scope: "book"|"library"|"global",
β history_id }
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator Cloud Β· Chat Engine β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Universal Chat Orchestrator β β
β β Β· scope resolver (book vs library vs global) β β
β β Β· org-scoped persistence (chat_messages table) β β
β β Β· WS dispatch for streaming responses β β
β ββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β GraphRAG Engine β β
β β Β· entity extraction from query β β
β β Β· Neo4j subgraph retrieval β β
β β Β· Qdrant vector retrieval (passage-level) β β
β β Β· merge + rank + window for LLM context β β
β ββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β AI Provider Router β β
β β Β· Anthropic / Gemini / OpenRouter adapter β β
β β Β· streaming response back through WS β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
7B.3 Three Scopes
The chat operates at three scopes, selectable per-conversation:
-
Book scope. Conversation is anchored to the currently open book. GraphRAG retrieval is constrained to that book's entities and passages. Used for "recap chapters 1β5," "who is the antagonist's family?", "why does Inez go back to the lighthouse?"
-
Library scope. Conversation spans all books in the user's library. GraphRAG retrieval can cross books. Used for "which books did I highlight passages about βgriefβ?", "compare the three thrillers I've read this year on pacing," "are there motifs I keep highlighting?"
-
Global scope. Conversation can pull from the Marketplace catalog. Used for discovery: "recommend me a slow-burn thriller with a coastal setting and a strong female lead," "what's a good follow-up to The Curious Tide?" The retrieval is constrained to public Marketplace metadata and DNA fingerprints; private user libraries are never used as Marketplace recommendation training data.
7B.4 Author Mode
In Author Preview Mode (Section 8.9), the chat scope adds a fourth context: the author's draft, the Living Blueprint, and the Writers' Room conversation history. An author can ask "is the cardinal-at-the-sill image foreshadowed enough by chapter 4?", "which of my characters has the weakest arc as currently drafted?", "summarise the Inspector findings for chapter 11." These queries use the same GraphRAG infrastructure but with extended context that includes the manuscript's draft state and analytical metadata.
7B.5 Privacy
Chat conversations are persisted in the ProseCreator database under the existing org-scoped chat persistence schema (the same one that backs the web app's chat). This means:
- Chat history syncs across devices (desk β Kobo β phone) automatically.
- Conversations are user-private by default; family members do not see each other's chats.
- A user can delete a conversation from any device; the deletion propagates.
- We do not train on user chat logs.
7B.6 On-Device Constraints
The Kobo's hardware imposes real constraints on chat UX. The on-device keyboard is slow (e-ink refresh rates make full-word ghosting noticeable). Latency for a streaming response over 4G β when no Wi-Fi is available β can be variable. We accommodate these constraints with three design moves:
- Stylus-first input. With Kobo Stylus 2, handwritten input is converted to text on-device using Kobo's existing handwriting recognition. The user writes their question; it converts to text in approximately one second; submission proceeds.
- Suggested-question chips. The chat surface shows three contextually-suggested questions whenever it opens, calibrated to the current book and reading position. "What just happened?" "Who is the speaker?" "What is the cardinal symbol?" These reduce keyboard need to a tap.
- Streaming with explicit pacing. Responses stream token-by-token but the e-ink refresh strategy is to update full sentences at sentence boundaries rather than per-token, avoiding ghosting and reducing the rendering cost.
7B.7 Tool Use
The chat orchestrator exposes a small toolset to the LLM that the user's chat can invoke implicitly:
lookup_character(book_id, name)β returns the Character Bible entrylookup_plot_thread(book_id, name)β returns the plot thread staterecap_chapter(book_id, chapter_n)β returns a one-paragraph recaprecap_until(book_id, position)β returns a recap of everything up to a given positionfind_passage(book_id, query)β returns matching passages with offsetsfind_books_like(book_id_or_query)β runs Style Fingerprint comparator searchsummarise_highlights(book_id?)β summarises the user's highlightscompare_books(book_a, book_b, dimension?)β DNA-grounded comparison
These tools are the same ones already exposed to the web-app chat; the Kobo chat surface invokes them via the same orchestrator. There is no Kobo-specific LLM API or model β the LLM the user is conversing with is the same one their web app conversation talked to ten minutes ago.
8. UI/UX Mockups
This section presents fifteen ASCII mockups of the proposed Kobo-side experiences. Each mockup represents a screen in the KOReader plugin (Path 4) or, where indicated, the Browser PWA (Path 5). The Nickel reader (Paths 1 and 3) renders only EPUBs and does not have a custom UI surface, so its experience is represented by the embedded EPUB front matter in Section 7.
8.1 Home
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator β‘ 73% β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Continue reading β
β ββββββββ The Curious Tide β
β β β Marisol Vega β
β β 86.7 β Chapter 11 of 28 β
β β /100 β ββββββββββββββββββββββββββ 39% β
β β β² β Last read: 2 hours ago β
β ββββββββ β
β β
β Library Kindle Audiobooks Discover β
β βββββββββ β
β β
β Recently added β
β ββββββ ββββββ ββββββ ββββββ ββββββ β
β β 92 β β 78 β β 84 β β 71 β β 88 β β
β ββββββ ββββββ ββββββ ββββββ ββββββ β
β β
β Sync: just now Β· 14 books Β· 3 audiobooks β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The DNA composite score appears as the centre of each cover thumbnail, replacing the conventional star rating. A small triangle indicates whether the score is above or below the user's reading-history average.
8.2 Library with DNA Badges
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Library Sort: DNA βΎ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β [All] [Thriller] [Literary] [SFF] [Romance] β
β β
β ββββββ The Curious Tide Vega 87 β
β β 87 β Thriller Β· 412pp Β· audio 11h β
β
β
β
β
β
β β β² β Continuing Β· 39% Β· 2h ago β
β ββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββ Salt of the Pleiades Maro 92 β
β β 92 β Literary SFF Β· 388pp Β· audio 10h β
β
β
β
β
β
β β β²β² β New Β· just synced β
β ββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββ Quiet Reckoning Hain 78 β
β β 78 β Thriller Β· 296pp Β· audio 8h β
β
β
β
β
β β - β In progress Β· 12% β
β ββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββ The Salt-Path Heir [KINDLE] Bex β β
β β K β Fantasy Β· 612pp Β· audio n/a β
β
β
β
β β β Read on Kindle Β· pos. ch 22 β
β ββββββ β
β β
β Filter: [DNA β₯ 80] [Audio available] [Unread] β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Kindle-only titles appear with a "K" badge in place of the DNA score and offer a "Read on Kindle" deep link rather than an in-app reader.
8.3 Reading View with Inspector Overlay
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β The Curious Tide β
β β
β Chapter 11: Pelican Light β
β β
β The fog came in low over Mendon Bay that β
β morning, the kind of fog that softens the β
β edges of every conversation and makes the β
β lighthouse out at Pelican look like a β
β rumour. Inez was on the rocks before β
β sunrise, knowing that whatever she found β
β would matter more than what she had been β
β told to find. β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Inspector Β· Pacing Β· this scene β β
β β β β
β β Pacing Quality: 93 β β
β β Description-heavy opening, characteristic of β β
β β Vega's slow-burn act-2 chapters. Tension β β
β β index for this chapter peaks at 0.71 around β β
β β paragraph 14. β β
β β β β
β β [close] β β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 39% β Aa β° β βΊ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The Inspector panel is collapsible and pinned to the bottom edge so as not to disrupt the reading region. The panel content is generated server-side and synchronised to the reader on Path 1 or fetched on demand on Path 4.
8.4 Audiobook Player
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Library β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββββββββββββββββββ β
β β β β
β β The Curious Tide β β
β β [cover] β β
β β β β
β ββββββββββββββββββββββββ β
β β
β The Curious Tide Β· Marisol Vega β
β Chapter 11: Pelican Light β
β β
β βββββββββββββββββββββββββββββββ β
β 42:13 58:40 β
β β
β ββββββββ ββββββββ ββββββββ β
β β -15s β β βΆ β β +30s β β
β ββββββββ ββββββββ ββββββββ β
β β
β Speed: 1.0Γ β
β Voice cast: Vega Β· 4 voices β
β Sync to text: ON β
β β
β [Chapters] [Sleep timer] [BT: Sony] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The "Sync to text" toggle activates the read-and-listen hybrid (Section 6.5) when supported by the active path.
8.5 Audiobook Chapter List
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Player The Curious Tide β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β 1 Mendon Bay 22:14 β
β 2 The Lighthouse Keeper's Daughter 19:08 β
β 3 Inez Comes Home 31:42 β
β 4 What the Tide Brought 24:51 β
β 5 The Cardinal at the Sill 27:33 β
β 6 Vincent at the Pier 18:09 β
β 7 The First Letter 35:21 β
β 8 Old Bones 19:55 β
β 9 The Coast Guard Comes Calling 28:12 β
β 10 Salt and Sand 22:48 β
β βΆ11 Pelican Light 58:40 β
β 12 The Auction 34:16 β
β 13 Vincent Disappears 21:04 β
β 14 The Map 29:33 β
β 15 The Storm 42:51 β
β ... β
β β
β Total: 11h 23m Β· 28 chapters β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.6 Highlight and Annotation Pane
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Highlights Β· The Curious Tide β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Chapter 1 β
β β "the kind of fog that softens the edges of every β
β conversation" β
β notes: opening establishes mood β prose density β
β β
β Chapter 4 β
β β "What the tide brings is never what you asked for β
β but always what you needed." β
β notes: theme statement β
β β
β Chapter 7 β
β β "The cardinal at the sill was an omen, and Inez β
β knew it the way one knows weather in their knees" β
β β
β Chapter 11 Β· current β
β β "Pelican Light" β
β notes: - β
β β
β Total: 4 highlights Β· 3 with notes β
β Sync: cloud Β· last 2h ago β
β β
β [Export] [Filter] [Sort by chapter] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.7 Migration Dashboard (Kindle to Kobo)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Migration Β· Kindle β Kobo β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Connected accounts β
β Amazon Β· authenticated 2026-05-01 [reconnect] β
β Goodreads Β· authenticated 2026-05-01 [reconnect] β
β β
β Library mirror β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β 214 titles Β· last full sync 6h ago β β
β β 198 with last-read position β β
β β 142 with highlights (487 highlights total) β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Available on Kobo β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β 121 of 214 titles available on Kobo β β
β β 72 available via Kobo Plus β β
β β 18 available via library (Libby) β β
β β 3 unavailable on Kobo β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Actions β
β [Sync now] [View library] [Resolve conflicts] β
β β
β Note: ProseCreator does not transfer Kindle ebook β
β content. We sync metadata, position, and notes. β
β See "About migration" for details. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The disclosure language at the bottom is the user-facing expression of the platform stance described in Section 5.
8.8 Migration Progress
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Migration in progress β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β βββββββββββββββββββββββββββββββββββ 42% β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Now: fetching last-read position for β
β "The Salt-Path Heir" (Bex) β
β β
β Done 90 of 214 titles β
β Β· 88 with position β
β Β· 73 with highlights β
β Β· 312 highlights total β
β β
β ETA: 14 minutes (Amazon throttles β 1 req/1.5s) β
β β
β [Pause] β
β β
β β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.9 Author Preview Mode
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Author preview Β· The Curious Tide [DRAFT v.42] β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β You're reading your own draft as a Kobo user β
β would. Inspector overlays are author-only. β
β β
β Chapter 11: Pelican Light β
β β
β The fog came in low over Mendon Bay that β
β morning, the kind of fog that softens the β
β edges of every conversation and makes the β
β lighthouse out at Pelican look like a β
β rumour. Inez was on the rocks before β
β sunrise, knowing that whatever she found β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β Author note (you, last Tue): β β
β β "consider tightening this opening β Vega β β
β β is faster than this elsewhere" β β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β would matter more than what she had been β
β told to find. β
β β
β 39% [Inspector] [Beat map] [Notes] β β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Author Preview Mode allows the author to read their own draft on the actual reading surface their readers will use, with a hidden author-only annotation channel.
8.10 DNA Radar (E-Ink)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Digital DNA Β· The Curious Tide β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Character Depth (91) β
β β² β
β Emotional βββββββ/β\βββββββ Plot β
β Resonance β / β² \ β Architecture β
β (85) β /Β· /β\ Β·\ β (88) β
β Structural / β \ World β
β IntegrityΒ· β Β· Coherence β
β (89) β (79) β
β β β
β AI Detect ββββββββΌβββββββΊ Trope β
β (8) β Execution β
β β (82) β
β DialogueΒ· βΒ·Voice β
β Quality β Consistency β
β (87) β (90) β
β Style \ β / Pacing β
β Fingerprint \ β / Quality β
β (84) \ β / (93) β
β \β/ β
β Continuity (95) β
β β
β Composite (thriller-weighted): 86.7 β
β Genre percentile: 88 β
β Transparency label: Human-Written β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The radar is rendered on the e-ink monochrome layer (300 PPI) and is intentionally simple in fill so the page does not require a full panel refresh on every navigation.
8.11 Discovery Feed
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Discover Β· for you β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Because you read Marisol Vega β
β ββββββ ββββββ ββββββ ββββββ β
β β 84 β β 88 β β 79 β β 91 β β
β ββββββ ββββββ ββββββ ββββββ β
β Mendoza Hain Calabasas Tarn β
β β
β Same voice fingerprint β
β ββββββ ββββββ ββββββ β
β β 81 β β 87 β β 75 β β
β ββββββ ββββββ ββββββ β
β Kell Iverson Sayyid β
β β
β Quality Verified Β· this week β
β ββββββ ββββββ ββββββ ββββββ ββββββ β
β β 92 β β 89 β β 85 β β 88 β β 90 β β
β ββββββ ββββββ ββββββ ββββββ ββββββ β
β β
β All recommendations are based on the books in your β
β library and your highlights. They are computed β
β from Style Fingerprint comparators (12-dim DNA). β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.12 Family Shared Shelf
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Family Β· shared shelf β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Members β
β Β· Marisol (you, owner) 7 books shared β
β Β· Frank (joined 2026-04-12) 4 books shared β
β Β· Sofia (joined 2026-04-12) 2 books shared β
β β
β Shared reading β
β ββββββ Salt of the Pleiades Maro 92 β
β β 92 β Frank Β· 71% Β· last 1h ago β
β β β Sofia Β· 14% Β· last 6h ago β
β ββββββ β
β ββββββ Quiet Reckoning Hain 78 β
β β 78 β You Β· 12% β
β ββββββ Frank Β· 88% Β· last 14h ago β
β β
β Audiobook minutes this month β
β Β· Marisol ββββββββββ 4h 12m β
β Β· Frank ββββββββββ 1h 14m β
β Β· Sofia ββββββββββ 6h 34m β
β β
β [Manage members] [Adjust permissions] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.13 Settings
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Settings β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Account β
β don@adverant.ai [Sign out] β
β Tier: Storyteller ($39/mo) [Manage plan] β
β β
β Sync β
β Path: [Dropbox Β· auto] βΎ β
β Frequency: [Every hour] βΎ β
β On Wi-Fi only: [ON ] β
β On battery > 30%: [ON ] β
β β
β Migration (Kindle) β
β Status: Connected Β· last sync 6h ago β
β Position sync: [ON ] β
β Highlight sync: [ON ] β
β Push position back to Kindle: [OFF] β
β β
β Audiobook β
β Engine: [Kokoro Β· default] βΎ β
β Bluetooth: Sony WH-1000XM5 [paired] β
β Sleep timer default: 30 min β
β β
β Inspector overlays β
β Default visibility: [Off] β
β Author mode: [ON ] β
β β
β About β
β Version 1.0.3-koreader Β· build 2026-04-21 β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.14 Sync Status
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Sync Β· status β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Path 1 Β· Dropbox β
β β Authenticated β
β β 14 books in folder β
β β Last sync 14m ago β
β Next sync: β€ 46m β
β β
β Path 4 Β· KOReader plugin β
β β Plugin v1.0.3 installed β
β β Connected β
β Position synced: ch 11, p. 39% β
β β
β Migration Β· Kindle β
β βββββββββββββββββββ 214 titles Β· 90 done β
β ETA: 14 min β
β β
β Last 5 events β
β 2h ago book added: The Curious Tide β
β 2h ago book added: Salt of the Pleiades β
β 14m ago pos sync: ch 11, 39% β
β 14m ago highlight added: ch 11 β
β 14m ago sync ok β
β β
β [Force sync now] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.15 Search
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Search β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β vega tide_ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β In your library (3) β
β ββββββ The Curious Tide Vega 87 β
β β 87 β matches title, author β
β ββββββ β
β ββββββ Tide-Wrack Hain 71 β
β β 71 β matches title β
β ββββββ β
β ββββββ Vega's Other Country [Kindle] Vega β β
β β K β matches author β
β ββββββ β
β β
β In ProseCreator catalog (12 more) β
β Β· The Salt and the Tide Maro 88 β
β Β· Vega Bay Calabasas 79 β
β Β· Tide of the Sister Moons Tarn 91 β
β Β· ... (9 more) β
β β
β In your highlights (4) β
β Β· "tide brings is never what you asked for" β
β Β· ... (3 more) β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.16 Onboarding (PWA, first run)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Welcome to ProseCreator on Kobo β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β We'll set you up in three short steps. β
β β
β 1. Sign in β
β Use your ProseCreator email and password, β
β or sign in with Apple / Google. β
β β
β 2. Choose how books reach your Kobo β
β β Dropbox (recommended) β
β β KOReader plugin (advanced) β
β β USB sideload (manual) β
β β This browser (now) β
β β
β 3. (Optional) Migrate your Kindle library β
β We'll sync metadata, position, and highlights. β
β We never transfer Kindle ebook content. β
β [ ] Connect Amazon β
β [ ] Connect Goodreads β
β β
β [Get started] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.17 Error / Throttled State
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Sync paused β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β We've paused the Kindle migration because Amazon β
β is rate-limiting our requests. We'll resume β
β automatically in about 12 minutes. β
β β
β What this means β
β Β· Your library is safe. β
β Β· The 90 titles already migrated are unchanged. β
β Β· The remaining 124 titles will queue and resume. β
β β
β What you can do β
β Β· Nothing β this is automatic. β
β Β· Or: pause until later if you'd like to use this β
β network for something else. β
β β
β [Resume now (may fail)] [Pause for an hour] β
β β
β Diagnostic β
β Β· Last error: HTTP 429 from kindle-cloud-reader β
β Β· Backoff: 720s (exponential, capped at 60m) β
β Β· Migration ID: 8f4e... β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.18 "Buy on Kobo" Handoff
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Available on Kobo β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββ Salt of the Pleiades β
β β 92 β Maro β
β β β Literary SFF Β· 388pp Β· audio 10h β
β ββββββ β
β β
β You own this on Kindle (purchased 2024-08-12). β
β It's also available on Kobo: β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Kobo store β β
β β $14.99 (or 1 Kobo Plus credit) β β
β β β β
β β Buying here means: β β
β β Β· DRM-free reading on Kobo β β
β β Β· Reading position syncs with your Kindle β β
β β Β· ProseCreator gets a small affiliate share β β
β β β β
β β [Buy] β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Or: borrow from your library via Libby β
β (3 of 4 copies available, OverDrive) β
β β
β β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.19 Reader-to-Author Feedback Dialog
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Send a note to Marisol Vega β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β About: The Curious Tide Β· Chapter 11 β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β the cardinal-at-the-sill image returns here β β
β β beautifully. i didn't realise on first read β β
β β in chapter 4 that you were planting it. β β
β β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Visibility β
β β Private (Marisol only) β
β β Anonymous public note (becomes a comment) β
β β
β Aggregate signal β
β Marisol receives this kind of note in aggregate β
β in her Writers' Room as a "reader resonance" β
β signal β your specific words remain private if β
β you choose Private. β
β β
β [Send] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
A reader feedback channel, optionally aggregated as anonymous resonance signal in the author's Writers' Room β a feature unique to ProseCreator's two-sided platform model.
8.20 Offline Queue
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Offline queue β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β When you're offline, changes queue here and β
β apply when you reconnect. β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β βΌ Position updates (3) β β
β β The Curious Tide ch 11 Β· 39% pending β β
β β Quiet Reckoning ch 4 Β· 12% pending β β
β β Salt of the Pleiades ch 28 Β· 100% pending β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β βΌ Highlights (2) β β
β β The Curious Tide Β· ch 11 Β· 14 words pending β β
β β Quiet Reckoning Β· ch 4 Β· 22 words pending β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β βΌ Notes (1) β β
β β The Curious Tide Β· ch 11 Β· "consider..." β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Status: 6 items queued Β· will sync on Wi-Fi β
β β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.21 Library β Empty State (First-Time User)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator β‘ 73% β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β β
β ββββββββββββββββββββββββ β
β β β’ β£ β’ β£ β β
β β β£ β’ β β
β β [book stack] β β
β β β£ β’ β β
β β β’ β£ β’ β£ β β
β ββββββββββββββββββββββββ β
β β
β Your library is empty β
β βββββββββββββββββββ β
β β
β You have not added any books yet. Three ways: β
β β
β 1. Buy or get a free book from the Discover β
β feed below β
β β
β 2. Add to your Dropbox folder; we will sync β
β within the next hour β
β β
β 3. If you have a Kindle library, migrate it β
β (we sync metadata, not bits) β
β β
β ββββββββββββββββββββ ββββββββββββββββββββ β
β β Browse Discover β β Migrate Kindle β β
β ββββββββββββββββββββ ββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.22 Library β Sort and Filter Modal
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Library [Γ] close β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Sort by β
β β Recently added β
β β Recently read β
β β Title (AβZ) β
β β Author (AβZ) β
β β DNA composite (highβlow) β
β β Word count (longβshort) β
β β Audiobook duration (longβshort) β
β β
β Filter β show only β
β [β] Has audiobook β
β [ ] Has DNA fingerprint β
β [ ] Quality Verified (DNA β₯ 80) β
β [ ] Currently reading β
β [ ] Unread β
β [ ] Migrated from Kindle β
β [ ] Available offline β
β [ ] Owned vs borrowed β
β β
β Filter β DNA range β
β Composite: ββββββββββββββββββββββ β₯ 65 β
β 65 100 β
β Pacing: β―βββββββββββββββββββββ no filter β
β Voice: β―βββββββββββββββββββββ no filter β
β β
β Filter β genre β
β [ ] Thriller [ ] Literary [ ] SFF β
β [ ] Romance [ ] Mystery [ ] Fantasy β
β [ ] Horror [ ] Memoir [ ] YA β
β β
β [Reset all] [Apply 3 filters] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.23 Reading View β Text Size and Font Picker
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Reading appearance [Γ] close β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Font β
β β Bookerly β
β β Caecilia Std β
β β Georgia β
β β Iowan Old Style β
β β OpenDyslexic β
β β Atkinson Hyperlegible β
β β Use book default (publisher) β
β β
β Size β
β βββββββββββββββββββββββββββββββββ β
β A A β
β 12pt 20pt β
β β
β Spacing β
β Line: βββββββββββββ 1.5Γ β
β Margin: βββββββββββββ default β
β Justify: [ON] β
β β
β Theme β
β β White (default) β
β β Sepia β
β β Night (inverted) β
β β Custom (per-book) β
β β
β Sample preview β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β The fog came in low over Mendon Bay that β β
β β morning, the kind of fog that softens the β β
β β edges of every conversation... β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.24 Reading View β Search-in-Book Overlay
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Search in book [Γ] close β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β pelican_ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β 17 matches β
β β
β Chapter 4 β
β β "the lighthouse out at Pelican look likeβ¦" β
β ch4 Β· p.~14% Β· 1 occurrence β
β β
β Chapter 7 β
β β "Pelican was first lit in 1894, before theβ¦" β
β ch7 Β· p.~22% Β· 1 occurrence β
β β
β Chapter 11 (current) β
β β "Pelican Light" β
β ch11 Β· p.~39% Β· 4 occurrences β
β β "Inez was on the rocks before Pelican lit" β
β ch11 Β· p.~40% β
β β
β Chapter 14 β
β β "Pelican was dark when she found him" β
β ch14 Β· p.~50% β
β β
β ... 11 more in chapters 18, 22, 25, 27 β
β β
β [Jump to first] [Show all in TOC] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.25 Reading View β Highlight Color Picker
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Highlight selection β
β βββββββββββββββββββ β
β "the kind of fog that softens the edges β
β of every conversation" β
β β
β Color β
β ββββββ ββββββ ββββββ ββββββ ββββββ β
β β β β β β β β β β β β β β β β β
β ββββββ ββββββ ββββββ ββββββ ββββββ β
β yellow pink green blue underline β
β (mood) (theme)(craft)(quote) (later) β
β β
β Tag β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β + add tag (e.g. #opening #weather) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Note (optional) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β opening establishes mood β prose density β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Privacy β
β β Private β
β β Anonymous reader signal β
β β Public (becomes a comment on author page) β
β β
β [Cancel] [Highlight only] [Save w/ note] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.26 Audiobook Player β Sleep Timer Modal
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Sleep timer [Γ] close β
β βββββββββββββββ β
β β
β β Off β
β β 5 minutes β
β β 15 minutes β
β β 30 minutes β
β β 45 minutes β
β β 60 minutes β
β β End of chapter β
β β End of next chapter β
β β Custom... β
β β
β Behaviour at expiry β
β β Pause (preserve position) β
β β Stop (clear playback queue) β
β β Fade out over 30 seconds β
β β
β Wake word β
β [ ] Resume on shake β
β [β] Resume on tap β
β β
β Currently 03:42 of 15:00 elapsed β
β βββββββββββββββββββββββββββββ β
β β
β [Cancel] [Start timer] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.27 Audiobook Player β Chapter Jump Scrubber
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β The Curious Tide Β· Marisol Vega β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Jump to β
β β
β 1 β Mendon Bay 22:14 β
β ββββββββββββββββββββββββββ β
β 2 β The Lighthouse Keeper's Daughter 19:08 β
β ββββββββββββββββββββ β
β 3 β Inez Comes Home 31:42 β
β ββββββββββββββββββββββββββββββββ β
β βΆ11 β Pelican Light 58:40 β
β ββββββββββββββββββββββββββββββ 42:13 β
β β β
β ββ scene 1: rocks at sunrise 4:12 β
β ββ scene 2: vincent arrives 19:21 β
β ββ scene 3: the lighthouse climb 33:47 β
β ββ scene 4: the artifact 48:14 β
β β
β 12 β The Auction 34:16 β
β ββββββββββββββββββββββββββ β
β β
β Total: 11h 23m Β· resume at 11.42:13 β
β β
β [Jump to scene 3] [Jump to chapter start] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.28 Migration β Title-Detail Expanded
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Migration β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β The Salt-Path Heir Bex β
β βββββββββββββββββββββββ β
β Kindle ASIN B0ABCD1234 purchased 2024 β
β β
β On Kindle β
β Β· Last read: Chapter 22 of 37 β
β Β· Last opened: 2026-04-28 β
β Β· 12 highlights captured β
β Β· 3 notes attached β
β β
β On Kobo β
β β Not in your Kobo library β
β Β· Available on Kobo store: $14.99 β
β Β· Available on Kobo Plus: yes β
β Β· Available via Libby: 3 of 4 copies β
β β
β Cross-ecosystem state β
β Β· Position mirrored in your ProseCreator β
β library β
β Β· Highlights mirrored β
β Β· Notes mirrored β
β β
β Actions β
β βββββββββββββββββββ β
β β Read on Kindle β opens amzn1:// deep link β
β βββββββββββββββββββ β
β βββββββββββββββββββ β
β β Buy on Kobo β $14.99 Β· ProseCreator gets β
β βββββββββββββββββββ affiliate share β
β βββββββββββββββββββ β
β β Borrow Libby β 3 copies available now β
β βββββββββββββββββββ β
β β
β Note: ProseCreator does not transfer Kindle ebook β
β content. The book stays where you bought it. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.29 Migration β Conflict Resolution Dialog
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Position conflict β Salt of the Pleiades β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Two devices reported different positions for β
β this book. We need your input. β
β β
β Kobo (Libra Color, "kobo-7f2a") β
β βββββββββββββββββββββββββββββ β
β Chapter 14, p. 71% β
β Last update: 2 hours ago β
β Reading session: 47 minutes β
β β "the constellations resolved into a face" β
β β
β Kindle (iPad, "kindle-tablet-3e91") β
β βββββββββββββββββββββββββββββ β
β Chapter 12, p. 58% β
β Last update: 4 days ago β
β Reading session: 22 minutes β
β β "she could not name the song the lights β
β made" β
β β
β Recommended: Kobo (more recent, longer session) β
β β
β β Use Kobo position (default) β
β β Use Kindle position β
β β Keep both (no merge β manual) β
β β Prompt me again next sync β
β β
β Highlights are merged automatically as a union. β
β β
β [Apply] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.30 Migration β Disconnect Confirmation
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Disconnect Amazon migration? β
β βββββββββββββββββββββββββββ β
β β
β What happens β
β Β· Your Kindle mirror (214 titles) is preserved β
β and remains visible in your library. β
β Β· No new metadata, position, or highlight β
β updates will sync from Kindle. β
β Β· Your existing position and highlight data on β
β Kobo and ProseCreator remain. β
β Β· You can reconnect at any time. β
β β
β What is not affected β
β Β· Books already on your Kobo via Dropbox or β
β USB stay there. β
β Β· Your Kindle library on Amazon is untouched β
β (we never modify your Amazon account). β
β β
β Optional cleanup β
β [ ] Also delete the Kindle mirror in our DB. β
β β
β [Cancel] [Disconnect] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.31 Settings β Sync Path Picker (Detail)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Settings Β· Sync β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Active path β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β Path 1 β Dropbox (recommended) β β
β β Active Β· last sync 14m ago β β
β β Folder: /Apps/ProseCreator/Library β β
β β Setup: 2 minutes Β· users: 12,400+ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β Path 2 β OPDS Catalog β β
β β Requires KOReader on device β β
β β Most ecosystem-clean choice β β
β β Setup: 10 minutes Β· users: ~600 β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β Path 3 β USB Sideload β β
β β Requires desktop helper application β β
β β No cloud authorisation β β
β β Setup: 5 minutes Β· users: ~1,200 β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β Path 4 β KOReader Plugin β β
β β Requires Nickel Menu + KFMon + plugin β β
β β Richest experience for power users β β
β β Setup: 30 minutes Β· users: ~400 β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β Path 5 β Browser PWA β β
β β No install Β· streams only Β· degraded UX β β
β β Setup: instant Β· users: ~80 per session β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Hybrid mode β
β [β] Auto-select best path based on capability β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.32 Settings β Audiobook Engine Picker (Cost Preview)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Settings Β· Audiobook engine β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Default engine for new audiobook generation β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β Kokoro (open-source Β· default) β β
β β Β· ~$0.21 per 88,000-word novel β β
β β Β· ~real-time on H100 GPU β β
β β Β· 10-voice library, English-led β β
β β Β· counts against your monthly allowance β β
β β Β· self-hostable; no third party β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β ElevenLabs Flash β β
β β Β· ~$35.91 per 88,000-word novel β β
β β Β· ~0.4Γ real-time (very fast) β β
β β Β· 100+ voices Β· 32 languages β β
β β Β· counts at 4Γ your character allowance β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β ElevenLabs Turbo β β
β β Β· ~$49 per 88,000-word novel β β
β β Β· near-real-time β β
β β Β· higher fidelity than Flash β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β ElevenLabs Multilingual v2 β β
β β Β· ~$98 per 88,000-word novel β β
β β Β· highest fidelity, best multilingual β β
β β Β· counts at 11Γ your character allowance β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β This month β
β Used: 142,300 / 500,000 chars (Storyteller tier) β
β Remaining: 357,700 β
β β
β Override per book is available in book settings. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.33 Settings β Inspector Panel Toggle
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Settings Β· Inspector panels β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Inspector overlays show DNA-derived analysis on β
β the page as you read. They are author-mode only β
β unless explicitly enabled here. β
β β
β Visibility β
β β Always show β
β β Show on tap β
β β Author mode only (default) β
β β Hide entirely β
β β
β Panels β
β [β] Pacing β
β [β] Continuity β
β [ ] Dialogue β
β [β] Character consistency β
β [ ] Plot holes β
β [β] Matesic craft analyzer β
β [ ] Theme β
β [β] Trope checker β
β [ ] World consistency β
β [ ] Timeline β
β [ ] Argument structure β
β [ ] Retention curve β
β [ ] LinkedIn format checker (n/a for fiction) β
β β
β Trigger β
β Position in text: [β] long-press 1.0s β
β Stylus action: [ ] hover β
β On chapter boundary: [ ] auto-show β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.34 Settings β Tier Upgrade Flow
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Upgrade your plan β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β You are currently on Storyteller ($39/mo) β
β β
β βββ βββ βββ βββ βββ βββ βββ βββ βββ βββ βββ βββ β
β β
β Explorer Author Storyteller Publisher Studio β
β $0 $19/mo $39/mo (now) $79/mo $199/mo β
β β
β 1 book 3 books 10 books Unlimited Unlimited β
β 50K wd 200K wd 500K wd 2M wd 10M wd β
β 1 cnj 2 cnj 2 cnj 5 cnj 10 cnj β
β β
β βββ βββ βββ βββ βββ βββ βββ βββ βββ βββ βββ βββ β
β β
β Upgrade to Publisher β
β ββββββββββββββββββ β
β You get: β
β Β· Unlimited books β
β Β· 2,000,000 audiobook chars/month (4Γ current) β
β Β· 5 concurrent generation jobs β
β Β· Advanced Style Fingerprint comparators β
β Β· API access (read-only) β
β β
β Prorated charge today: $32.43 β
β Next billing 2026-06-01: $79.00 β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Upgrade to Publisher β $79/mo β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β See full feature comparison Β· Cancel anytime β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.35 Family β Invite Member Flow
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Family Β· invite a member β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Member email β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β frank@example.com β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Member name (display only) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Frank β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Default permissions for this member β
β [β] See shared shelf books β
β [β] Listen to shared audiobooks β
β [β] Sync own reading position β
β [β] Add personal highlights (private to them) β
β [ ] Add to shared shelf β
β [ ] Invite other members β
β [ ] Approve content for children β
β β
β Content filter β
β Apply DNA filter: β
β Composite β₯ βββββββββββ 60 β
β Emotional β―βββββββββ no filter β
β β
β Audiobook minutes from your tier per month β
β Reserve for this member: ββββββββ 100 min β
β β
β [Cancel] [Send invite] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.36 Family β Permission Detail (Per Member)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Family Β· permissions for Frank β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Frank β joined 2026-04-12 Β· last active 1h ago β
β β
β Library access β
β Currently shared: 4 of 14 books β
β Β· The Curious Tide [revoke] β
β Β· Salt of the Pleiades [revoke] β
β Β· Quiet Reckoning [revoke] β
β Β· The Cardinal at the Sill [revoke] β
β [add more from library] β
β β
β Audiobook β
β Allowance: 100 minutes / month β
β Used: 74 minutes β
β ββββββββββββββββ 74% β
β Adjust allowance: ββββββββ 100 min β
β β
β Sync β
β Reading position visible in family shelf: [ON] β
β Highlights visible in family shelf: [OFF] β
β β
β Removal β
β [Remove Frank from family] β
β All shared content stops syncing to his Kobo. β
β His personal data stays on his account. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.37 Family β Member Removal Confirmation
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Remove Frank from your family? β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β What happens to Frank β
β Β· His ProseCreator account remains active β
β Β· All books shared from your shelf are removed β
β from his next sync (β€ 1 hour) β
β Β· His own highlights, notes, and reading β
β positions are preserved on his account β
β Β· His audiobook allowance reverts to his own β
β account's tier (currently Explorer / 0 min) β
β β
β What happens to you β
β Β· Frank is removed from your family settings β
β Β· The 100 min/month you reserved for him β
β returns to your monthly allowance β
β Β· His name no longer appears on your shared β
β shelf β
β β
β Notification β
β [β] Notify Frank by email β
β [ ] Send a custom message β
β β
β [Cancel] [Remove Frank] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.38 Discovery β Filter Dialog
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Discover Β· refine [Γ] close β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Style β
β Closeness to: ββββββββββββββββββββββββββββββ β
β β The Curious Tide (current) β β
β ββββββββββββββββββββββββββββββ β
β Comparator distance: βββββββββββββ β€ 0.20 β
β β
β DNA filters β
β Composite β₯ βββββββββββββββ 80 β
β Pacing Quality β₯ βββββββββββββββββ 60 β
β Voice Consistency β₯βββββββββββββββββ 60 β
β Continuity β₯ βββββββββββββββββ 70 β
β Emotional Resonance: any β
β AI Detection β€ βββββββββββββββββ 40 β
β β
β Genre (multi-select) β
β [β] Thriller [ ] Literary [ ] SFF β
β [ ] Romance [β] Mystery [ ] Fantasy β
β [ ] Horror [ ] Memoir [ ] YA β
β β
β Audiobook β
β [β] Has audiobook β
β [ ] Multi-voice cast (Character Bible-derived) β
β β
β Author β
β Tier: any β
β Quality Verified status: [β] yes [ ] either β
β β
β Length β
β Word count: ββββββββββββββ 20K β 120K β
β Audiobook: βββββββββββββ 3h β 14h β
β β
β [Save preset] [Reset] [Apply] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.39 Discovery β Book Detail Card (Deep)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Discover β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββ The Curious Tide β
β β 86.7 β by Marisol Vega β
β β /100 β Thriller Β· 412pp Β· audiobook 11h 23m β
β ββββββββ Composite: 86.7 Β· Genre %ile: 88 β
β β
β Transparency: Human-Written (AI Detection: 8/100) β
β β
β Digital DNA β by dimension β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Character Depth βββββββββββββββββ 91 β β
β β Plot Architecture βββββββββββββββββ 88 β β
β β World Coherence βββββββββββββββββ 79 β β
β β Trope Execution βββββββββββββββββ 82 β β
β β Voice Consistency βββββββββββββββββ 90 β β
β β Pacing Quality ββββββββββββββββββ 93 β β
β β Continuity ββββββββββββββββββ 95 β β
β β Style Fingerprint βββββββββββββββββ 84 β β
β β Dialogue Quality βββββββββββββββββ 87 β β
β β AI Detection βββββββββββββββββ 8 β β
β β Structural Integrity βββββββββββββββββ 89 β β
β β Emotional Resonance βββββββββββββββββ 85 β β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Style fingerprint comparators β
β Β· Pleiades Bay (Maro) distance 0.14 β
β Β· The Cardinal Sister (Hain) distance 0.18 β
β Β· Tide of the Sister Moons (Tarn) distance 0.22 β
β β
β Pre-read briefing β
β "A slow-burn thriller anchored to a coastal β
β lighthouse and a missing artifact. Voice is β
β tightly disciplined; pacing accelerates after β
β chapter 19." β
β β
β [Add to library] [Audiobook only] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.40 Highlights β Note Edit
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Highlights β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β The Curious Tide Β· Chapter 1 β
β β
β β "the kind of fog that softens the edges β
β of every conversation" β
β β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Note β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β opening establishes mood β prose density β β
β β β β β
β β on second read i notice the verb softens β β β
β β vega is doing something with softening as a β β
β β structural verb across the book. cf. ch7 β β
β β "softens the news" and ch11 "softens the β β
β β light". β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Tags #opening #weather #vega-language + β
β β
β History β
β v1 Β· 2026-04-30 Β· "opening establishes mood..." β
β v2 Β· 2026-05-01 Β· added prose density note β
β βΆv3 Β· 2026-05-02 Β· current β
β β
β Privacy: Private β
β β
β [Cancel] [Delete] [Save] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.41 Notifications Center
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Notifications β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Today β
β βββββ β
β β Audiobook ready: The Curious Tide β
β Generated via Kokoro Β· 11h 23m Β· 88,440 chars β
β 1h ago β
β β
β β Frank started reading Salt of the Pleiades β
β 2h ago β
β β
β β Position synced: ch 11, p. 39% β
β 14m ago β
β β
β Yesterday β
β βββββββββ β
β β Migration finished: 214 titles imported β
β 22h ago β
β β
β β 3 highlights added in The Curious Tide β
β 18h ago β
β β
β This week β
β ββββββββββ β
β β Marisol Vega published a new short story β
β "The Pelican Returns" Β· audiobook included β
β 3d ago β
β β
β β Quality Verified: Salt of the Pleiades (Maro) β
β 4d ago β
β β
β [Mark all read] [Filter] [Settings] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.42 Sync Conflict Resolution (Highlights)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Highlight conflict β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Both Kobo and Kindle have a highlight at the β
β same passage but with different notes. β
β β
β Passage β
β β "what the tide brings is never what you asked β
β for but always what you needed" β
β Chapter 4 Β· word offset 12,840β12,884 β
β β
β Kobo note (you, 1d ago) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β theme statement β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Kindle note (you, 5d ago) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β this is the heart of the book β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Resolution β
β β Keep both as a combined note (recommended) β
β β Keep Kobo only (more recent) β
β β Keep Kindle only β
β β Edit a merged version now β
β β
β Combined preview: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β theme statement β β
β β β β β
β β this is the heart of the book β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β [Cancel] [Apply] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.43 Account β Billing Summary
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Account Β· billing β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Current plan β
β Storyteller $39.00 / month β
β Active since 2025-09-04 β
β Next billing 2026-06-01 $39.00 β
β β
β Usage this month β
β Books in library 14 / 10 (over)* β
β Audiobook chars 142,300 / 500,000 β
β Concurrent jobs 1 / 2 peak β
β β
β * We never delete books for going over your tier β
β limit. We will prompt you to upgrade or pause β
β new audiobook generation. β
β β
β Recent invoices β
β 2026-05-01 $39.00 paid [download PDF] β
β 2026-04-01 $39.00 paid [download PDF] β
β 2026-03-01 $39.00 paid [download PDF] β
β 2026-02-01 $39.00 paid [download PDF] β
β 2026-01-01 $39.00 paid [download PDF] β
β β
β Payment method β
β VISA ending 4242 expires 09/28 [update] β
β β
β [Change plan] [Pause] [Cancel] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.44 Account β DPA / Data Export
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Account Β· privacy and data β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Your data on ProseCreator β
β β
β Export all of it β
β We assemble a ZIP with: β
β Β· Profile and account settings β
β Β· Library metadata (titles, authors, dates) β
β Β· Reading positions across all books β
β Β· Highlights and notes (every version) β
β Β· Generated audiobooks (M4B files) β
β Β· DNA fingerprints for any books you authored β
β Β· Migration mirror (Kindle/Goodreads metadata) β
β We do NOT include any third-party DRM-protected β
β ebook content (we never store it). β
β β
β [Request export β by email in 24h] β
β β
β Delete your account β
β We delete: β
β Β· Your profile and authentication β
β Β· All position, highlight, and note data β
β Β· Your migration mirror β
β Β· Generated audiobooks (any tier) β
β We retain (legal requirement): β
β Β· Billing history (7 years) β
β Β· Anonymised usage telemetry (no PII) β
β β
β [Delete account β final confirmation] β
β β
β Subprocessors β
β See the full DPA at adverant.ai/legal/dpa β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.46 Chat β Book Scope (Default Open)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Ask about: The Curious Tide [Γ] close β
β Reading at: chapter 11, p. 39% β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Suggested β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β What just happened? β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β Who is at the lighthouse? β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β What is the cardinal symbol? β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββ Or ask anything βββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β type or stylus-write β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Scope β
β β This book (default) β
β β My whole library β
β β ProseCreator catalog (discovery) β
β β
β Privacy β
β [β] Save to chat history β
β [ ] Use for personalisation β
β β
β Powered by GraphRAG over your library. β
β We never train on your chats. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.47 Chat β Conversation in Progress
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Chat about: The Curious Tide β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β You Β· 2m ago β
β βββββ β
β what just happened in chapter 11? β
β β
β ProseCreator Β· just now β
β βββββββββββββββββ β
β Inez climbed Pelican Light at sunrise to look at β
β the artifact she had taken from the rocks at β
β chapter 4. Vincent followed her up the spiral β
β stairs, and the two had the conversation about β
β her father that has been deferred since chapter 7. β
β The chapter ends with Inez deciding to take the β
β artifact to Marisol's auction in two days. β
β β
β Cited β
β Β· ch11 ΒΆ3 β "Inez was on the rocks before sunrise" β
β Β· ch11 ΒΆ14 β "Vincent had not climbed the β
β stairs since his father..." β
β Β· ch11 ΒΆ22 β "She would take it to the auction" β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β what about the cardinal? β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β does Vincent know about the artifact yet? β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β follow-up question β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.48 Chat β Library Scope
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Ask across your library β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β You β
β βββββ β
β which books in my library do i highlight passages β
β about grief? β
β β
β ProseCreator β
β βββββββββββββ β
β Three books in your 14-book library carry β
β highlights tagged or thematically about grief: β
β β
β 1. Salt of the Pleiades β Maro β
β Ch. 22 highlight: "she had carried him for β
β so long he was a season" β
β 4 highlights total related to grief. β
β β
β 2. Quiet Reckoning β Hain β
β Ch. 4 highlight: "the smaller hurts that β
β remain when the larger ones go" β
β 2 highlights total. β
β β
β 3. The Curious Tide β Vega β
β Ch. 7 highlight: "the cardinal at the sill" β
β 1 highlight (currently reading). β
β β
β The three books share a Style Fingerprint cluster β
β (Voice Consistency 88β92, Emotional Resonance β
β 85+). Want to see books with similar fingerprints β
β that you haven't read yet? β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β yes show me β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.49 Chat β Discovery (Global Scope)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Discover via chat β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β You β
β βββββ β
β recommend a slow-burn thriller with a coastal β
β setting and a strong female lead β
β β
β ProseCreator β
β βββββββββββββ β
β Three from the Marketplace match well: β
β β
β ββββββ Tide-Wrack Hain 71 β
β β 71 β Coastal thriller, lead: Astrid (47) β
β β β Pacing: 76 (your avg: 82) β
β β β Style fp distance from Vega: 0.18 β
β ββββββ β
β β
β ββββββ The Cardinal Sister Hain 87 β
β β 87 β Coastal thriller, lead: SolΓ¨ne (38) β
β β β Pacing: 89 β
β β β Note: same author as Tide-Wrack; β
β β β similar voice fp β
β ββββββ β
β β
β ββββββ Pleiades Bay Maro 88 β
β β 88 β Coastal SFF (not strict thriller); lead: β
β β β Tova (29). Voice fp 0.14 from Vega. β
β ββββββ β
β β
β I weighted Pacing β₯ 70 and Voice Consistency β₯ 80 β
β based on your prior reads. Adjust the filter? β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.50 Chat β Author Mode (Draft-Aware)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Author chat Β· The Curious Tide [DRAFT v.42] β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β You β
β βββββ β
β is the cardinal-at-the-sill image foreshadowed β
β enough by chapter 4? β
β β
β ProseCreator β
β βββββββββββββ β
β The cardinal appears explicitly in three places β
β before chapter 11: β
β Β· ch1 ΒΆ7 β "a cardinal flicked past the kitchen β
β window" (incidental, not flagged) β
β Β· ch4 ΒΆ21 β "she remembered her father's habit β
β of leaving sugar at the sill" (cardinals β
β elided; sugar is the proxy) β
β Β· ch7 ΒΆ3 β "the cardinal at the sill was an β
β omen" (explicit symbolic naming, first time) β
β β
β Inspector finding (planted earlier today): β
β "Symbol introduction at ch7 may feel abrupt β
β because ch4 reference is implicit; consider one β
β more cardinal reference between ch4 and ch7." β
β β
β Suggestion: a one-line cardinal reference in β
β ch5 or ch6 β perhaps in the Vincent-at-the-pier β
β scene where the symbolism could be planted as β
β environment without yet being named. β
β β
β Want me to draft three candidate insertions? β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β yes draft three β β
β βββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.51 Chat β Inline (From Reading View)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β The Curious Tide Β· ch 11 β
β β
β morning, the kind of fog that softens the β
β edges of every conversation and makes the β
β lighthouse out at Pelican look like a β
β rumour. Inez was on the rocks before β
β sunrise, knowing that whatever she found β
β would matter more than what she had been β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Ask about this passage β β
β β β β
β β βββββββββββββββββββββββββββββββββββββββββββ β β
β β β what does "rumour" mean here? β β β
β β βββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β Vega uses "rumour" three times in this β β
β β book β always for things half-known or β β
β β half-believed. Here the lighthouse is β β
β β literally hidden by fog and figuratively β β
β β hidden in Inez's understanding (we know β β
β β from ch7 that her father died there). The β β
β β fog makes the building uncertain, and the β β
β β word "rumour" reflects Inez's emotional β β
β β uncertainty about going back. β β
β β β β
β β [more] [highlight] β β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β told to find. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.52 Chat β Voice / Stylus Input
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Ask β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β β βββ βββ βββ βββ ββ β β β
β β wat happns whn vinct comes bac? β β
β β (your handwriting) β β
β β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Recognised text β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β what happens when Vincent comes back? β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β [Edit] [Re-write] [Ask] β
β β
β β
β Or use a Bluetooth microphone β
β (speech-to-text via Apple/Google services on β
β paired phone; results stream back to Kobo) β
β ββββββββββββββ β
β β π€ hold β β
β ββββββββββββββ β
β β
β β
β Note: the Kobo browser does not have native β
β speech-to-text. Voice via paired phone microphone β
β requires the ProseCreator phone app installed. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.53 Chat β History
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Chat history β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Today β
β Β· The Curious Tide β what just happened in ch11 β
β 14m ago Β· 4 turns β
β Β· Library β books about grief β
β 2h ago Β· 3 turns β
β β
β Yesterday β
β Β· Salt of the Pleiades β who is Tova β
β 1d ago Β· 6 turns β
β Β· Discovery β slow-burn thriller coastal β
β 1d ago Β· 5 turns β
β β
β This week β
β Β· The Curious Tide β pacing of chapter 7 β
β 3d ago Β· 8 turns β
β Β· Author chat β cardinal foreshadow review β
β 4d ago Β· 12 turns (saved as research note) β
β β
β Filter β
β [β] Book scope β
β [β] Library scope β
β [β] Discovery β
β [β] Author chats β
β β
β [Search history] [Export] [Delete all] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.54 Chat β Citation Detail (Tap to Expand)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Citation Β· ch11 ΒΆ3 β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β From: The Curious Tide Β· Marisol Vega β
β Chapter 11: Pelican Light β
β Position: word offset 38,440β38,612 β
β β
β Passage β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Inez was on the rocks before sunrise, knowing β β
β β that whatever she found would matter more β β
β β than what she had been told to find. β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Why ProseCreator cited this β
β The chat asked "what just happened" and the β
β GraphRAG retrieval scored this paragraph as the β
β highest-relevance summary anchor for chapter 11 β
β (relevance 0.91, semantic similarity 0.87). β
β β
β Related entities β
β Β· Inez Marlowe (Character) β
β Β· Pelican Light (World element Β· Location) β
β Β· The Artifact (Plot thread, ch4βongoing) β
β β
β [Jump to passage in book] β
β [Highlight this passage] β
β [Show full chat turn] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.55 Chat β Settings
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Settings Β· Chat β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Default scope β
β β This book (when one is open) β
β β My whole library β
β β Always ask β
β β
β Streaming β
β Refresh strategy: β
β β Sentence-boundary (e-ink-friendly) β
β β Token-stream (more responsive) β
β β All-at-once β
β β
β Citations β
β [β] Always show cited passages β
β [β] Allow tap-to-jump from citations β
β [ ] Auto-highlight cited passages β
β β
β History β
β Retain conversations: β
β β Forever β
β β 90 days β
β β 30 days β
β β Until I close β
β β
β Personalisation β
β [ ] Use my reading history to inform answers β
β [ ] Use my highlights to inform answers β
β (default: OFF for privacy; on-by-account-only) β
β β
β Provider β
β LLM: ProseCreator default (Anthropic Claude) β
β Override per-conversation in chat menu. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
8.56 First-Launch Tutorial Overlay
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β 1 / 4 Β· Your library β β
β β ββββββββββββββ β β
β β β β
β β Books appear here as they sync from your β β
β β Dropbox folder, KOReader catalog, or USB. β β
β β β β
β β Each cover has a number (DNA composite). It β β
β β tells you how the book scored across 12 β β
β β structural and quality dimensions. β β
β β β β
β β Tap a cover to start reading. β β
β β β β
β β βββββββ β β
β β β β
β β [Skip] [Next] β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββ The Curious Tide Vega 87 β
β β 87 β ββββββββββββββββββββββββββ 39% β
β ββββββ β
β ββββββ Salt of the Pleiades Maro 92 β
β β 92 β new β
β ββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
9. User Journeys
This section presents four ASCII flowcharts of user journeys through the proposed Kobo experience. Each starts at a recognisable moment (a purchase, a sign-up, an opening of the device) and ends at a state of stable use.
9.1 Reader Journey
ββββββββββββββββββββ
β buys ProseCreatorβ
β ebook on web β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ no ββββββββββββββββββββ
β kobo configured? βββββββββββββ>β open onboarding β
β β β PWA on kobo β
ββββββββββ¬ββββββββββ β β
β yes β choose path: β
βΌ β β Dropbox β
ββββββββββββββββββββ β β KOReader β
β epub + audiobook β β β USB β
β pushed to chosen β ββββββββββ¬ββββββββββ
β delivery path β β
ββββββββββ¬ββββββββββ β
β β
βΌ βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β book appears on kobo home screen β
β with DNA composite badge (e.g. 86.7) β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β user taps cover β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β reading begins; inspector overlay available β
β via tap; position syncs back via Path 1/4 β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ yes ββββββββββββββββββββ
β user wants audio?ββββββββββββ>β audiobook player β
ββββββββββ¬ββββββββββ β launches; bt β
β no β device selected β
βΌ ββββββββββ¬ββββββββββ
ββββββββββββββββββββ β
β finishes book β<βββββββββ-βββββββββββ
β highlights sync β
β to cloud β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β discovery feed surfaces 4 books with similar β
β style fingerprint β
ββββββββββββββββββββββββββββββββββββββββββββββββ
9.2 Author Journey
ββββββββββββββββββββ
β author writes a β
β chapter on web β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ
β inspector flags β
β a pacing issue β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β author opens "preview on kobo" link from web β
β β draft EPUB (tagged DRAFT v.42) pushed to β
β kobo via dropbox β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β reads draft on β
β kobo as a reader β
β would β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ yes ββββββββββββββββββββ
β pacing felt βββββββββββ>β writes inline β
β correct? β β author note via β
ββββββββββ¬ββββββββββ β kobo plugin β
β no ββββββββββ¬ββββββββββ
βΌ β
ββββββββββββββββββββ β
β writes inline β β
β revision note β β
ββββββββββ¬ββββββββββ β
β β
ββββββββββββββββ¬ββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β note syncs back to web app; appears in β
β chapter editor as a TODO comment β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β author returns to web; revises; loop β
ββββββββββββββββββββββββββββββββββββββββββββββββ
9.3 Migrant Journey (Kindle to Kobo, first time)
ββββββββββββββββββββ
β user signs up β
β for ProseCreator β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ
β selects "I have β
β a Kindle library"β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β disclosure screen: β
β Β· we sync metadata + position + highlights β
β Β· we do NOT transfer ebook content β
β Β· what you can do with your library outside β
β our platform is your concern β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β user authenticatesβ
β amazon + good- β
β reads via OAuth-ishβ
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β migration runs Β· 214 titles Β· ETA 14 min β
β rate-limited at 1 req / 1.5s β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ yes ββββββββββββββββββββ
β rate-limited? βββββββββββ>β pause 12 min, β
β β β resume β
ββββββββββ¬ββββββββββ ββββββββββ¬ββββββββββ
β no β
βΌ β
ββββββββββββββββββββββββββββββββββββββββββββββββ
β all 214 in mirror; user library now shows β
β kindle items tagged [K] β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β for each kindle item: search kobo store + β
β libby; offer "buy on kobo" / "borrow" β
ββββββββββββββββββββββββββββββββββββββββββββββββ
9.4 Family Journey
ββββββββββββββββββββ
β marisol creates β
β family with 3 β
β members β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β frank + sofia receive invite emails; β
β accept on their own kobos β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β marisol grants β
β shared access to β
β 7 books β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β books appear on frank's + sofia's kobos β
β via their dropbox folders (or koreader β
β catalog) β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ yes ββββββββββββββββββββ
β same book read βββββββββββ>β position visible β
β by 2 members? β β in family shelf β
ββββββββββ¬ββββββββββ β (no merge) β
β no ββββββββββ¬ββββββββββ
βΌ β
ββββββββββββββββββββ β
β each reads on β β
β their device β β
ββββββββββ¬ββββββββββ β
β β
ββββββββββββββββ¬ββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β aggregated audiobook minutes appear in β
β family shelf for billing transparency β
ββββββββββββββββββββββββββββββββββββββββββββββββ
9.5 Tier Upgrade Journey
ββββββββββββββββββββ
β user hits a soft β
β tier limit β
β (e.g. 11th book) β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β web/app shows soft prompt: β
β "your storyteller tier covers 10 books; β
β you can keep going β we won't delete β
β anything β but new audiobook generation β
β pauses until you upgrade or wait." β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ accept ββββββββββββββββββ
β user reviews ββββββββββββ> β stripe portal β
β Publisher tier β β confirms β
β ($79/mo, 2M chr) β β upgrade β
ββββββββββ¬ββββββββββ ββββββββββ¬ββββββββ
β defer β
βΌ βΌ
ββββββββββββββββββββ ββββββββββββββββββ
β usage continues β β allowance β
β at storyteller β β raised in DB β
β until next renew β β effective now β
ββββββββββββββββββββ ββββββββββ¬ββββββββ
β
βΌ
ββββββββββββββββββ
β paused audio- β
β book jobs β
β resume β
ββββββββββββββββββ
9.6 Audiobook Generation Request Journey
ββββββββββββββββββββ
β user opens book β
β without audio β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ
β "generate audio" β
β button shown β
β in book detail β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β engine picker (8.32): β
β β Kokoro Β· ~$0.21 Β· ~real-time β
β β ElevenLabs Flash Β· ~$36 Β· ~0.4Γ rt β
β β ElevenLabs Multilingual v2 Β· ~$98 Β· rt β
β pre-flight: 88,440 chars β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ yes ββββββββββββββββββββ
β allowance enough?ββββββββββββ> β job dispatched β
ββββββββββ¬ββββββββββ β to Workflows; β
β no β ETA 11h via β
βΌ β kokoro β
ββββββββββββββββββββ ββββββββββ¬ββββββββββ
β prompt upgrade β β
β or pick smaller β β
β engine β β
ββββββββββ¬ββββββββββ β
β β
ββββββββββββββββ¬ββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β progress visible in operations page; β
β ws notification emits at 30/60/90/100% β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β M4B + timing-map JSON written to user β
β library; pushed via Path 1 to kobo β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β device-side notification: "audio ready" β
β player launches on tap β
ββββββββββββββββββββββββββββββββββββββββββββββββ
9.7 Conflict Resolution Journey
ββββββββββββββββββββ
β background sync β
β detects diverged β
β position records β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ minor ββββββββββββββββββββ
β delta < 1 chap? ββββββββββββ> β auto-resolve β
β β β last-writer-wins β
ββββββββββ¬ββββββββββ β silently β
β no ββββββββββββββββββββ
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β conflict notification surfaces; (8.29) β
β user sees both candidates with metadata β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ pick ββββββββββββββββββββ
β user resolves β kobo/kindle β canonical pos β
β explicitly ββββββββββββ> β written; pushed β
β β β to all devices β
ββββββββββ¬ββββββββββ ββββββββββ¬ββββββββββ
β keep both β
βΌ β
ββββββββββββββββββββ β
β both stored as β β
β candidates; β β
β flagged on β β
β device β β
ββββββββββ¬ββββββββββ β
β β
ββββββββββββββββ¬ββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β event written to sync log; β
β resolution audit trail per book β
ββββββββββββββββββββββββββββββββββββββββββββββββ
9.8 Lost Device Recovery Journey
ββββββββββββββββββββ
β user loses kobo β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β from web app Β· settings Β· devices β
β user revokes the lost device's JWT β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β all subsequent β
β kobo plugin/PWA β
β requests from β
β that device 401 β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β data integrity: β
β Β· books on lost device are encrypted at β
β rest by kobo (no extra protection from us) β
β Β· highlights+positions already synced are β
β safe in cloud β
β Β· no platform-side action can wipe a device β
β we don't own β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β user pairs new β
β kobo via 6-char β
β pairing code β
β (10.5) β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β library + positions + highlights re-sync to β
β new device on first connection β
ββββββββββββββββββββββββββββββββββββββββββββββββ
9.9 Subscription Cancellation Journey
ββββββββββββββββββββ
β user opens β
β account Β· billingβ
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ
β taps "cancel" β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β retention prompt (single-screen, no spam): β
β Β· "what could we have done better?" β
β Β· offer pause for 30/60/90 days β
β Β· offer downgrade to Author or Explorer β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ confirm ββββββββββββββββββββ
β user confirms ββββββββββββ-> β stripe cancel β
β cancellation β β at period end β
ββββββββββ¬ββββββββββ ββββββββββ¬ββββββββββ
β pause or β
β downgrade β
βΌ β
ββββββββββββββββββββ β
β tier adjusted; β β
β books retained β β
ββββββββββββββββββββ β
βΌ
ββββββββββββββββββββ
β at period end: β
β Β· tierβExplorer β
β Β· books retainedβ
β Β· audio retainedβ
β Β· sync continuesβ
β on Path 1 β
ββββββββββββββββββββ
9.10 First-Launch Onboarding Journey
ββββββββββββββββββββ
β user installs β
β KOReader plugin β
β OR opens PWA β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β welcome (8.16): three steps β
β 1. sign in (email/Apple/Google) β
β 2. choose path β
β 3. (optional) migrate kindle β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β pairing code β
β exchange (10.5) β
β or web sign-in β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β tutorial overlay (8.45) β 4 panels: β
β 1. library β
β 2. reading β
β 3. audiobook β
β 4. discovery β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β initial library sync triggers β
β Β· path 1: dropbox folder hydrated β
β Β· path 4: koreader catalog populated β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β first book opens β
β within 2-3 min β
β of first launch β
ββββββββββββββββββββ
9.11 Cross-Device Handoff Journey
ββββββββββββββββββββ
β user reading on β
β phone (web app) β
β chapter 8 p.42% β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β user picks up kobo β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ yes ββββββββββββββββββββ
β recent position βββββββββββ> β "continue from β
β for this book on β β phone? ch 8 42%" β
β a different dev? β β banner shown β
ββββββββββ¬ββββββββββ ββββββββββ¬ββββββββββ
β no β
βΌ βΌ
ββββββββββββββββββββ ββββββββββββββββββββ
β open at last β β tap β kobo opens β
β kobo position β β at phone positionβ
ββββββββββββββββββββ ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ
β subsequent reads β
β on kobo update β
β canonical pos β
ββββββββββββββββββββ
9.12 Bug Report Journey
ββββββββββββββββββββ
β user encounters β
β a sync failure β
β (8.17 surfaces) β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ
β tap "report" β
β on error screen β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β pre-filled report: β
β Β· device id β
β Β· plugin/PWA version β
β Β· error code (HTTP 429) β
β Β· last 50 sync events β
β Β· diagnostic correlation id β
β user adds optional comment. β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β submitted to support; correlation id β
β returned for tracking on user's account β
β status page β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β if root-cause determined to be platform: β
β Β· fix shipped to all users on next release β
β Β· user notified by email β
β if root-cause local (network, account): β
β Β· resolution notes posted on the user's β
β status page β
ββββββββββββββββββββββββββββββββββββββββββββββββ
9.13 Chat Journey (GraphRAG-Backed)
ββββββββββββββββββββ
β user reading on β
β kobo at ch11 39% β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ
β taps π¬ menu β
β chat opens (8.46)β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββ
β default scope = β
β this book β
β (Curious Tide) β
ββββββββββ¬ββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β user picks suggested chip OR writes/types β
β (handwriting recognition for stylus, 8.52) β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β query sent to ProseCreator chat orchestrator β
β payload: { user_id, book_id, β
β scope: "book", query, history_id }β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β orchestrator dispatches GraphRAG retrieval β
β Β· Neo4j subgraph for relevant entities β
β Β· Qdrant vector retrieval per-passage β
β Β· merge + rank + window for LLM context β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β AI Provider Router synthesises response β
β streams back via SSE or WS β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β device renders sentence-by-sentence to avoid β
β e-ink ghosting β
β citations attached as tap-to-jump anchors β
ββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ follow-up ββββββββββββββββββββ
β user satisfied? ββββββββββββββββ>β types next turn β
ββββββββββ¬ββββββββββ β (loop) β
β yes ββββββββββββββββββββ
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β chat persisted; available across devices; β
β tap a citation jumps to passage in book β
ββββββββββββββββββββββββββββββββββββββββββββββββ
10. Connection Schemas
This section presents the JSON contracts and OAuth flows for each external integration. The schemas are normative for the proposed design.
10.1 ProseCreator OPDS Feed Structure
The OPDS 1.2 feed at https://api.prosecreator.com/opds/library is per-user and authenticated:
Plain Text40 lines<?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:opds="http://opds-spec.org/2010/catalog" xmlns:dc="http://purl.org/dc/terms/" xmlns:prose="https://schema.prosecreator.com/dna/1.0"> <id>urn:uuid:f3d2...</id> <title>Marisol's ProseCreator Library</title> <updated>2026-05-02T14:33:08Z</updated> <author><name>ProseCreator</name></author> <link rel="self" href="/opds/library" type="application/atom+xml;profile=opds-catalog"/> <link rel="search" href="/opds/search?q={searchTerms}" type="application/atom+xml"/> <entry> <id>urn:uuid:e4f5...</id> <title>The Curious Tide</title> <author><name>Marisol Vega</name></author> <updated>2026-04-12T10:14:00Z</updated> <dc:language>en</dc:language> <prose:dna-composite>86.7</prose:dna-composite> <prose:dna-genre>thriller</prose:dna-genre> <prose:dna-percentile>88</prose:dna-percentile> <link rel="http://opds-spec.org/acquisition" href="/opds/books/e4f5/the-curious-tide.epub" type="application/epub+zip"/> <link rel="http://opds-spec.org/acquisition" href="/opds/books/e4f5/the-curious-tide.m4b" type="audio/mp4"/> <link rel="http://opds-spec.org/image" href="/opds/books/e4f5/cover.jpg" type="image/jpeg"/> <summary type="html"> <p>The fog came in low over Mendon Bay...</p> </summary> </entry> <!-- additional entries --> </feed>
10.2 Dropbox OAuth Flow (Path 1)
ββββββββββββββββ ββββββββββββββββ
β β 1. user clicks "Connect" β β
β ProseCreator β ββββββββββββββββββββββββ> β User β
β Web App β β Browser β
β β β β
ββββββββββββββββ ββββββββ¬ββββββββ
β
2. redirect to β
Dropbox /authorize β
with response_type= β
code, scope=files β
.content.write, β
redirect_uri β
βΌ
ββββββββββββββββ
β Dropbox β
β authorize β
ββββββββ¬ββββββββ
β 3. user grants
βΌ
ββββββββββββββββ
4. redirect β β
back with code β User β
βββββββββββββββββββ β Browser β
ββββββββββββββββ
ββββββββββββββββ
β β 5. POST /oauth2/token
β ProseCreator β with code, client_id,
β Backend β client_secret
β β ββββββββββββββββββββββββ> Dropbox
ββββββββββββββββ
6. returns access_token
βββββ refresh_token
ββββββββββββββββ
β β 7. store tokens
β ProseCreator β encrypted at rest;
β Backend β use to write
β β /Apps/ProseCreator/
ββββββββββββββββ Library/*.epub
The scope requested is files.content.write only; no broader Dropbox access. The redirect URI is HTTPS-pinned. Tokens are stored encrypted in PostgreSQL with a per-user key derived from a KMS-held master key.
10.3 Kobo OAuth Flow (for "Buy on Kobo" handoff)
Kobo does not expose a public OAuth product API for affiliate handoff in the same form as Amazon. The realistic flow is:
ββββββββββββββββ
β ProseCreator β 1. user taps "Buy on Kobo"
β Web/PWA β
ββββββββ¬ββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator builds an affiliate URL with the β
β Kobo store link of the matched ISBN, including β
β ProseCreator's affiliate ID (Rakuten Advertising β
β tag) β
ββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββ 2. user redirected to
β Kobo Store β kobo.com/p/affiliate?β¦isbn=β¦
β (web) β &cl=12345
ββββββββ¬ββββββββ
β 3. user purchases
βΌ
ββββββββββββββββ
β Rakuten β 4. attribution + commission to
β Advertising β ProseCreator account
ββββββββββββββββ
There is no API by which ProseCreator becomes aware that the purchase succeeded other than the Rakuten attribution report; the user's Kobo library updates via Kobo's own infrastructure and is reflected on the device automatically.
10.4 Amazon / Kindle Cloud Reader Sync (for migration)
Amazon does not publish a documented Kindle library API. The migration service operates against the Kindle Cloud Reader sync endpoints, which are the same endpoints the Kindle web reader uses. The flow is:
ββββββββββββββββ
β ProseCreator β 1. user authenticates with Amazon
β Migration β credentials in a sandboxed
β Service β headless browser session
β β (running server-side, isolated
β β per user, MFA pass-through)
ββββββββ¬ββββββββ
β
βΌ 2. fetch Kindle Cloud Reader bootstrap
(https://read.amazon.com/kindle-library)
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β extract: cookies, session tokens, device session β
ββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ 3. iterate library:
GET /service/web/reader/getReadingList
GET /service/web/reader/syncSnapshot
(rate-limited at ~1 req / 1.5s)
β
βΌ 4. for each title:
Β· ASIN, title, author, purchase date
Β· last-read position (CFI-equivalent)
Β· highlights (chapter, offset, length, text)
Β· notes
β
βΌ 5. write to mirror (Postgres) tagged
per user; never store ebook content
This flow is what we describe in Section 5.2; it operates over the user's authenticated session without circumventing any technological access-control measure. The user is the access-authorised party for their own library.
10.5 ProseCreator β Kobo Plugin Token Exchange (Path 4)
ββββββββββββββββ
β Kobo (KO β 1. user pastes 6-character pairing
β Reader plug-β code into plugin (code shown in
β in, on dev) β web app)
ββββββββ¬ββββββββ
β 2. POST /api/devices/pair
β { code: "ABCD12", device_uuid: "kobo-...."}
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator API resolves code -> user, issues β
β device-scoped JWT (long-lived, rotatable) β
ββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β 3. returns { jwt, user_id, library_url }
βΌ
ββββββββββββββββ
β Kobo plugin β 4. stores JWT in koreader settings
β β dir; uses for all subsequent
β β calls
ββββββββββββββββ
The pairing-code mechanism avoids the user typing email/password on the e-reader.
10.6 Reading Position Sync Schema
The unified position record, used both internally and in payloads:
JSON13 lines{ "user_id": "u_3f8e...", "book_id": "b_e4f5...", "ecosystem": "kobo|kindle|prosecreator", "device_id": "kobo-libra-2-7f2a...", "chapter_number": 11, "chapter_title": "Pelican Light", "cfi": "/6/24[chap11]!/4/2/8/1:412", "percent": 39, "word_offset": 38447, "updated_at": "2026-05-02T15:14:08Z", "version": 14 }
The cfi field uses EPUB Canonical Fragment Identifier syntax for cross-reader portability; word_offset is included because Kindle's sync surface speaks word offsets, not CFI. The version field is a monotonically increasing per-user-per-book counter used for last-writer-wins resolution.
10.7 Highlight Schema
JSON15 lines{ "user_id": "u_3f8e...", "book_id": "b_e4f5...", "ecosystem_origin": "kobo|kindle", "chapter_number": 11, "cfi_start": "/6/24[chap11]!/4/2/8/1:401", "cfi_end": "/6/24[chap11]!/4/2/8/1:445", "word_offset_start": 38436, "word_offset_end": 38450, "selection_text": "the kind of fog that softens the edges", "color": "yellow", "note": "opening establishes mood β prose density", "created_at": "2026-04-30T08:14:08Z", "version": 1 }
Deduplication across ecosystems uses (book_id, cfi_start, cfi_end) first, falling back to (book_id, word_offset_start, word_offset_end) when CFI is unavailable on the source side.
10.8 EPUB Manifest with DNA SVG and Audiobook M4B
Plain Text22 lines<package version="3.0" ...> <manifest> <item id="dna-svg" href="dna/dna.svg" media-type="image/svg+xml" properties="cover-image"/> <item id="dna-html" href="dna/dna.xhtml" media-type="application/xhtml+xml"/> <item id="audiobook-m4b" href="audio/the-curious-tide.m4b" media-type="audio/mp4" properties="prose:audiobook"/> <!-- chapters, css, fonts --> </manifest> <spine> <itemref idref="cover"/> <itemref idref="dna-html"/> <!-- DNA front matter --> <itemref idref="ch01"/> <!-- ... --> </spine> </package>
The prose:audiobook property is a custom property indicating that the audiobook is bundled inside the EPUB and aligned to chapter markers in the spine.
11. Data and Document Flow Diagrams
11.1 End-to-End Document Flow
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator Cloud β
β β
β βββββββββββββββ ββββββββββββββββββ ββββββββββββββββββ β
β β Author β β Living β β DNA Engine β β
β β composes βββ>β Blueprint βββ> 12-dim score β β
β β in TipTap β β decompose β β + style fp β β
β βββββββββββββββ ββββββββββββββββββ ββββββββββ¬ββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β EPUB Export β β
β β Β· OPF metadata (DNA, transparency, chapters) β β
β β Β· OEBPS chapters (XHTML) β β
β β Β· OEBPS/dna/dna.svg + dna.xhtml β β
β β Β· OEBPS/audio/*.m4b (if audiobook generated) β β
β βββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββ β
β β Distribution Selector β β
β β (Path 1/2/3/4/5 hybrid logic) β β
β ββββββββββββββ¬βββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββ
β
ββββββββββββ¬ββββββββββββΌβββββββββββ¬βββββββββββββ
βΌ βΌ βΌ βΌ βΌ
βββββββββββ βββββββββββββββββββββββββββββββββββββββββββββ
β Dropbox β β OPDS ββ USB ββ KOReader ββ PWA host β
β /Apps/ β β /opds/ ββ helper ββ plugin ββ kobo. β
β Prose- β β library ββ ipc ββ JWT call ββ prose- β
β Creator β β ββ ββ ββ creator β
ββββββ¬βββββ ββββββ¬ββββββββββ¬βββββββββββ¬ββββββββββββ¬ββββββ
β β β β β
ββββββββββββ΄βββββββββββ΄βββββββββββ΄βββββββββββββ
β
βΌ
βββββββββββββββββββ
β Kobo Libra β
β Color (user) β
βββββββββββββββββββ
11.2 Reading-Position and Highlight Round-Trip
ββββββββββββββββββββββββ
β ProseCreator DB β
β positions + h/lightsβ
ββββββββββββ¬ββββββββββββ
β
ββββββββββββ΄ββββββββββββ
β β
βΌ βΌ
βββββββββββββββ βββββββββββββββ
β Outbound β β Inbound β
β writer β β collector β
ββββββββ¬βββββββ ββββββββ¬βββββββ
β β
βΌ β²
ββββββββββββββββββββββ βββββββββββββββββββββββ
β to kobo via path: β β from kobo via path: β
β Β· 1 (.bookmark) β β Β· 4 (plugin POST) β
β Β· 4 (plugin) β β Β· 5 (PWA POST) β
β to kindle via: β β from kindle via: β
β Β· KCR sync POST β β Β· KCR sync poll β
ββββββββββββββββββββββ βββββββββββββββββββββββ
11.3 Migration Data Flow
ββββββββββββββββββββββ
β User authenticates β
β Amazon + Goodreads β
ββββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββ
β Migration Service (sandboxed per user) β
β Β· headless browser session β
β Β· Kindle Cloud Reader sync endpoints β
β Β· Goodreads private profile API β
ββββββββββ¬ββββββββββββββββββββββββββββββββ
β
βΌ (rate-limited 1 req / 1.5s)
ββββββββββββββββββββββββββββββββββββββββββ
β Mirror writer β
β Β· upsert title metadata β
β Β· upsert position β
β Β· upsert highlights β
β Β· NO ebook content β
ββββββββββ¬ββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββ
β Kobo store + Libby resolver β
β Β· query Rakuten affiliate API β
β Β· query OverDrive search β
β Β· annotate availability per title β
ββββββββββ¬ββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββ
β User library view β
β Β· "Kindle" tag β
β Β· "available on Kobo" / "borrow" β
β Β· cross-ecosystem position sync β
ββββββββββββββββββββββββββββββββββββββββββ
11.4 Deployment Topology
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Internet β
β β
β βββββββββββββββββββ βββββββββββββββββββ β
β β user.kobo β β user.web β β
β β (Libra Color) β β (browser) β β
β ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ β
β β β β
β HTTPS / WSS β HTTPS / WSS β
ββββββββββββββΌβββββββββββββββββββββββΌβββββββββββββββββββββββββββ
β β
βΌ βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator Kubernetes (nexus ns) β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Ingress (Istio) β TLS termination Β· auth headers β β
β ββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ β
β β β
β ββββββββββΌββββββββββ¬βββββββββββββ¬βββββββββββββ β
β βΌ βΌ βΌ βΌ βΌ β
β ββββββββββββββββββββββββββββββ ββββββββββββββββββββββββ β
β β kobo- ββ web ββ chat- β β migrationββ audio- β β
β β pwa ββ next- ββ orches β β service ββ pipeline β β
β β ββ js ββ trator β β ββ β β
β ββββββ¬ββββββββββ¬ββββββββββ¬ββββ ββββββ¬ββββββββββββ¬ββββββ β
β β β β β β β
β ββββββββββΌββββββββββΌββββββββββββΌββββββββββββ β
β β β β β
β βΌ βΌ βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β nexus-prosecreator (Tier-2 callbacks for jobs) β β
β ββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ β
β β β
β ββββββββββ΄βββββββββ β
β βΌ βΌ β
β ββββββββββββββ ββββββββββββββ β
β β workflows β β skills β β
β β (trigger) β β engine β β
β βββββββ¬βββββββ βββββββ¬βββββββ β
β β β β
β βΌ βΌ β
β ββββββββββββββββββββββββββββββββ β
β β AI Provider Router (gateway) β β
β βββββββββββββββ¬βββββββββββββββββ β
β β β
β ββββββββββββββ΄ββββββββββββββββ β
β βΌ βΌ βΌ β
β Anthropic Gemini OpenRouter β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Stateful tier: β β
β β Β· postgres (prose schema) β β
β β Β· neo4j (graphrag entities + relations) β β
β β Β· qdrant (passage + style fingerprint vectors) β β
β β Β· redis (rate-limit Β· cache Β· WS pub/sub) β β
β β Β· NFS (epub/audio artifacts; user-scoped) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β External: β β
β β Β· Dropbox (Path 1) β β
β β Β· ElevenLabs / Kokoro hosts (audio) β β
β β Β· Amazon (Kindle Cloud Reader, migration only) β β
β β Β· Rakuten Advertising (Kobo affiliate) β β
β β Β· OverDrive / Libby (library availability) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
11.5 Service Component Graph (ProseCreator Plugin Side)
ββββββββββββββββββββββββ
β Express app.ts β
β /prosecreator/api β
ββββββββββββ¬ββββββββββββ
β
ββββββββββββββββ¬ββββββββββββΌβββββββββββββββ¬βββββββββββββββ
βΌ βΌ βΌ βΌ βΌ
ββββββββββ βββββββββββ βββββββββββ βββββββββββ βββββββββββ
β routes β β WS β β Service β β Job β β Health β
β (55) β β handlersβ βContainerβ βhandlers β β probes β
βββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ β (15) β βββββββββββ
β β β ββββββ¬βββββ
β β β β
ββββββββ¬βββββββ΄βββββββ¬ββββββ β
βΌ βΌ βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β Repositories (52) β
β ProjectRepo Β· ChapterRepo Β· BeatRepo Β· β
β CharacterRepo Β· BlueprintRepo Β· DNARepo Β· β
β ChatRepo Β· LibraryMirrorRepo (new) Β· β
β KoboDeviceRepo (new) Β· DropboxTokenRepo (new)β
β ... (full list in CLAUDE.md) β
βββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β
βββββββββΌβββββββββ
βΌ βΌ βΌ
postgres neo4j qdrant
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Services (41 + new) β
β GraphRAGClient Β· MemoryManager Β· β
β ContextInjector Β· StyleAnalyzer Β· β
β AntiAIDetection Β· AudiobookGenerator Β· β
β EPUBExportService Β· DNAExportService (new) Β· β
β KoboBridge (new) Β· KindleMirrorService (new)Β·β
β KoboPluginAuthService (new) β
βββββββββββββββββββββββββββββββββββββββββββββββββ
11.6 Data Model β New Tables for Kobo Companion
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β prose.kobo_devices β
β ββββββββββββββββββ β
β id UUID PRIMARY KEY β
β user_id UUID NOT NULL REFERENCES users β
β device_uuid TEXT NOT NULL β
β model TEXT (libra-color, libra-2, sage, ...) β
β path_active TEXT (dropbox|opds|usb|koreader|pwa) β
β plugin_version TEXT NULL β
β jwt_hash TEXT NULL β
β last_seen TIMESTAMPTZ β
β created_at TIMESTAMPTZ DEFAULT NOW() β
β UNIQUE(user_id, device_uuid) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β prose.kindle_library_mirror β
β ββββββββββββββββββββββββββ β
β id UUID PRIMARY KEY β
β user_id UUID NOT NULL REFERENCES users β
β asin TEXT NOT NULL β
β title TEXT NOT NULL β
β authors TEXT[] β
β purchased_at DATE NULL β
β last_read_at TIMESTAMPTZ NULL β
β last_position_cfi TEXT NULL β
β last_position_word INT NULL β
β chapter_n INT NULL β
β sync_at TIMESTAMPTZ β
β UNIQUE(user_id, asin) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β prose.kindle_highlights_mirror β
β ββββββββββββββββββββββββββββ β
β id UUID PRIMARY KEY β
β user_id UUID NOT NULL β
β asin TEXT NOT NULL β
β chapter_n INT NOT NULL β
β cfi_start TEXT NULL β
β cfi_end TEXT NULL β
β word_start INT NULL β
β word_end INT NULL β
β text TEXT NOT NULL β
β note TEXT NULL β
β created_at TIMESTAMPTZ β
β sync_at TIMESTAMPTZ β
β FK (user_id, asin) β kindle_library_mirror β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β prose.unified_positions β
β βββββββββββββββββββββ β
β id UUID PRIMARY KEY β
β user_id UUID NOT NULL β
β book_id UUID NULL β
β asin TEXT NULL (for kindle-only) β
β ecosystem TEXT NOT NULL β
β (kobo|kindle|prosecreator|pwa) β
β device_id TEXT NULL β
β chapter_n INT NOT NULL β
β cfi TEXT NULL β
β percent SMALLINT NOT NULL β
β word_offset INT NULL β
β updated_at TIMESTAMPTZ NOT NULL β
β version BIGINT NOT NULL β
β UNIQUE(user_id, COALESCE(book_id::text, asin), β
β ecosystem, device_id) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β prose.dropbox_tokens β
β ββββββββββββββββββ β
β user_id UUID PRIMARY KEY β
β access_token TEXT NOT NULL (AES-encrypted) β
β refresh_token TEXT NOT NULL (AES-encrypted) β
β expires_at TIMESTAMPTZ β
β scope TEXT (files.content.write) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
11.7 Authentication Architecture
User
β
ββββββββββΌβββββββββ
β β β
βΌ βΌ βΌ
Web app PWA on KOReader
Kobo plugin
β β β
β sessionβ β
β cookie β pairingβ JWT (long-lived)
β (HTTPS)β code β
βΌ βΌ βΌ
ββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator Auth Service β
β Β· session management (web) β
β Β· pairing-code issuance + JWT exchange β
β Β· device JWT verification β
β Β· revocation list (per-device) β
ββββββββββββββββ¬ββββββββββββββββββββββββββββ
β
β propagates user/org/permissions
βΌ
ββββββββββββββββββββββββββββββββββββββββββββ
β Backend services (RBAC-enforced) β
β every API call carries: β
β Β· user_id β
β Β· org_id β
β Β· scope (book|library|global) β
β Β· device_id (Kobo path) β
ββββββββββββββββββββββββββββββββββββββββββββ
Token storage on Kobo β
Β· Path 4 (KOReader) β JWT in plugin β
settings dir, not encrypted β
(KOReader does not encrypt) β
Β· Path 5 (PWA) β cookie + localStorage β
in Kobo browser; cleared on app close β
β
Mitigations β
Β· short JWT TTL (24h) β
Β· refresh on every successful sync β
Β· revocation list checked on every call β
Β· device-locked: JWT bound to device_uuid β
11.8 Audiobook Generation Pipeline (Detail)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Step 1 β Manuscript ingest β
β GET project/{id}/manuscript β
β emits: {chapters[], beats[], tts_voice_profiles[]} β
ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Step 2 β Character voice map β
β Joins Character Bible TTSVoiceProfile to engine β
β voice ids; emits {character_id β voice_id} β
ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Step 3 β Dialogue extraction β
β Per-character lines isolated; narrator lines β
β routed to default narrator voice β
ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Step 4 β Pronunciation pass β
β Entity dictionary applied (proper nouns, β
β invented place names, foreign-language glosses) β
ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Step 5 β SSML / phoneme markup β
β Prosody, emotional baseline, pacing markers β
β inserted from EnhancedSpeechProfile β
ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Step 6 β Multi-voice synthesis β
β Engine selected: Kokoro | EL Flash | EL Turbo | β
β EL Multilingual v2 β
β Per-line audio rendered β
ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Step 7 β Audio fingerprinting β
β Per-character voice embedding cosine sim β₯ 0.85 β
β Re-render any line below threshold β
ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Step 8 β Mastering β
β Loudness normalisation -18 LUFS β
β EQ + de-essing + silence trim per line β
ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Step 9 β Packaging β
β M4B with chapter markers aligned to EPUB β
β spine; cover art embedded; metadata tagged β
β Sidecar: timing-map.json (word-level offsets) β
ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Step 10 β Delivery β
β Path 1: pushed to Dropbox /Apps/ProseCreator/ β
β Library/{book}.m4b β
β Path 4: surfaced on KOReader OPDS feed β
β Path 3: queued for desktop helper sync β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
11.9 OPDS Feed Architecture
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β KOReader on Kobo β
β GET /opds/library β
β Authorization: Bearer <jwt> β
βββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator OPDS Endpoint β
β Β· auth: validate JWT, resolve user_id β
β Β· query LibraryRepo for user's books β
β Β· for each: resolve EPUB URL + audiobook URL β
β Β· emit Atom XML with prose: extension fields β
βββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β KOReader renders feed; user taps title β
β GET /opds/books/{book_id}/{title}.epub β
β Authorization: Bearer <jwt> β
βββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ProseCreator EPUB stream β
β Β· auth check β
β Β· NFS/object-store fetch β
β Β· stream as application/epub+zip β
β Β· range-supported for resume β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
11.10 Plugin Update Pipeline (Path 4)
ββββββββββββββββββββββββββββββ
β ProseCreator Plugin Source β
β (private GitHub repo) β
ββββββββββββββ¬ββββββββββββββββ
β git tag v1.0.4
βΌ
ββββββββββββββββββββββββββββββ
β CI builds + signs the β
β plugin .koplugin bundle β
β (Sigstore signature) β
ββββββββββββββ¬ββββββββββββββββ
βΌ
ββββββββββββββββββββββββββββββ
β Release pushed to plugin β
β update endpoint: β
β /plugin/koreader/manifest β
β /plugin/koreader/v1.0.4/ β
β prosecreator.koplugin β
ββββββββββββββ¬ββββββββββββββββ
βΌ
ββββββββββββββββββββββββββββββ
β Plugin on user's Kobo β
β checks manifest weekly + β
β on launch β
ββββββββββββββ¬ββββββββββββββββ
β new version available
βΌ
ββββββββββββββββββββββββββββββ
β User confirms update β
β Plugin verifies signature β
β Plugin replaces self; β
β KOReader restart β
ββββββββββββββββββββββββββββββ
11.11 Migration Sandbox Architecture
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Migration Service Pod (per-user request) β
β β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β Headless Chromium (isolated namespace) β β
β β Β· per-user volume mount β β
β β Β· CPU/RAM limited β β
β β Β· 30-min lifetime β β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β Amazon login flow β β
β β Β· user enters creds in our UI β β
β β Β· creds proxied (not stored) β β
β β Β· MFA passed through β β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β Kindle Cloud Reader scrape β β
β β Β· token-bucketed at 1 req / 1.5s β β
β β Β· 3 retries with exponential backoff β β
β β Β· graceful 429 handling β β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β Mirror writer β β
β β Β· upsert into kindle_library_mirror β β
β β Β· upsert into kindle_highlights_mirror β β
β β Β· NEVER ebook content β β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Pod terminates after run; volumes wiped. β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
12. Fifty User Use Cases
We catalogue 50 use cases across 10 thematic clusters. Each use case is described in a single paragraph sufficient to brief a product manager. The numbering is illustrative, not normative; product priorities should reorder based on user research.
12.1 Reading
UC-1. Continue from web on Kobo. A user reading on the ProseCreator web reader on a laptop closes the tab at chapter 11, page 39%; opens their Kobo at the kitchen table; the same book is open at the same position. Position sync runs on Path 1 (Dropbox .bookmark sidecar) or Path 4 (KOReader plugin) within the user's chosen sync cadence.
UC-2. Read in airplane mode. A user about to fly switches the Kobo to airplane mode; opens a book that has fully synced to the device; reads the entire flight; lands and reconnects; the offline queue (UC-50) flushes position updates and highlights to the cloud automatically.
UC-3. E-ink-only night read. A user reads in a dark bedroom with the Kobo's ComfortLight Pro at minimum brightness; the e-ink surface produces no blue light and does not disturb a sleeping partner; this is the device's hardware advantage and ProseCreator's reader experience inherits it without any specific work.
UC-4. Quick re-read of a marked chapter. A user wants to revisit a single chapter of a recently finished book without re-downloading. The chapter is opened directly from the Library view; the EPUB is local; access is instant.
UC-5. Children's reading with parental DNA filter. A parent restricts a family member's library to titles with composite DNA β₯ 70 and dna-dim-emotional-resonance β€ 80 (no overwhelming content), via the family-management settings on the parent's device; the child's Kobo respects the filter via the OPDS feed.
12.2 Writing-on-Reader
UC-6. Author preview own draft. An author opens "Preview on Kobo" from the web app; the latest draft pushes via Dropbox; the author reads it on the actual reading surface their readers will use, without their TipTap editor's affordances getting in the way.
UC-7. Inline author note. While previewing a draft, the author writes a short note directly on the Kobo (Path 4 KOReader plugin + stylus support); the note syncs back to the web app as a TODO comment in the chapter editor.
UC-8. Read fellow author's draft. A Writers' Room peer shares a draft with the author for feedback; the draft pushes to the peer's Kobo as a tagged DRAFT volume; feedback is captured the same way as UC-7.
UC-9. Test pacing on the surface. An author tests whether a chapter feels too slow by reading it on the Kobo without the web app's sentence-by-sentence rendering and inspector noise; the experience is closer to the reader's experience and is, for many authors, a different evaluative context.
UC-10. Stylus margin sketch. With the Kobo Stylus 2, an author sketches a beat-map or character-relationship doodle in the margins of their draft; the sketch syncs back as an attached image on the chapter editor's notes panel.
12.3 Library Migration
UC-11. Initial Kindle migration. A new ProseCreator user with a 214-book Kindle library completes initial migration in approximately 14 minutes, with metadata, position, and highlights for all titles imported into the mirror; the experience is fully described in UC-30 and Section 5.
UC-12. Continuous Kindle sync. After initial migration, the mirror updates hourly: any newly purchased Kindle titles appear in the user's ProseCreator library; any position changes from the Kindle app sync to the user's ProseCreator-side position record.
UC-13. Goodreads-only migration. A user without Amazon credentials but with an active Goodreads account imports their Goodreads "Read" and "Currently Reading" shelves; metadata is captured but position and highlights are not (Goodreads does not expose these).
UC-14. Re-purchase on Kobo. For a Kindle title that is also available on Kobo, the user taps "Buy on Kobo" from the migration dashboard; the purchase happens in the Kobo store with ProseCreator's affiliate attribution; the new Kobo edition appears alongside the Kindle metadata in the user's unified library.
UC-15. Borrow from library via Libby. For a Kindle title also available via OverDrive/Libby, the user taps "Borrow"; OverDrive returns a download URL; the EPUB is loaded onto the Kobo via Path 1 or Path 3; the borrow expires automatically.
12.4 Audiobook
UC-16. Listen via Bluetooth headphones. The user pairs Sony WH-1000XM5 headphones with the Kobo via Bluetooth; opens the audiobook player; resumes from where they left off in the EPUB.
UC-17. Listen-while-driving. Audiobook continues over a paired car Bluetooth system; chapter advance is automatic; sleep timer is configurable.
UC-18. Switch from reading to listening. A user reading at chapter 11, p. 39%, switches to audio; the audiobook player opens at the matching position via the timing-map JSON file (Section 6); the resumption is approximate (chapter-aligned) on Path 1 / Nickel and exact (word-aligned) on Path 4 / KOReader.
UC-19. Re-listen with multi-voice cast. A user re-listens to a previously read book to hear the multi-voice cast; the file is the same M4B; the experience is materially different because Character Bibleβderived voices distinguish characters.
UC-20. Read-and-listen synchronisation. On Path 4, the e-ink page advances automatically to track the audio (read-and-listen mode); useful for users who learn or read more comfortably with both channels active. Marked as proposed design (Section 6.5).
12.5 Discovery
UC-21. "More like this" by Style Fingerprint. A user finishes a book they enjoyed; the home-screen discovery feed surfaces 4 books with the closest Style Fingerprint comparators; the user adds two to their library.
UC-22. Genre-calibrated recommendations. The user filters discovery by genre AND by minimum DNA composite (e.g. thrillers β₯ 85); the OPDS feed updates accordingly.
UC-23. New from authors I read. When any author whose book is in the user's library publishes a new title to the Marketplace, it appears in a "New from authors you read" row.
UC-24. Quality Verified shelf. A "this week's Quality Verified" row surfaces titles that crossed the Quality Gate threshold in the past week; the user can filter further by genre.
UC-25. Anti-recommendations. A "you may not like this" surface uses the user's lowest-rated highlights to filter out titles whose Style Fingerprint matches books the user disliked.
12.6 Author Tools
UC-26. Reader resonance digest. An author receives a weekly Writers' Room digest summarising anonymised reader resonance signals (UC-46) β which chapters trigger the most highlights, which scenes are most re-read, which lines are most underlined.
UC-27. Heat map of highlights on draft. When the author opens a chapter editor, a heat map overlay (toggleable) shows highlight density across paragraphs based on aggregated Kobo-side highlight data; useful for revision.
UC-28. Cross-reader position distribution. For a published book, the author can see how readers progress through the manuscript: where do readers stop reading, where do they accelerate, where do they double back. This is per-chapter aggregated position-density data.
UC-29. Audiobook chapter-level listening. Same as UC-28 for the audiobook: which chapters do listeners replay, which do they skip, where do they stop.
UC-30. Writers' Room peer-feedback channel. When a Writers' Room member sends a private note from their Kobo (UC-19, reader-to-author dialog), the author receives it as a Writers' Room message in the web app, threaded against the chapter and paragraph it concerns.
12.7 Family Sharing
UC-31. Shared shelf across 3 family members. A primary account holder shares a curated shelf with two other family members; each member's Kobo receives the EPUBs via their own Dropbox folder.
UC-32. Per-member access control. The primary holder can grant or revoke specific titles for specific members, with policy applied within minutes via the next sync cycle.
UC-33. Aggregate audiobook minutes. The family shelf shows audiobook minutes consumed per member per month for billing transparency, particularly important on Storyteller and Publisher tiers with monthly-character allowances.
UC-34. Children's content filter. As in UC-5, a member-specific content filter restricts what appears on a given member's device.
UC-35. Co-reading awareness. When two family members are reading the same book simultaneously, the family shelf shows both positions side-by-side without merging or pushing notifications.
12.8 Annotation
UC-36. Highlight-with-note flow. The user selects a passage on the Kobo, taps "Highlight + note", types a short note via the on-device keyboard or stylus; the note attaches to the highlight and syncs.
UC-37. Cross-book search of highlights. From the web app, the user searches across all their highlights regardless of source ecosystem (Kindle-imported or Kobo-original); the result list links back to the source book.
UC-38. Export highlights to Markdown. Selected highlights export to a Markdown file via Path 1 (Dropbox folder) or via the web app; the Markdown file is preserved across sessions.
UC-39. Tag highlights. Highlights can be tagged with user-defined tags; tags are filterable in the highlights pane; tags sync across devices.
UC-40. Annotation versioning. When a user edits a note attached to a highlight, the prior version is preserved and accessible via a small "history" affordance; useful for academic readers.
12.9 Accessibility
UC-41. Larger fonts than Kobo's defaults. The KOReader plugin (Path 4) supports font sizes beyond Kobo's stock maximum, useful for low-vision users; the EPUB ships with explicit font-size: 1em on body so user-side scaling works without breaking the layout.
UC-42. Dyslexia-friendly font. Users can choose OpenDyslexic or similar dyslexia-friendly fonts; the EPUB does not hard-code typefaces; KOReader's font substitution is honoured.
UC-43. High-contrast mode. A high-contrast theme increases black-on-white contrast for low-vision users; the e-ink surface already has near-perfect static contrast, but rendering tweaks (heavier strokes) help.
UC-44. Audiobook-only mode. For users who cannot read text, the device hides text-related UI and surfaces only audiobooks; this is a setting on the family or accessibility configuration.
UC-45. Text-to-speech via Kobo's read-aloud (where audiobook is unavailable). For books without an AI-generated audiobook, Kobo's stock read-aloud (Bluetooth, robotic voice) is offered as a fallback; ProseCreator does not generate this β Kobo does β but the UX surfaces it cleanly.
12.10 Offline
UC-46. Offline-first reading. Books and audiobooks are local on the device; reading proceeds without network access; nothing breaks when Wi-Fi is off.
UC-47. Offline highlight queue. Highlights and notes captured while offline queue locally and sync when the device reconnects (UC-2 path).
UC-48. Offline migration deferral. If migration is in progress when the device goes offline, the migration pauses gracefully and resumes from the last completed title.
UC-49. Offline DNA radar render. The DNA front-matter SVG is part of the EPUB and renders offline; no network required.
UC-50. Offline discovery snapshot. A daily-refreshed "discovery snapshot" of 30 recommended titles is cached on the device; users can browse recommendations without connectivity, though clicking any title to download requires Wi-Fi.
13. Legal and Ethics Analysis
This section addresses the legal contour of the Kindle-to-Kobo migration architecture in Section 5 and the broader ethics of cross-ecosystem library portability. The analysis is non-advocacy and is not legal advice.
13.1 Section 1201 of the DMCA
Section 1201 of the U.S. Digital Millennium Copyright Act (codified at 17 U.S.C. Β§1201) prohibits, in (a)(1)(A), the circumvention of "a technological measure that effectively controls access to a work protected under [the Copyright Act]." Subsection (a)(2) prohibits the manufacture and trafficking of tools "primarily designed or produced for the purpose of circumventing" such measures (U.S. Congress, 1998). The provisions are widely read to cover ebook DRM systems including Amazon's Kindle DRM, Adobe's ADEPT, and Apple's FairPlay (U.S. Copyright Office, 2024).
The Federal Circuit's decision in Chamberlain Group, Inc. v. Skylink Technologies, Inc. (381 F.3d 1178, Fed. Cir. 2004) introduced an important narrowing principle: for Β§1201(a) to apply, the circumvention must "bear a reasonable relationship to the protections that the Copyright Act otherwise affords copyright owners." This nexus requirement has been applied unevenly across circuits and is currently subject to a circuit split that has not yet reached the Supreme Court. MDY Industries, LLC v. Blizzard Entertainment, Inc. (629 F.3d 928, 9th Cir. 2010) read the access-control prohibition more broadly than Chamberlain; Lexmark International, Inc. v. Static Control Components, Inc. (387 F.3d 522, 6th Cir. 2004) applied a Chamberlain-like nexus requirement.
13.2 The Triennial Rulemaking and 2024 Cycle
Section 1201(a)(1)(C) authorises the Librarian of Congress, on the recommendation of the Register of Copyrights, to issue temporary exemptions every three years. The 2024 (Ninth Triennial) rulemaking concluded in October 2024 with a Final Rule effective 28 October 2024, in effect until 28 October 2027 (U.S. Copyright Office, 2024). The Register received 11 petitions for new or expanded exemptions and 37 petitions for renewal of existing exemptions. All previous exemptions for which renewal was sought were renewed.
For ebook DRM, the relevant exemptions are narrow: text-to-speech for print-disabled readers (renewed) and, in limited form, security research (renewed and slightly expanded). The Library Copyright Alliance and Authors Alliance both petitioned for broader exemptions covering personal-library migration; neither was granted (Authors Alliance, 2024). Accordingly, removing DRM from a Kindle ebook for the purpose of reading the same book on a Kobo is, in the U.S., not within an active Β§1201 exemption as of this writing.
13.3 EU and UK Treatment
Article 6 of the EU InfoSoc Directive (2001/29/EC) requires member states to protect against the circumvention of "effective technological measures" applied to copyrighted works (European Parliament, 2001). Article 6(4) requires member states to take "appropriate measures" to ensure beneficiaries of certain exceptions β including the private-copy exception in Article 5(2)(b) β can effect those exceptions in the face of technological measures. In practice, the Β§6(4) provision has been narrowly applied; many member states have not legislated specific procedures for users to exercise private-copy rights against DRM.
The UK position is more restrictive: the 2014 amendment introducing a personal-copying exception was quashed in British Academy of Songwriters, Composers and Authors v Secretary of State for Business, Innovation and Skills [2015] EWHC 1723 (Admin), and no replacement has been enacted. UK users have no statutory right to make personal copies of DRM-protected works.
13.4 ProseCreator's Posture
Given the fragmented and active-flux legal posture, ProseCreator's platform stance is:
-
First-party offering. We synchronise metadata, reading position, and highlights from the user's authenticated Kindle account into the user's ProseCreator account. This activity does not implicate Β§1201 because it does not circumvent any technological access-control measure β the user is the access-authorised party for their own library, and the data is decrypted in the user's own browser session by Amazon's own infrastructure.
-
No DRM-removal tooling. We do not write, host, distribute, or link to DRM-removal software. We acknowledge the existence of Calibre and DeDRM as documented technical fact, in service of architectural completeness, without endorsement.
-
User uploads. Users may upload DRM-free EPUBs to their ProseCreator library. We treat these as user content under our Terms of Service, with the user representing that they have the right to do so. We do not certify provenance.
-
Compliance posture. If we receive a credible, properly served takedown notice (DMCA Β§512 in the U.S., or analogous mechanism elsewhere) for a specific user-uploaded file, we comply with the takedown procedure as required by law.
-
Ethics. We believe the user who has bought a book has a legitimate moral interest in reading it on the device of their choice. We do not believe it is our place to enforce, or to undermine, the legal restrictions that Amazon places on its own products. We support legislative reform of Β§1201 to permit personal-library migration, and we have signed onto industry comments to that effect during the triennial rulemaking process.
13.5 Privacy
The Migration Service handles authenticated session data for Amazon and Goodreads. Our privacy posture is:
- Credential storage. Amazon and Goodreads credentials are not stored. The user authenticates each session via a sandboxed browser; tokens are held in memory only during the migration run and destroyed afterward.
- MFA. When MFA is required by Amazon (which is increasingly common), the user enters the MFA code in our UI, which proxies it to the Amazon authentication flow without storage.
- Mirror data. The mirror contains only metadata, position, and highlights β no ebook content.
- Retention. Mirror data is retained as long as the user's account is active and is deleted on account deletion.
- Subprocessors. No third-party subprocessor handles credentials or mirror data.
These positions are documented in our DPA.
13.6 Accessibility Ethics
The Section 1201 exemption for text-to-speech in service of print-disabled readers (renewed in the 2024 rulemaking) is specifically intended to permit users with disabilities to circumvent DRM that would otherwise block their access to a work they have purchased. ProseCreator's audiobook generation pipeline is, in part, an accessibility tool: it produces high-quality synthesized audio for any book in the user's ProseCreator library, including books migrated as DRM-free EPUBs. We treat this capability as a public-good function and offer it without surcharge to users on any tier with audiobook minutes available.
14. Limitations and Future Work
14.1 Limitations
This paper is an architectural specification, not an empirical study. Several categories of limitation follow from this scope.
No measured benchmarks. We did not measure page-render times on a physical Kobo Libra Color across the five integration paths, did not benchmark migration times on real Kindle libraries, and did not perform a controlled reading-comprehension study comparing the embedded-DNA experience to the unembedded one. Where numbers appear in the paper, they are projections under stated assumptions, plainly labelled. Figures 1β4 in particular reflect assumed values, not observations.
No production EPUB DNA implementation. The OPF metadata extension and the SVG/HTML fallback rendering described in Section 7 are proposed designs. ProseCreator's EPUB export pipeline does not currently emit them; we have no shipping evidence that the design renders correctly across every EPUB reader in the wild.
No KOReader plugin shipped. Path 4 depends on a KOReader plugin we have specified but not implemented. Plugin-side concerns β KOReader's plugin lifecycle, settings storage limitations, and update channel β are real engineering questions that this paper does not resolve.
No measurement of legal posture. Section 13's legal analysis is non-advocacy and is, by deliberate restraint, not advice. Real-world users who undertake migration activities act under their own jurisdiction's law. The platform's posture is non-blocking, but the platform's posture is not a defence.
Audience limited to Kobo Libra Color. The architecture extends straightforwardly to Kobo's other recent models (Libra 2, Sage, Clara Color, Clara BW) but each has subtle differences in firmware behaviour we have not documented. Kindle, PocketBook, and Boox readers operate on different software stacks with different sideload mechanisms; this paper does not address them.
No multilingual analysis. Kokoro-82M's voice library is currently primarily English with growing multilingual support. Full multilingual audiobook generation parity with ElevenLabs Multilingual v2 is not yet evidenced in the open weight release.
14.2 Future Work
Production EPUB DNA shipping. Implement the OPF metadata extension in the EPUB export pipeline and publish the SVG/HTML rendering through the next batch of Marketplace exports. Measure render correctness across Kobo Nickel, KOReader, Apple Books, Adobe Digital Editions, Kindle (which strips most metadata), and Calibre's reader.
KOReader plugin. Implement and ship the plugin. Specifically: (a) authenticated catalogue browse via the OPDS feed; (b) EPUB download with progress; (c) DNA fingerprint render in the plugin's metadata pane; (d) reading-position sync back; (e) highlight and note sync; (f) audiobook playback via KOReader's built-in audio player.
Read-and-listen mode on Path 4. The timing-map JSON file is produced by the audiobook pipeline today but not consumed by any reader. A KOReader plugin extension could implement read-and-listen with word-aligned page advancement.
Empirical Kindle migration study. Run the migration architecture against a representative sample of consenting users with libraries of various sizes (50, 500, 5000 books). Measure: (a) end-to-end migration time; (b) per-title metadata fidelity; (c) per-title position fidelity; (d) per-title highlight fidelity; (e) failure modes (rate-limit recoveries, MFA challenges, cookie expirations, account-locked errors).
Reading-comprehension study with embedded DNA. Use a within-subjects design to test whether the embedded-DNA front matter affects reader comprehension, dwell time, or recall. Hypothesis: the front matter primes the reader for genre-calibrated structural expectations, shortening orientation time without affecting comprehension.
Cross-reader portability of the OPF schema. Submit the prose: namespace to W3C as a public-extension proposal, in the spirit of Schema.org; engage the EPUB community.
Legislative engagement. Support the next triennial Β§1201 rulemaking (2027 cycle) with rigorous evidence of the migration friction documented in this paper.
14.3 Conclusion
The Kobo Libra Color is an excellent reading device. ProseCreator is an excellent authoring platform. The architectural gap between them β that no first-party path connects them at the depth of integration that ProseCreator's data model would naturally allow β is not technical but historical. The major hardware vendors, with the partial exception of Kobo's Pocket and Dropbox integrations, have built closed systems on the assumption that closed systems are economically optimal. The major software vendors, including ProseCreator until now, have therefore had to design for whatever sideload affordance the closed device permits.
The architecture proposed in this paper is a worked-through example of what can still be built within these constraints. We do not propose to defeat the closed-system stance of the e-reader hardware industry. We propose, instead, to use the affordances they do provide β Dropbox sync, USB sideload, the EPUB format itself, and the open-source KOReader for power users β to deliver an experience that is meaningfully better than any path currently available to a ProseCreator user who owns a Kobo.
For the cross-ecosystem migration piece, we have argued that there is a substantial first-party offering that is unambiguously legal: metadata, reading position, and highlight synchronisation across Kindle and Kobo libraries, anchored to the user's own authenticated session and explicitly excluding any DRM circumvention. This offering closes most of the practical migration gap that real users experience. The remaining gap β actually transferring the bits of a Kindle-purchased ebook to the Kobo β is, for the moment, a matter of user-side activity and jurisdictional law rather than platform engineering.
For the embedded Novel DNA piece, we have proposed a concrete EPUB3 metadata extension and rendering. The novelty here is not the underlying analysis (which is described in the prior Marketplace paper) but the surfacing: making the analysis available on the e-ink device where the book is read. This represents, to our knowledge, the first attempt to embed a comprehensive structural-quality fingerprint of a manuscript into the EPUB itself with on-device visualisation.
We have catalogued 50 use cases, documented 20 ASCII UI mockups, drawn 4 user journeys, specified JSON connection schemas for every external integration, and grounded the legal analysis in the 2024 Β§1201 rulemaking and the relevant case law. The paper is sized to brief an implementation team. The rest is engineering.
References
-
Adverant Research. (2026). ProseCreator Marketplace: An AI-Native Publishing Platform with Digital DNA Analysis and Automated Audiobook Generation. Working Paper, Adverant Research, April 2026. adverant.ai
-
Apple. (2023). Apple Books β Free AI Narration for Independent Authors. Apple Books for Authors. authors.apple.com
-
Authors Alliance. (2024). The DMCA 1201 Rulemaking: Summary, Key Takeaways, and Other Items of Interest. authorsalliance.org
-
Calibre-Ebook. (2024). Calibre β E-book Management. Project documentation. calibre-ebook.com
-
Chamberlain Group, Inc. v. Skylink Technologies, Inc., 381 F.3d 1178 (Fed. Cir. 2004).
-
Clinton-Lisell, V. (2022). No Negative Effects of Reading on Screen on Comprehension of Narrative Texts Compared to Print: A Meta-Analysis. Media Psychology, advance online publication. doi.org
-
EDItEUR. (2023). ONIX for Books 3.0 Specification. editeur.org
-
ElevenLabs. (2025). ElevenLabs API Documentation. elevenlabs.io
-
ElevenLabs. (2025). Introducing ElevenLabs Publishing β AI-Native Audiobook Distribution. ElevenLabs Blog, January 2025.
-
European Parliament. (2001). Directive 2001/29/EC of the European Parliament and of the Council of 22 May 2001 on the harmonisation of certain aspects of copyright and related rights in the information society (the InfoSoc Directive).
-
Hardt, D. (2012). The OAuth 2.0 Authorization Framework. RFC 6749, Internet Engineering Task Force. datatracker.ietf.org
-
Hexgrad. (2024). Kokoro-82M β Open-Weight Text-to-Speech. Hugging Face. huggingface.co
-
Kaakinen, J. K., Ballenghein, U., Tissier, G., & Baccino, T. (2018). Fluctuation in cognitive engagement during reading: Evidence from concurrent recordings of postural and eye movements. Journal of Experimental Psychology: Learning, Memory, and Cognition, 44(10), 1671β1677.
-
KOReader Project. (2024). KOReader β A Document Viewer for E Ink Devices. koreader.rocks
-
KΓΆpper, M., Mayr, S., & Buchner, A. (2016). Reading from computer screen versus reading from paper: Does it still make a difference? Ergonomics, 59(5), 615β632.
-
Lexmark International, Inc. v. Static Control Components, Inc., 387 F.3d 522 (6th Cir. 2004).
-
Mangen, A., Walgermo, B. R., & BrΓΈnnick, K. (2013). Reading linear texts on paper versus computer screen: Effects on reading comprehension. International Journal of Educational Research, 58, 61β68. doi.org
-
Margolin, S. J., Driscoll, C., Toland, M. J., & Kegler, J. L. (2013). E-readers, computer screens, or paper: Does reading comprehension change across media platforms? Applied Cognitive Psychology, 27(4), 512β519. doi.org
-
MDY Industries, LLC v. Blizzard Entertainment, Inc., 629 F.3d 928 (9th Cir. 2010).
-
MobileRead Wiki. (2024). Kobo eReader β Filesystem and Sideload Documentation. wiki.mobileread.com
-
OPDS Community. (2018). OPDS Catalog 1.2 Specification. specs.opds.io
-
OPDS Community. (2024). OPDS Catalog 2.0 Draft Specification. drafts.opds.io
-
Rakuten Kobo. (2024). Kobo Libra Colour β Product Page and Specifications. us.kobobooks.com
-
Schema.org Community. (2024). Schema.org Type: Book. schema.org
-
Siegenthaler, E., Wurtz, P., & Bergamin, P. (2011). Comparing reading processes on e-ink displays and print. Displays, 32(5), 268β273. doi.org
-
U.S. Congress. (1998). Digital Millennium Copyright Act, Public Law 105β304, 17 U.S.C. Β§1201.
-
U.S. Copyright Office. (2024). Section 1201 Rulemaking: Ninth Triennial Proceeding to Determine Exemptions to the Prohibition on Circumvention. Register's Recommendation, October 2024. copyright.gov
-
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ε., & Polosukhin, I. (2017). Attention is all you need. Advances in Neural Information Processing Systems, 30. arxiv.org
-
W3C. (2023). EPUB 3.3 Specification. w3.org
-
W3C. (2023). EPUB Accessibility 1.1 Specification. w3.org
-
ITU-T. (1996). P.800: Methods for subjective determination of transmission quality. International Telecommunication Union.
-
Verified Market Research. (2024). Self-Publishing Market Size, Share, Trends, Opportunities & Forecast. Market research report.
-
Grand View Research. (2024). Audiobooks Market Size, Share & Trends Analysis Report. Market research report.
-
Best Buy. (2024). Kobo Libra Colour β Product Specifications. bestbuy.com
-
Authors Alliance & Library Copyright Alliance. (2023β2024). Joint Comments β Section 1201 Triennial Rulemaking, 2024 Cycle. Filed with U.S. Copyright Office.
Figures
Figure 1. Projected audiobook generation cost vs. latency across four delivery engines.
Assumptions: typical 88,000-word novel; Kokoro running on a single H100 (~0.30/1K chars, Turbo 0.99/1K chars) as of late 2025. Numbers are projected, not measured.

Figure 2. Projected migration time vs. library size across the five integration paths.
Assumptions: Amazon Kindle Cloud Reader rate-limited at approximately 1 request per 1.5 seconds per session; metadata payload averaging ~25KB per title; sequential processing per session with 3-retry exponential backoff on HTTP 429; libraries of 50 / 500 / 5000 books. Numbers are projected, not measured.

Figure 3. Projected e-ink page-render time per integration path (cold start and warm).
Assumptions: Kobo Libra Color, Wi-Fi connected; cold start defined as page open with no prior cache; warm defined as page open within 10 seconds of a prior open. Path 5 (PWA) cold start includes service-worker-less network round-trip. Numbers are projected based on typical Nickel and KOReader rendering characteristics; not measured.

Figure 4. Sample Digital DNA radar for a representative thriller (composite 86.7).
Source: same illustrative manuscript as Marketplace paper (Adverant Research, 2026), thriller-weighted composite of 12 dimensions.

This paper is an architectural specification and working paper. It is not legal advice, not a measurement study, and not an offering document. ProseCreator's product roadmap may diverge from any architectural recommendation contained herein. Inquiries: research@adverant.ai.
