epicenter: Build Local-First Apps With Synchronized Data

Summary
Epicenter is a TypeScript project for building local-first apps around a store users own. It keeps app data on-device in a Yjs document and synchronizes it across signed-in devices, with Honeycrisp as its current example.
At a glance
- Language
- TypeScript
- License
- NOASSERTION
- Stars
- 4.8k
- Forks
- 385
- Added to OSRepos
- February 1, 2026
- Last analyzed
- October 4, 2026
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
Epicenter is a platform and collection of apps built around local-first data: each app's data lives in a Yjs document on the user's device, so it remains available offline. When a user signs in on another device, the documents synchronize rather than relying on a server as the only copy.
It is aimed at developers building apps where offline access and user control of data matter. Its store exposes synchronous reads and writes after an asynchronous open step. Honeycrisp, a notes app, is the current app running on the store. Other apps in the repository use separate storage approaches, so Epicenter is not a single uniform app suite.
Key Features
- Stores an application's data in one Yjs document, with tables, key-value data, and rich content.
- Provides a synchronous data API after the database is opened.
- Supports offline use, then syncs document updates across signed-in devices.
- Uses a Cloudflare Durable Object per account and application as the sync authority.
- Includes Honeycrisp as a working local-first notes app built on the store.
- Includes shared packages for data, SQLite adapters, sync, UI, and server functionality.
- Offers hosted and self-hosted server paths, with different infrastructure trust boundaries.
Use Cases
- Build a notes or similar personal app that must remain usable without a network connection.
- Prototype a local-first application with structured rows and collaborative rich text stored together.
- Develop applications where users should retain a local copy rather than depend on a server-held dataset.
- Run the sync authority on infrastructure you control when the hosted service is outside your trust boundary.
Project Facts
- Language: TypeScript
- License: NOASSERTION
- Stars: 4.8k
- Forks: 385
- Topics: svelte, sveltekit, tailwindcss, tauri
- Archived: false
Getting Started
Clone the repository and install dependencies with Bun:
git clone https://github.com/EpicenterHQ/epicenter.git
cd epicenter
bun install
See the README for app-specific development commands and setup requirements.
Considerations
- The README describes a desktop SPA in a WebView as the supported runtime. A hosted web runtime with a host-owned data replica and third-party installed apps are not supported.
- Signed-in sync sends opaque update bytes to a server that can read the data in plaintext. Self-hosting lets operators control that infrastructure boundary.
- The repository contains apps at different stages: Honeycrisp runs on the store, some apps compile against it, and others use separate storage systems.
- The API development setup requires local Postgres and Infisical. Tauri apps require Rust.
- The supplied license field is
NOASSERTION, while the README describes AGPL-3.0 licensing. Check the repository's license files before using or distributing it.
Found this useful?
Share it with someone who would like epicenter.
Source repository
Open the original repository on GitHub.
8 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

OrcaReplay: Record and Replay AI Agent Runs
October 2, 2026
OrcaReplay records AI agent runs so developers can inspect what happened, replay interactions offline, and fork a run from a checkpoint onto another model. It is a TypeScript CLI for debugging and comparing agent behavior without modifying the agent.

openmake_llm: Coordinate AI Models, Agents, and Tools
October 1, 2026
OpenMake is a self-hosted AI workspace that coordinates chat models, agents, and tools in one place. It suits people who want multi-step AI workflows with local or open-weight models, while keeping infrastructure and model choices under their control.

zennotes: Manage Markdown Notes with Keyboard-First Tools
October 1, 2026
ZenNotes is a local-first Markdown notes app for people who prefer plain files, keyboard navigation, and Vim motions. It runs as an Electron desktop app or a self-hosted web app, with search, diagrams, CLI, and MCP integrations.

Kun: Local-First AI Agent Workspace
September 27, 2026
Kun is a local-first workspace for using AI agents across coding, writing, design, research, and automation. Its desktop GUI and terminal TUI share one runtime, keeping tasks and approvals connected.