StoryLark

About StoryLark

StoryLark is an open-source engine for building your own branded, installable reading app — a fast Progressive Web App for standalone stories, complete books, or a mixed library, online or off.

Why it exists

Publishing a polished reading experience usually means stitching together a reader, a narrator, offline support, sync, and push — and then rebuilding it for every brand. StoryLark packages all of that into one engine you configure rather than rebuild. A single codebase powers many distinct, branded reading apps, each with its own identity, content, and domain.

What you get

A real reading app

Read mode, listen mode with word-synced read-along, offline downloads, cross-device sync, and push notifications.

Your brand, not ours

A per-brand token contract drives the entire look and structure — colors, type, logo, layout, and vocabulary.

Free-tier friendly

The default Cloudflare deployment uses one Worker, D1, and R2; an Azure deployment path is supported too.

Bring your own content

Publish a standalone story or a multi-chapter book from markdown, with optional narration and word timings.

Project status

StoryLark is in preview (v0.19.2). The engine ships today as installable npm packages (storylark-core, storylark-worker, storylark-pipeline) with a bundled free narrator (28 open voices, word-synced), a narrator picker for multi-voice libraries, and two sample public-domain stories — see it running at storylark.dev. Every build is traceable: the app's About screen shows the exact release version and build commit it's running. APIs and structure may still change before 1.0. See what shipped in the release notes and what's next on the roadmap.

Open source

StoryLark is released under the Apache License 2.0. The engine, its documentation, and the theme & template gallery are developed in the open. Explore the code, file issues, or contribute on GitHub.

Get started →