no account. no cloud. no tracking. | scan it. shelve it. own your data.
because your reading list shouldn't live on some corpo platform that sells your habits, goes down randomly, or gets acqui-hired into oblivion.
your books, your list, your rules.
a dead-simple book library app. point your camera at a barcode, get the book info, done.
everything stays on your device in localStorage. nothing leaves the browser.
svelte 5 + vite + astro (workspace). pure static clients. local storage and ISBN lookup logic.
apps/webapp → current Book's Freedom appapps/astro-site → Astro SSG site with BOOK FREEDDOM CLIENTpackages/library-core → shared types + list/search/sort helperspnpm install
pnpm dev:webapp
pnpm dev:astro
Generate local certs (includes localhost + detected LAN IPv4 addresses):
pnpm certs:generate
Run webapp over HTTPS:
pnpm dev:webapp:https
Open:
https://localhost:5173https://<your-lan-ip>:5173 (phone on same Wi-Fi)Note: phone browsers may still require trusting the local cert before camera APIs behave as secure context.
Canonical drop-in files:
data/library.json (default dataset)data/library.dummy.json (optional demo dataset)The workspace auto-syncs data/library.json to:
apps/astro-site/src/data/library.jsonapps/webapp/src/public/library.jsonRun manually:
pnpm data:sync
pnpm data:sync:dummy
pnpm data:apply ./my-export.json
Note: Astro SSG cannot write back to repo files from the browser at runtime.
Use data:apply (or replace data/library.json) to persist edits into the drop-in folder.
Supported shape (data/library.json):
{
"version": 1,
"books": []
}
CC BY-SA 4.0 — share it, remix it, just keep it open.
want to use our SDK or build something commercial? hit us up at info@junglestar.org