Crowdsourced Annotations for Finnegans Wake
Everything you need to set up WinnegansFake on your own laptop, download the public scan of Finnegans Wake from Internet Archive, and explore the complete text alongside the collected wisdom of 80+ years of Joycean scholarship.
James Joyce died in Zurich in 1941, meaning his works are in the public domain throughout much of the world. However, under the United States Sonny Bono Copyright Term Extension Act of 1998, works first published with notice between 1929 and 1977 enjoy statutory protection for 95 years from publication date:
Because of this, no copyrighted text from Finnegans Wake may ever be committed to git, uploaded to GitHub, or hosted on our public web servers.
The entire source archive (data/finneganswake00joycuoft.epub) and extracted chapters remain strictly confined to your local data/ directory, which is permanently ignored by git via .gitignore.
By keeping the book text strictly on the reader’s device, everyone can read the authentic Joyce text alongside the open-source scholarly metadata glosses with 100% legal compliance!
You don’t even need to install Node.js or use a terminal to read with your local EPUB! Our web application includes an in-browser EPUB engine powered by JSZip that runs 100% on your laptop:
Running WinnegansFake locally gives you full offline capabilities, access to the high-performance TypeScript EPUB parsing engine, and the ability to draft, validate, and contribute scholarly annotations.
Clone the project from GitHub to your workspace:
git clone https://github.com/tekromancy/WinnegansFake.git
cd WinnegansFakeInstall monorepo dependencies. Per AGENTS.md, this repo uses pnpm exclusively (never npm or yarn):
pnpm installRun the automated Makefile target to download the public scan of Finnegans Wake into your local data/ directory:
pnpm fetch:datamake -C data, which downloads finneganswake00joycuoft.epub and extracts chapter HTMLs.Verify the SHA-256 hashes of the downloaded EPUB to ensure data integrity, and calibrate printed page coordinates:
pnpm signatures:verify
pnpm index:epubValidate all 630 page annotation files against the JSON Schema and ensure zero copyright phrase violations:
pnpm validateStart the Next.js local server:
pnpm devOpen http://localhost:3000 in your browser to read and edit offline!
If you have all prerequisites installed, run the full pipeline in one command:
pnpm setup && pnpm devWinnegansFake is a crowdsourced communal project. If you have identified a multilingual pun, Dublin topographical reference, Viconian cycle, or literary allusion, you can contribute directly via GitHub:
Each page is stored under annotations/<title>/book_<B>/chapter_<C>/page_<PPP>.json (e.g. annotations/finneganswake/...).
{
"id": "003.01-01",
"line_number": 1,
"target_phrase": "riverrun",
"annotation_text": "Anna Livia Plurabelle as the River Liffey beginning her course toward the sea; connects to final sentence on page 628. Also French riverain (riverbank dweller).",
"categories": ["viconian-cycles", "river-liffey", "etymological-polyglot"],
"cross_references": ["628.16"],
"sources": ["McHugh, Roland. Annotations to Finnegans Wake (4th ed.), p. 3"],
"contributors": ["your-github-username"]
}target_phrase must be strictly under 150 characters (only the anchor lemma, never full copyrighted paragraphs).line_number must be between 1 and 40.pnpm validate before committing. Automated CI rejects invalid schemas.