StoryLark

About StoryLark

StoryLark is an open-source engine for building your own branded, installable story-reading app — a fast Progressive Web App that lets people read and listen to a library of stories, 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.

Edge-native

Ships as a single Cloudflare Worker backed by D1 and R2, sized to fit a generous free tier.

Bring your own stories

A markdown-in, narrated-app-out pipeline: chapter JSON, neural TTS audio, and word timings.

Project status

StoryLark is in preview (v0.4.0). 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 →