Research Paperkobo

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.

Adverant Research Team2026-05-02111 min read27,585 words

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:

  1. A reference architecture for ProseCreator-to-Kobo distribution spanning five integration paths with an explicit comparison matrix and threat model (Section 4).
  2. 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).
  3. 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).
  4. Fifty user use cases across ten clusters, sized to brief a product team rather than to enumerate every conceivable interaction (Section 12).
  5. 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).
  6. 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.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,000,hasdramaticallyloweredthecostfloorforselfβˆ’hostedneuralTTSβ€”itsproductionrateisbelow1,000, has dramatically lowered the cost floor for self-hosted neural TTS β€” its production rate is below 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:

  1. Character Depth β€” psychological complexity, arc completeness, cross-chapter consistency
  2. Plot Architecture β€” thread count and resolution, tension curve shape, climax positioning
  3. World Coherence β€” element density, internal consistency, codex completeness
  4. Trope Execution β€” sophistication of genre convention use; subversion versus mechanical reproduction
  5. Voice Consistency β€” POV adherence, narrator stability, character-to-character dialogue differentiation
  6. Pacing Quality β€” rhythmic variety, beat-type distribution balance, chapter-length variance
  7. Continuity β€” fact-tracking accuracy across chapters; absence of timeline, geography, or character contradictions
  8. Style Fingerprint β€” lexical signature with corpus-relative comparators; sentence-length variance and burstiness
  9. Dialogue Quality β€” naturalness, character differentiation, subtextual depth
  10. AI Detection Score β€” perplexity and burstiness analysis, used as a transparency signal rather than a gate
  11. Structural Integrity β€” chapter and scene boundary alignment with story-beat structure
  12. 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 (19/month,3books,full12βˆ’dimDNA),βˆ—βˆ—Storytellerβˆ—βˆ—(19/month, 3 books, full 12-dim DNA), **Storyteller** (39/month, 10 books, full DNA + history + 500K-character/month audiobook allowance), Publisher (79/month,unlimitedbooks,advancedfeatures,2Mcharacters/month),andβˆ—βˆ—Studioβˆ—βˆ—(79/month, unlimited books, advanced features, 2M characters/month), and **Studio** (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:

DimensionPath 1 (Dropbox)Path 2 (OPDS)Path 3 (USB)Path 4 (KOReader)Path 5 (PWA)
User setup difficultyLowMediumLowHighTrivial
Requires KOReaderNoYesNoYesNo
Requires desktopNoNoYesNoNo
Offline readingYesYesYesYesNo
Audiobook playbackNative (sideloaded)Via KOReaderNativeVia KOReaderNone
Sync latency~1h (Kobo poll)On-demandManualOn-demandReal-time
Reading-position sync backNoLimitedNoYesYes
DNA fingerprint renderEPUB-embeddedEPUB-embeddedEPUB-embeddedKOReader pluginPWA UI
Risk profileThird-party storeSelf-hostedNoneJailbreak-adjacentBrowser 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.

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:

  1. 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.
  2. 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:

  1. We offer first-party metadata/position/highlight sync (Section 5.2).
  2. We do not provide, link to, or host DRM-removal software.
  3. We do not condemn users who run such software on their own equipment for their own purposes within their own jurisdiction's law.
  4. 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 0.21perbookatourtypicalnovellength(AdverantResearch,2026).ElevenLabsisAPIβˆ’priced;Flash,Turbo,andMultilingualv2tierscostroughly0.21 per book at our typical novel length (Adverant Research, 2026). ElevenLabs is API-priced; Flash, Turbo, and Multilingual v2 tiers cost roughly 35.91, 49,and49, and 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 Text
37 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 Text
15 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:

HTML
24 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:

  1. 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?"

  2. 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?"

  3. 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:

  1. 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.
  2. 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.
  3. 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 entry
  • lookup_plot_thread(book_id, name) β€” returns the plot thread state
  • recap_chapter(book_id, chapter_n) β€” returns a one-paragraph recap
  • recap_until(book_id, position) β€” returns a recap of everything up to a given position
  • find_passage(book_id, query) β€” returns matching passages with offsets
  • find_books_like(book_id_or_query) β€” runs Style Fingerprint comparator search
  • summarise_highlights(book_id?) β€” summarises the user's highlights
  • compare_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]                                    β”‚
β”‚                                                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 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 Text
40 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">
      &lt;p&gt;The fog came in low over Mendon Bay...&lt;/p&gt;
    </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:

JSON
13 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

JSON
15 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 Text
22 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.


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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

  1. 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

  2. Apple. (2023). Apple Books β€” Free AI Narration for Independent Authors. Apple Books for Authors. authors.apple.com

  3. Authors Alliance. (2024). The DMCA 1201 Rulemaking: Summary, Key Takeaways, and Other Items of Interest. authorsalliance.org

  4. Calibre-Ebook. (2024). Calibre β€” E-book Management. Project documentation. calibre-ebook.com

  5. Chamberlain Group, Inc. v. Skylink Technologies, Inc., 381 F.3d 1178 (Fed. Cir. 2004).

  6. 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

  7. EDItEUR. (2023). ONIX for Books 3.0 Specification. editeur.org

  8. ElevenLabs. (2025). ElevenLabs API Documentation. elevenlabs.io

  9. ElevenLabs. (2025). Introducing ElevenLabs Publishing β€” AI-Native Audiobook Distribution. ElevenLabs Blog, January 2025.

  10. 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).

  11. Hardt, D. (2012). The OAuth 2.0 Authorization Framework. RFC 6749, Internet Engineering Task Force. datatracker.ietf.org

  12. Hexgrad. (2024). Kokoro-82M β€” Open-Weight Text-to-Speech. Hugging Face. huggingface.co

  13. 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.

  14. KOReader Project. (2024). KOReader β€” A Document Viewer for E Ink Devices. koreader.rocks

  15. 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.

  16. Lexmark International, Inc. v. Static Control Components, Inc., 387 F.3d 522 (6th Cir. 2004).

  17. 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

  18. 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

  19. MDY Industries, LLC v. Blizzard Entertainment, Inc., 629 F.3d 928 (9th Cir. 2010).

  20. MobileRead Wiki. (2024). Kobo eReader β€” Filesystem and Sideload Documentation. wiki.mobileread.com

  21. OPDS Community. (2018). OPDS Catalog 1.2 Specification. specs.opds.io

  22. OPDS Community. (2024). OPDS Catalog 2.0 Draft Specification. drafts.opds.io

  23. Rakuten Kobo. (2024). Kobo Libra Colour β€” Product Page and Specifications. us.kobobooks.com

  24. Schema.org Community. (2024). Schema.org Type: Book. schema.org

  25. Siegenthaler, E., Wurtz, P., & Bergamin, P. (2011). Comparing reading processes on e-ink displays and print. Displays, 32(5), 268–273. doi.org

  26. U.S. Congress. (1998). Digital Millennium Copyright Act, Public Law 105–304, 17 U.S.C. Β§1201.

  27. 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

  28. 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

  29. W3C. (2023). EPUB 3.3 Specification. w3.org

  30. W3C. (2023). EPUB Accessibility 1.1 Specification. w3.org

  31. ITU-T. (1996). P.800: Methods for subjective determination of transmission quality. International Telecommunication Union.

  32. Verified Market Research. (2024). Self-Publishing Market Size, Share, Trends, Opportunities & Forecast. Market research report.

  33. Grand View Research. (2024). Audiobooks Market Size, Share & Trends Analysis Report. Market research report.

  34. Best Buy. (2024). Kobo Libra Colour β€” Product Specifications. bestbuy.com

  35. 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 (~2/hourspotpricing);ElevenLabspublishedperβˆ’characterpricing(Flash2/hour spot pricing); ElevenLabs published per-character pricing (Flash 0.30/1K chars, Turbo 0.36/1Kchars,Multilingualv20.36/1K chars, Multilingual v2 0.99/1K chars) as of late 2025. Numbers are projected, not measured. Figure 1: Projected audiobook generation cost vs. latency across four delivery engines

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 2: Projected Kindle-to-Kobo migration time vs. library size across the five integration paths

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 3: Projected e-ink page-render time per integration path (cold start and warm)

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. Figure 4: Sample Digital DNA radar for a representative thriller (composite 86.7)


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.

Keywords

Kobo Libra ColorEPUB3 metadata extensionDigital DNAKindle to Kobo migrationDMCA Section 1201DRMaudiobook generationKokoro TTSOPDSKOReaderGraphRAGAI-native publishing