Skip to content
pushpank-dhruwPublic

About

A local-first journaling app: blank-canvas editor with autosave and read-aloud TTS (Web Speech, in-browser Kokoro-82M, OpenAI-compatible, ElevenLabs)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

opentype

A quiet place to write. opentype is a local-first journaling app — a blank canvas that opens straight into today's entry, autosaves as you type, and can read your words back to you.

Everything lives in your browser's IndexedDB. There is no account, no server, no sync. Your journal never leaves your device unless you export it — or ask a cloud voice to read it.

Features

  • Blank-canvas editor — TipTap-powered free writing with a bubble toolbar for rich text: bold, italic, strikethrough, headings, lists, quotes.
  • Autosave — debounced writes to IndexedDB (Dexie) while you type; the title is derived from your first line.
  • Read aloud — four interchangeable TTS engines:
    • Browser — the Web Speech API voices built into your OS. Offline, free.
    • Kokoro — the Kokoro-82M neural voice running fully in-browser via WebGPU/WASM in a worker. The ~80 MB model downloads once, then it's offline. Nothing is sent anywhere.
    • OpenAI — the OpenAI TTS API, or any OpenAI-compatible endpoint — point it at a local server (e.g. kokoro-fastapi, LocalAI) to keep speech generation on your machine.
    • ElevenLabs — the ElevenLabs API for premium voices.
  • Entry library — browse, reopen, and delete past entries.
  • Backups — export/import your whole journal as JSON. API keys are never included in exports.
  • Appearance — light/dark/system theme, sans/serif/mono fonts, adjustable text size. Settings persist locally.

Privacy

  • Entries, settings, and API keys are stored only in IndexedDB.
  • The Browser and Kokoro engines are fully offline.
  • The OpenAI/ElevenLabs engines send the text of the entry being read to the configured endpoint — and nothing else. Keys are sent only to that endpoint.

Getting started

bun install
bun run dev        # http://localhost:3000

Scripts

Command What it does
bun run dev Dev server on port 3000
bun run build Production build to dist/
bun run preview Serve the production build
bun run test Vitest unit tests
bun run typecheck TypeScript, no emit
bun run check Biome lint + format check

Stack

React 19 · TanStack Router (SPA, code-split routes) · TipTap 3 · Dexie 4 · Tailwind CSS 4 · kokoro-js · Vite 8 · Biome · Vitest.

License

MIT

About

A local-first journaling app: blank-canvas editor with autosave and read-aloud TTS (Web Speech, in-browser Kokoro-82M, OpenAI-compatible, ElevenLabs)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages