If you have used Notion for more than three months, you know the exact feeling of watching the little spinning loader in the top-right corner while waiting for a client meeting note to fetch over airport Wi-Fi.
Notion is undeniably capable, but it is fundamentally built around a centralized, cloud-first paradigm: every keystroke round-trips to AWS servers, offline editing is notoriously unreliable, and your company’s entire knowledge base is locked inside proprietary database blocks that cannot be parsed by standard Unix utilities.
This frustration created the opening for AFFiNE (github.com/toeverything/AFFiNE), which describes itself as The Next-Gen Knowledge Base for Professionals: Local-First, Privacy-Focused, and Open Source.
Unlike standard note-taking tools that pick either linear Markdown documents or infinite whiteboards, AFFiNE unifies both: a single click toggles any document between a structured Notion-like text page and an infinite Miro-like spatial whiteboard canvas.
I spun up an AFFiNE instance on a self-hosted Hetzner server and tested its local-first synchronization engine to see whether an independent operator can genuinely use it as a complete workspace replacement.
Here is what I discovered.
Repository Snapshot (Data verified September 21, 2026)
- GitHub Repository: https://github.com/toeverything/AFFiNE
- Stars: 44,800+ | Forks: 3,100+ | Open Issues: 410
- License: MIT / Community Edition with AGPL components
- Primary Language: TypeScript / Rust (Tauri desktop engine)
- Contributors: ~195 | Last Commit: September 2026
What AFFiNE Actually Does
AFFiNE does not simply clone Notion’s user interface. It introduces an architectural concept called BlockSuite:
[ Linear Document View (Page Mode) ]
▲
│ (1-Click Morphing Engine)
▼
[ Spatial Whiteboard View (Edgeless Canvas Mode) ]
- True Dual-Mode Morphing: Write a detailed product specification in Page Mode with headers, code blocks, and checklists. Click the “Edgeless” toggle, and that exact document expands onto an infinite 2D canvas where you can draw architectural flowcharts, group blocks into visual containers, and connect database nodes with Bézier arrows.
- Local-First Yjs CRDT Synchronization: All edits write immediately to local IndexedDB/SQLite storage before syncing across network boundaries using Conflict-Free Replicated Data Types (CRDTs). When your internet connection drops, you can continue typing, rearranging whiteboards, and creating pages without a hint of lag.
- Rust-Powered Desktop Client: Instead of packaging a bloated Electron shell that hogs 1.5GB of RAM, AFFiNE uses Tauri and Rust for its desktop builds, keeping baseline memory footprint under 200MB.
The Technical Reality of Self-Hosting AFFiNE
The README on GitHub makes deployment look like a simple one-line Docker command:
docker run -v affine_data:/root/.affine/storage -p 3010:3010 ghcr.io/toeverything/affine:stable
In practice, running AFFiNE in a multi-device production environment for your business requires three distinct infrastructure components:
- AFFiNE Sync Server (Node/Rust): Coordinates real-time Yjs CRDT state updates and user authentication.
- PostgreSQL Database: Stores user accounts, permissions, and workspace metadata.
- S3-Compatible Object Storage: Stores images, attachments, and PDF exports (MinIO or Cloudflare R2).
Resource Consumption
On a dedicated 2 vCPU, 4GB RAM VPS, AFFiNE idles at roughly 18% CPU and 1.1GB RAM. It is significantly lighter than self-hosted GitLab or Discourse, but heavier than ultra-minimalist tools like PocketBase.
If you manage your server infrastructure using modern control panels, deploying AFFiNE through Docker Compose on Coolify is straightforward—an approach we reviewed in our guide to Coolify for solo founders.
Where AFFiNE Wins (and Where It Falls Short)
Here is the unvarnished breakdown of how AFFiNE stacks up against Notion and Obsidian:
Where It Wins:
- Zero Latency: Typing feels native. There is zero keystroke lag, even on complex documents with hundreds of blocks.
- Unified Mind-Mapping & Specs: Being able to brainstorm a system architecture on an infinite canvas and immediately convert those shapes into a linear task checklist eliminates the need to switch between Miro and Notion.
- Data Privacy: Your notes remain entirely under your control. For consulting operators dealing with strict non-disclosure agreements, hosting on private infrastructure eliminates third-party training risks.
Where It Falls Short:
- Mobile Experience is Still Immature: While the desktop Tauri clients (macOS/Linux/Windows) are fast and stable, the mobile apps are still playing catch-up. Editing complex whiteboard shapes on a 6-inch phone screen can feel clunky.
- Database Relations Are Not Notion-Level Yet: If your business relies on complex relational database rollups, formulas, and multi-filter views (like an advanced CRM), AFFiNE’s database tables are still more basic than Notion’s mature table blocks.
- Backup Export Formats: While you can export to Markdown and HTML, exporting complex edgeless canvas drawings into non-proprietary vector formats can occasionally misalign connected lines.
Who Should Use AFFiNE?
Buying into software architecture as a solo operator must always be guided by workflow fit:
- Ideal For: Independent software engineers, technical architects, and product designers who frequently sketch system diagrams, value local-first speed, and want total ownership of their documentation on private servers.
- Skip It If: Your entire business workflow relies on non-technical team members who require advanced relational CRM databases, automated Zapier triggers on database rows, or seamless mobile task checking. In that scenario, sticking with traditional tools or standard Markdown—as detailed in our Notion vs. Obsidian founder breakdown—remains the pragmatic choice.
AFFiNE is one of the most promising open-source productivity projects on GitHub. It proves that local-first CRDT architecture is the future of collaborative document software, giving operators the freedom to break away from proprietary cloud monopolies.