{"adoption": {"forks": 40, "observed_at": "2026-09-01T02:14:03.359524+00:00", "stars": 1084}, "canonical_url": "https://ross.abutalabs.com/products/projecttitle", "card": {"archived": false, "artifact_type": "plugin", "description": "UI Plugin for KOReader by @elfbutt and @joshuacant", "domain": ["developer-tools", "cross-platform"], "enriched": true, "function": ["ui-components", "theme"], "health_score": 100, "homepage": null, "language": "Lua", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["joshuacant/ProjectTitle"], "name": "joshuacant/ProjectTitle", "platform": ["cross-platform"], "pushed_at": "2026-08-31T15:34:21+00:00", "repo": "joshuacant/ProjectTitle", "stars": 1084, "tags": ["koreader", "ereader", "kobo", "kindle", "book-library-ui", "lua-plugin", "linux", "android"], "topics": [], "urls": [], "use_cases": ["browse my ebook library with a nicer UI in KOReader", "show book covers and progress bars in KOReader's file browser", "add favorites and history buttons to KOReader's title bar", "display battery, wifi, and time status in KOReader's footer", "customize the book status screensaver page in KOReader", "make KOReader look like a commercial eReader interface", "sort books by author last name or page count in KOReader"], "what_it_is": "Project: Title is a UI plugin for KOReader that replaces the default book browser with a polished interface inspired by commercial eReaders. It adds an enhanced title bar, redesigned book listings and folder views, an informative footer, and a matching book status page.", "when_to_avoid": ["you prefer KOReader's barebones default UI and just pick books from a filename list", "your library has incomplete metadata and missing covers, since the design assumes complete metadata", "you want a plugin that works outside of KOReader"], "when_to_choose": ["you use KOReader on Kobo, Kindle, Android, PocketBook, Boox, or similar devices", "you have a tidy EPUB/PDF library with complete metadata like titles, authors, series, and covers", "you want a visually polished book-browsing experience with cover images and progress indicators"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/projecttitle", "repo": "joshuacant/ProjectTitle", "role": "main", "score": 87}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:53:04.488374+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9c6bcd3b79300cdb549077efacac60607efb3f6ca1adf0543ff1d505d9c702e5", "fetched_at": "2026-09-01T02:14:03.359524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joshuacant/ProjectTitle"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:53:04.488374+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9c6bcd3b79300cdb549077efacac60607efb3f6ca1adf0543ff1d505d9c702e5", "fetched_at": "2026-09-01T02:14:03.359524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joshuacant/ProjectTitle"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:53:04.488374+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9c6bcd3b79300cdb549077efacac60607efb3f6ca1adf0543ff1d505d9c702e5", "fetched_at": "2026-09-01T02:14:03.359524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joshuacant/ProjectTitle"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:53:04.488374+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9c6bcd3b79300cdb549077efacac60607efb3f6ca1adf0543ff1d505d9c702e5", "fetched_at": "2026-09-01T02:14:03.359524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joshuacant/ProjectTitle"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:53:04.488374+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9c6bcd3b79300cdb549077efacac60607efb3f6ca1adf0543ff1d505d9c702e5", "fetched_at": "2026-09-01T02:14:03.359524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joshuacant/ProjectTitle"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:53:04.488374+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9c6bcd3b79300cdb549077efacac60607efb3f6ca1adf0543ff1d505d9c702e5", "fetched_at": "2026-09-01T02:14:03.359524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joshuacant/ProjectTitle"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:14:03.359524+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:53:04.488374+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9c6bcd3b79300cdb549077efacac60607efb3f6ca1adf0543ff1d505d9c702e5", "fetched_at": "2026-09-01T02:14:03.359524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joshuacant/ProjectTitle"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:53:04.488374+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9c6bcd3b79300cdb549077efacac60607efb3f6ca1adf0543ff1d505d9c702e5", "fetched_at": "2026-09-01T02:14:03.359524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joshuacant/ProjectTitle"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:53:04.488374+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9c6bcd3b79300cdb549077efacac60607efb3f6ca1adf0543ff1d505d9c702e5", "fetched_at": "2026-09-01T02:14:03.359524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joshuacant/ProjectTitle"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:53:04.488374+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9c6bcd3b79300cdb549077efacac60607efb3f6ca1adf0543ff1d505d9c702e5", "fetched_at": "2026-09-01T02:14:03.359524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joshuacant/ProjectTitle"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 44, "rhythm": 96}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 619, "days_push": 2, "days_rel": 30, "gap_med": 22, "n_releases_24m": 12}, "score": 87, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}