| layout | default |
|---|---|
| title | Athens Research Knowledge Graph |
| nav_order | 39 |
| has_children | true |
| format_version | v2 |
Project: Athens Research — An open-source, Roam-like knowledge management system built with ClojureScript and graph databases.
Athens Research demonstrates how a graph-first, local-first knowledge system can be built with ClojureScript and Datascript, offering a fully self-hosted alternative to cloud knowledge tools.
This track focuses on:
- understanding block-based editing with bi-directional link management
- working with Datascript in-memory graph databases for knowledge relationships
- building ClojureScript frontends with Re-frame state management
- operating a local-first system with optional real-time collaboration
Athens is an open-source knowledge management system inspired by Roam Research. It uses Datascript (an in-memory graph database) with ClojureScript to provide block-based editing, bi-directional linking, and knowledge graph visualization — all running locally for full data ownership.
| Feature | Description |
|---|---|
| Block-Based Editor | Flexible, composable content editing with outliner UX |
| Bi-Directional Links | Automatic backlinks between pages and blocks |
| Graph Database | Datascript in-memory graph for knowledge relationships |
| Knowledge Graph | Interactive visualization of connections between notes |
| Local-First | All data stored locally, no cloud dependency |
| Real-Time Collab | Multi-user editing with conflict resolution |
graph TB
subgraph Frontend["ClojureScript Frontend"]
EDITOR[Block Editor]
GRAPH[Graph Visualization]
SEARCH[Search Interface]
end
subgraph State["State Management"]
REFRAME[Re-frame Events]
SUBS[Subscriptions]
end
subgraph Data["Data Layer"]
DS[(Datascript DB)]
FS[File System]
SYNC[Sync Engine]
end
Frontend --> State
State --> Data
| Chapter | Topic | What You'll Learn |
|---|---|---|
| 1. System Overview | Architecture | Athens's approach to knowledge management |
| 2. Datascript Database | Data Layer | In-memory graph database, queries, transactions |
| 3. Schema Design | Data Model | Blocks, pages, and relationship modeling |
| 4. Application Architecture | App Flow | Re-frame event flow and state boundaries |
| 5. Component System | UI Layer | Reagent composition and recursive block rendering |
| 6. Event Handling | State Changes | Editing, navigation, and sync event orchestration |
| 7. Block Editor | Editor Core | Outliner commands, hierarchy edits, and UX behavior |
| 8. Rich Text | Rendering | Rich-text tokenization, AST rendering, and safeguards |
| Component | Technology |
|---|---|
| Language | ClojureScript |
| UI Framework | Reagent (React wrapper) |
| State | Re-frame |
| Database | Datascript (in-memory graph) |
| Desktop | Electron |
Ready to begin? Start with Chapter 1: System Overview.
Built with insights from the Athens Research repository and community documentation.
- Start Here: Chapter 1: System Overview
- Back to Main Catalog
- Browse A-Z Tutorial Directory
- Search by Intent
- Explore Category Hubs
- Chapter 1: System Overview
- Chapter 2: Datascript Deep Dive
- Chapter 3: Schema Design
- Chapter 4: Application Architecture
- Chapter 5: Component System
- Chapter 6: Event Handling
- Chapter 7: Block Editor
- Chapter 8: Rich Text
- repository:
athensresearch/athens - stars: about 6.3k
- latest release:
v2.0.0(published 2022-08-22)
- how Athens uses Datascript as an in-memory graph database for knowledge storage
- how bi-directional links and backlinks are managed across pages and blocks
- how Re-frame events and subscriptions drive the ClojureScript application state
- how the block editor handles recursive rendering and outliner-style editing
Generated by AI Codebase Knowledge Builder