OfflineShelf — Wikipedia Reading Lists for Offline Use
2026 · Full-stack · Flask + React · Open source
Millions of articles. Choose the ones that matter.
OfflineShelf helps a school, library or clinic without reliable internet decide which Wikipedia articles to carry offline, and keeps that decision repeatable. A list can come from a Wikipedia category, a Wikidata query, a pasted reading list or the most-read articles of a month, and lists can be combined: "Vaccines minus Companies". Each list can rebuild every month, keeps a history of what was added and removed, and exports as a spreadsheet file, a folder of web pages that opens from a USB stick, or a ZIM file for the free Kiwix reader apps.

- 4
- list builders
- 3
- export formats
- 235
- automated tests
- 100%
- core branch coverage
Built at the end of October 2026 across 26 pull requests: a Flask API with Pydantic validation, MariaDB and Redis, background workers on RQ, and a plain-Python list layer with 100% branch coverage. It works in any language edition of eight Wikimedia projects and talks to Wikimedia the way its API rules ask: an identified client that backs off when the servers are busy. It stores only titles and IDs, never article text, and every export carries the CC BY-SA attribution the content needs. Every feature works end to end in Docker; the public launch at offlineshelf.ahmershah.dev is planned for February 2027, after end-to-end and load testing.
- 01
Four ways to ask for a list: a category walked to a chosen depth without looping, a Wikidata query mapped to articles, a pasted reading list with redirects followed and gaps reported, or the top articles by pageviews for a month.
- 02
Lists combine: union, intersection and difference of up to ten lists, and a combination rebuilds by itself when one of its sources gets a new version.
- 03
A failed rebuild never replaces the last good list: every build is a separate version with a report, and the owner sees exactly which articles came and went since the previous one.
- 04
Three exports for three kinds of places: a TSV for spreadsheets and scripts, an HTML bundle that opens from a USB stick with no server, and a searchable ZIM file for the Kiwix apps.
Screens · OfflineShelf
Inside the build.
Web app
Home — millions of articles, choose the ones that matterEvery trading day, every settlement date.
