explaingit

epicenterhq/epicenter

4,531TypeScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

A suite of local-first apps (voice transcription, note-taking, tab manager) that store your data as plain files on your own machine and sync across devices with end-to-end encryption, no cloud lock-in.

Mindmap

mindmap
  root((Epicenter))
    Apps
      Whispering voice notes
      Opensidian note-taking
      Tab Manager extension
    Storage
      Plain text files
      SQLite database
      Git-versionable
    Sync
      Yjs CRDTs
      E2E encrypted
      Self-hosted relay
    Tech Stack
      TypeScript
      Svelte Tauri
      Tailwind CSS
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Use Whispering to transcribe voice notes with a keyboard shortcut using your own AI API key or a local model.

USE CASE 2

Take encrypted notes in Opensidian that sync in real time across your Mac, Windows, and Linux devices.

USE CASE 3

Manage and sync browser tabs across devices with the Tab Manager extension and AI chat over your workspace.

USE CASE 4

Build your own local-first app with multi-device sync by using the @epicenter/workspace shared library.

Tech stack

TypeScriptSvelteTauriSQLiteTailwind CSS

Getting it running

Difficulty · moderate Time to first run · 30min

Desktop app requires Tauri, voice transcription needs an OpenAI-compatible API key or a local AI model configured.

No license information was mentioned in the explanation.

In plain English

Epicenter is a collection of open-source, local-first apps that store everything in a single folder on your own machine. Notes, voice transcripts, and chat histories live as plain text files and a SQLite database that you control. Because the data stays on your device, you can open it with other tools, search it with standard command-line tools, version it with Git, or host it wherever you like. Sync across your devices works through a technology called Yjs CRDTs, which lets multiple devices merge changes without conflicts. The sync server acts only as a relay, meaning your content is encrypted on the device before it leaves, and the server never sees what you store. The plain text and SQLite files on disk are a by-product of that sync layer, not the primary storage, which means they are always up to date and human-readable. The ecosystem currently includes three apps. Whispering is a desktop application that lets you press a keyboard shortcut, speak, and get text transcribed. It works with your own API key or with a local AI model. Opensidian is a note-taking app with a built-in terminal, end-to-end encryption, and real-time sync across devices. The Tab Manager is a browser extension side panel for organizing browser tabs, with workspace sync and an AI chat feature that can interact with your workspace data. All three apps are built on a shared library called @epicenter/workspace, which handles the CRDT logic, typed data schemas, encryption, and sync. This library is also available for other developers who want to build their own local-first apps with multi-device sync already handled. The project is built with TypeScript, Svelte, Tauri for the desktop app, and Tailwind CSS. It runs on macOS, Windows, and Linux.

Copy-paste prompts

Prompt 1
Set up Whispering from the Epicenter repo to transcribe voice with a keyboard shortcut on macOS. What API key or local model do I need and how do I configure it?
Prompt 2
How does Epicenter use Yjs CRDTs to sync notes across devices without conflicts? Explain the sync architecture in plain English.
Prompt 3
I want to build a local-first app with multi-device sync using @epicenter/workspace. Walk me through the key APIs for creating a typed data schema and syncing it.
Prompt 4
How does Epicenter's end-to-end encryption work, where does encryption happen and what does the sync relay server actually see?
Prompt 5
Compare Opensidian from Epicenter to Obsidian. What features does each have and when would I choose one over the other?
Open on GitHub → Explain another repo

← epicenterhq on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.