MetaHistoryBook
One graph for creators, works, sources, and cited interpretation.
A browsable, AI-assisted history of creators and their works, built on Wikidata. Every author and artist is anchored to a stable QID, layered with live Wikidata facts, enriched with museum data and encyclopedic prose, and made endlessly explorable with no dead ends. Browse an art-history timeline, dive into standards-grade detail pages, and read evidence-cited AI dossiers.
Wikidata is vast, but it doesn't read like history
The world's open knowledge graph holds millions of creators and works, yet there is no way to browse it as a narrative of culture. MetaHistoryBook turns that structured graph into a living, navigable history, every attractive view backed by stable IDs, source links, and testable data contracts.
The bet is that open knowledge graphs, standards-grade cultural metadata, and guarded generation can make the history of art and letters feel navigable without ever losing provenance. A curated corpus gives fast local browse and search, live Wikidata, Wikipedia, and Wikisource calls keep deep pages rich, and AI dossiers stay evidence-cited rather than free-floating. From any creator you reach works, influences, museum records, and related entities, no dead ends.
Curated speed, live depth, one full-stack app
A single Next.js 16 App Router application: server components read a curated Postgres cache for instant browse, then stream in live data and generated prose independently, fast where it can be, rich where it matters.
Next.js 16 · React 19
App Router with React Server Component streaming and classic ISR. Detail pages render the DB shell instantly, then every live section fills in through independent <Suspense> boundaries, first byte around 0.15s instead of one slow top-level await.
Drizzle ORM · Neon / PGlite
28,087 creators, 27,729 works, and 11,637 relationship edges live in Postgres via Drizzle. Production runs on Neon with pgvector, development and tests fall back to an embedded PGlite database, so the app boots with zero config and no running DB.
Wikidata, Wikipedia, Wikisource
A normalized client layer calls Wikidata over SPARQL and REST, plus Wikimedia and museum APIs, pulling every statement, encyclopedic lead extracts, original-language texts, and image metadata, all rate-limited and cached.
Linked Art · IIIF · cited dossiers
Shared builders emit conformant Linked Art API 1.0 records, embedded as JSON-LD and served at /api/linked-art/{qid}. IIIF deep-zoom shows museum masterpieces; AI dossiers run on Claude generation plus OpenAI embeddings over pgvector.
Browse, explore, and read the evidence
Four experiences sit on the same graph: a period timeline, streaming detail pages, a standards-grade data layer, and citation-aware generation.
🕰️ Period timeline
An art-history band from antiquity to today, Gothic, Renaissance, Baroque, Modernism, Contemporary, with creators as portrait chips and works as masterpiece thumbnails. Pan through time and facet by occupation, movement, citizenship, gender, and place.
🔍 Detail pages
Streaming creator and work pages render identity instantly, then fill in live facts, influence graphs, and reverse-traversal connections. Every statement links onward to another entity, endless navigation, no dead ends.
📖 About & the text
Wikipedia lead extracts are rendered as prose and auto-linkified back into the corpus, and works show their original-language text with inline translations, Bashō's Frog Poem in Japanese, kana, and English via Wikisource.
🏛️ Standards & museums
Conformant Linked Art API 1.0 records with AAT vocabularies and equivalence links, FAIR-aligned data, IIIF deep-zoom of museum masterpieces, and Rijksmuseum enrichment for curator-grade medium, dimensions, and credit lines.
🤖 AI dossiers
Evidence-cited, RAG-grounded profiles built from facts plus the Wikipedia lead, streamed live with provenance on every claim, Claude generation, OpenAI embeddings, and pgvector retrieval, behind cost guards.
🗓️ Plus
Today / on-this-day, full-text and faceted search, dark mode, bilingual i18n (en/cy), accounts with bookmarks and saved views via Auth.js, and SEO with chunked sitemaps and dynamic OG images.
Spec-first, test-first, verified against reality
- Typed data layer, end to end. Drizzle ORM over Postgres with a TypeScript-strict codebase; the same curated schema migrates into in-memory PGlite for development and tests, so the app runs with zero config.
- Citation discipline. AI dossiers are RAG-grounded over a real evidence corpus, facts plus Wikipedia lead extracts, where every chunk carries its source links, so generated prose stays provenance-backed rather than free-floating.
- Standards as code. Linked Art records are built from shared, tested modules and verified against the published standard, so the embedded JSON-LD and the public /api/linked-art endpoint never diverge, and the data is FAIR-aligned.
- Streaming-first performance. Detail pages await only the fast DB shell, then stream every live section through independent Suspense boundaries, first byte around 0.15s instead of a single blocking await.
- Four quality gates, every change. Built AIDD + TDD + SDD: tsc --noEmit, ESLint, 197 Vitest tests on in-memory PGlite, and a production build all pass before anything is "done," with a live Wikidata drift probe guarding the data.
Live, standards-grade, and provenance-backed
MetaHistoryBook runs in production at metahistorybook.com, with an "Artwork of the Day" experience on its daily. subdomain. It illustrates linked-open-data engineering, a typed curated-plus-live data architecture, conformant Linked Art and IIIF standards work, and citation-disciplined AI generation, a cultural-history browser where every attractive view is backed by stable IDs and sources.