A wiki/knowledge base on ATProto. Sign in with your Bluesky account, create public or private wikis, write in plain markdown with [[wikilinks]]. Your data lives on your PDS — it outlives the app.
Obsidian-compatible. Non-dev friendly. Simple by design.
Getting Started#
bun install
bun run dev
Server starts at http://localhost:3000. The database auto-seeds with sample wikis and notes on first run.
Architecture#
Philosophy#
- One account, many apps — ATProto identity as passport
- Data outlives the app — records on PDSes forever
- Self-hostable — clone, set env vars, run your own appview
- Flat notes, not folders — fuzzy finder over hierarchy
- Simple — minimal config, no unnecessary features in v1
- Honest — transparent about what's stored where and why
Three layers#
PDSes — the permanent record. Each contributor writes their own revision records to their own PDS via OAuth. No one writes to anyone else's PDS.
AppView — our server. Ingests records from the firehose, materializes current state of each wiki, enforces access control, serves all reads.
App PDS — our own PDS instance for private wikis only. Private wiki records live here instead of users' public PDSes. Users still authenticate with their Bluesky identity.
Data model#
Portable vs. appview-local data#
Protocol data (on PDSes, visible via firehose) is portable across appviews. Local data is each appview's value-add.
| Portable (ATProto records) | Local (appview-only) |
|---|---|
| Wikis, notes, revisions | View counts |
| Bookmarks | Trending / popularity rankings |
| Memberships | Curated themes / categories |
| Edit history | Search index |