Product · KadoKawa Corp.
Discovery & Reading
Redesigning how readers find and experience stories — from a broken search system to a layered discovery engine and a fully native reading surface.
Role
Product Manager
Timeline
Jun 2023 – Jul 2025
Company
KadoKawa Corp.
Platform
iOS · Android · Web

TL;DR
27%
Reduction in Zero Results Rate — 1.26% → 0.92% after A/B test
11.6%
Increase in search result CTR after tag search launch
10.2%
Increase in start-read rate of recommended novels
−8s
Reduction in time to task completion
Context
From "enough content" to "the right content"
KadoKado is a digital platform offering Taiwanese original novels and Japanese light novels, dedicated to promoting digital reading and nurturing Chinese-language creators. With a rapidly growing content library, the core challenge shifted from having enough content to helping readers find the right content.
I led the product definition across two interconnected systems: the Explore and Search feature — a discovery layer that needed to serve readers who want to find stories and creators who want their work to be found — and the App chapter reading page, the surface where readers actually spend their time.
These aren't separate projects. Search gets readers to the door. The reading experience determines whether they come back.

Problem
Two surfaces, two failure modes
Search & Discovery
Search only worked if you already knew exactly what you were looking for
- —Search matched only exact titles or author names — any input variation returned zero results
- —Simplified Chinese input (e.g. '恋爱脑君' instead of '戀愛腦君') or extra spaces caused complete search failure
- —No support for exploratory search — users looking by genre, theme, or mood had no clear path
- —Baseline Zero Results Rate: 1.26% — a hard failure that sent users away with nothing
Chapter Reading
The reading surface was slow, inflexible, and poorly connected to retention
- —Chapter page ran on Webview — slow load times disrupted reading flow, complex bridging increased engineering overhead
- —Ad placements were inflexible, limiting monetization potential
- —Clapping rate was 14.8% but favoriting rate was far lower than on the novel page — the most retention-connected action was the least triggered
- —No systematic nudge to convert reading momentum into a return visit
Search & Discovery
Building a search system that works for how people actually search
Map the search landscape before redesigning anything
Before touching the backend, I mapped all the ways users search — four distinct scenarios with very different intent and tolerance for imprecision.
1-1 · Clear Goal
Specific novel title or author name — exact match expected
1-2 · Exploratory
Category, genre, theme, story element — fuzzy match acceptable
1-3 · Status-based
"Updated in last 7 days," followed authors, personalized filters
1-4 · Input Errors
Typos, Simplified Chinese input, missing or extra characters
The existing system was optimized only for Scenario 1-1. All other cases — which account for the majority of real search behavior — were failing users silently.

Fix Zero Results with an A/B test — and make the right trade-off
The root cause of Scenario 1-4 failures was a weighting imbalance — author name weight was lower than novel title weight, so variant author inputs got buried. Hypothesis: equalizing the weights would reduce Zero Results Rate.
Experiment · 27 days · All users
Group A (Control)
Novel name > Author name = Category = Tags
Group B (Treatment)
Novel name = Author name = Category = Tags
The decision
Quantitative metrics showed minimal overall difference — CTR dropped 2%, within acceptable variance. But six qualitative scenario tests told a clearer story: B version was superior in 4 of 6 real-world cases, particularly for author search with input variations. Combined with a meaningful 27% reduction in Zero Results Rate, the case for B was clear.
When quantitative data says "similar," qualitative scenarios are the tiebreaker.

Build a tag taxonomy for exploratory search
Fixing Scenario 1-4 wasn't enough. Scenario 1-2 (exploratory search) had no real solution. I designed a multi-layered tag system to support readers who don't know the exact title they want — only the feeling.
Novel Type tags
Genre and subgenre classifications
Platform Service tags
KadoPlus, Million Novel Awards, contest entries — directly searchable
Theme tags
Story themes, settings, and content flags
Result segmentation
"All" view and "Tags" view — browse all matches or filter for strongly tag-associated content
Following Tag Search launch, Search Result CTR increased approximately 10% compared to prior weeks.

Recommendation system by login state
Visitors
Trending and popular novels across the platform — highest-signal content for users with no history
Members
Personalized recommendations based on past reading history and favorites, weighted toward related genres and types

Chapter Reading Experience
Native migration — and fixing the favoriting problem
Search gets readers to the door. But the chapter page is where retention is actually won or lost. The data told a clear story: clapping rate was 14.8%, but favoriting — the action most connected to return visits — was far lower. The reading surface needed to both perform better and connect reading momentum to retention.
Phase 1 · Full Native Migration
Converted the chapter page from Webview to Native across three priorities:
Speed
Eliminated Webview bridge overhead. Chapter content loads progressively — skeleton state shows before full toolbar renders, so reading starts immediately.
Format support
Both novel (vertical scroll) and webtoon (full-bleed image) formats supported in the same chapter. Mixed-format chapters handled gracefully.
Access control
Permission logic covering 5 user states (iOS/Android guests, unverified members, verified members) across subscription chapters, paid chapters, and all toolbar actions.

Phase 2 · Behavior Nudges + Feature Parity
Added favoriting, comments, and table of contents to the Native page. More importantly, designed behavior nudges to close the gap between reading engagement and retention action.
Competitive reference
Qidian
Nudge after ~1 min of reading. Auto-favorite option for committed readers.
iQiyi Novel
Immediate exit nudge. If already favorited, shows related recommendation instead.
Qimao
Continuous navigation — back goes to previous screen, not always novel page.
Exit nudge
When a reader leaves without favoriting, a prompt appears. Timing based on competitive research — after ~1 minute of reading for serialized works. For completed novels, redirects to related work recommendations instead of a favoriting prompt.
Chapter-end state
Two versions: "You've caught up — favorite to get update notifications" (serialized) and "Thanks for reading — explore more on KadoKado" (completed). Both designed to convert reading momentum into a retention action at peak intent.
Table of contents
New feature showing chapter unlock status (subscription / Kado coins / reading voucher priority logic), read/unread state, and current chapter position — giving readers a map of where they are.

Phase 3 · Monetization & Extended Features
Ad placement flexibility
Native infrastructure allows dynamic ad slot configuration — not possible with Webview.
Unlock flow
"Unlock now" persistent button prevents users from losing context when accidentally closing the payment sheet. Balance display (Kado coins + reading vouchers) links directly to coin store.
Reading settings
Font size (16–40), line spacing (3 options), language (original / Traditional / Simplified Chinese), background theme (light / dark / yellow / green). Settings persist across sessions.

Results & Impact
What moved
27%
reduction in Zero Results Rate
1.26% → 0.92% — A/B test confirmed
11.6%
increase in search result CTR
Following tag search launch
10.2%
increase in start-read rate
Recommended novels
−8s
reduction in time to task completion
Search and discovery flow
3-phase
Native migration shipped
Webview → Native: faster load, flexible monetization, behavior nudge layer
Learnings
What this taught me
When quantitative data says 'similar,' qualitative scenarios are the tiebreaker
The A/B test CTR difference (82.2% → 80.2%) was within noise. But scenario testing showed B version was clearly better for the cases that actually mattered — author search with input variations, Simplified Chinese input. The right call wasn't 'which version wins overall' but 'which version better serves the most critical failure mode.' That framing changed the conversation from ambiguity to clarity.
The most-used feature isn't always the most important one
Clapping was the highest-used chapter action at 14.8% — but it has no direct connection to retention. Favoriting does. The gap between clap rate and favorite rate pointed to a design problem: the favorite action wasn't visible or well-timed enough to capture the moment when a reader was most engaged. The exit nudge and chapter-end state were direct responses — placing the right action at the right moment, not just making it available.
Search and discovery require phased optimization, not one-time fixes
B version still couldn't solve typographical errors in novel titles — that requires separate vocabulary expansion work. Knowing when to scope a problem (fix this now, defer that to the next phase) is as important as solving it. Each phase of this project built on the last: fix the hard failures first, then build the exploratory layer, then add the behavior layer on top of a stable reading surface.
Next Case
KadoKado Creator Center →