Roadmap
shujia is a community-driven directory and tracker for manga, manhwa, and manhua — think imdb / mal / letterboxd, but focused on comics first. this page tracks what's coming, not what's already done — the app itself is the proof of what's shipped.
built by one person, so timelines are fuzzy by design.
Building
— in progress right nowRecommendations ("readers of X also liked")
find similar series based on overlap in public reading lists. no ads, no black-box ranking.
Re-enable the home "Followed" rail
the section is parked while the design is being reworked — bringing it back so the people you follow surface the series they're tracking front-and-center.
Up next
— queued, scoped, not yet startedSeries ranking & leaderboards
global top-100 by community rating, by genre, by year. a way to find canonical greats without trusting a single algorithm.
Recommendation lists
user-curated lists with writeups ("my top 10 seinen of the decade", "best one-shots"). different from algorithmic recs in that the focus is on the human take.
Per-series discussion threads
comments per series with replies, spoiler tags, and light moderation tools.
Richer review UX
per-category ratings (story, art, characters), helpful-sorting, longer-form review templates.
Community series submissions
submit a title that isn't indexed yet. moderated so spam doesn't leak in.
Import from AniList
MAL XML import already works; AniList is next.
Later
— bigger swings, once the core is solidCommunity forum
general-purpose discussion threads — recommendations, news, off-topic. distinct from the per-series threads above.
Character, creator, group pages
imdb-style sidebars: author bibliographies, scanlation group pages, character wikis.
Anime expansion
jikan / anilist / consumet integration once the manga directory is stable. eventually tv + dramas.
Public API + developer docs
once the data model is steady, open it up so other tools can build on shujia.
Mobile app / PWA
offline reading-list access and push for new chapters of tracked series.
Self-hosted catalog
once enough users have submitted titles, written reviews, and corrected metadata, shujia can stand on its own data instead of leaning on the MangaUpdates api as the primary source. MU stays as a backfill / cross-reference, but the canonical record lives in shujia's db.
end-state architecture
Shujia-canonical catalog with external-source mappings
today every series in shujia is keyed on (provider, externalId) — effectively “wherever MangaUpdates sent us.” that's fine for the current scale, but it means a single upstream outage breaks every reading list, and there's no way to merge metadata from MangaBaka, AniList, MangaDex, or MAL without messy conflicts. the long-term commitment is to make shujia's db the canonical record for every series, with each external source treated as a backfill / cross-reference rather than the source of truth.
add a MangaSeries table keyed by a shujia cuid with nullable external-id columns (muId, mbId, anilistId, mdId, malId) and snapshot fields (title, cover, year, type, status, tags). populate lazily — when someone visits /manga/<mu-id> we upsert the row, store the MU id + snapshot, return the shujia cuid. user-facing tables (ReadingListEntry, Review, ReviewReaction, MangaPageView) stay keyed on (provider, mangaId) — zero migration risk on live data.
unlocks: faster repeat lookups (no external API hop for hot series), foundation for cross-source merging, the data model the resolver in phase 2 needs.
add a resolver (provider, externalId) → shujiaId backed by the MangaSeries lookup. new features start consuming shujia ids natively: AniList import maps via anilistId, recommendations join through MangaSeries, the sitemap canonicalizes one URL per series regardless of how many external ids point at it. user-facing tables get a shujiaSeriesId foreign-key column, but the existing (provider, mangaId) stays — backfilled in the background, no cutover.
unlocks: AniList / MAL imports, cross-source recommendations, deduplication when MU and MB index the same series under different titles.
once mappings are dense and stable, flip the user-facing schema. ReadingListEntry / Review / ReviewReaction / MangaPageView use shujiaSeriesId as primary; (provider, mangaId) gets demoted to a legacy column kept for backwards compatibility. external sources become pure backfill — MU, MB, AniList, MD, MAL all feed the same canonical record. community submissions and metadata corrections write directly to MangaSeries.
unlocks: shujia survives any single upstream going down, full self-hosted catalog, community-maintained metadata with version history.
why staged: a single-cutover migration on a live db is a 1-2 week risk window with no rollback. phase 1 alone unblocks ~80% of the value (AniList import, recs, faster lookups) and ships in days. phase 2 + 3 only happen once phase 1 has populated enough mappings to make them worthwhile.