My productivity systems have long been productivity problems. I used Notion for just about everything, and while my Notion subscription was paying for itself, it wasn’t quite enough. Miro entered the picture whenever I needed to think visually, and Obsidian stepped in for personal notes and interconnected search. Each app worked well, but I had to deal with three separate worlds.
It was too much hassle for a workflow that relies on speed. So I replaced all three apps with AFFiNE — an infinite canvas in a local-first workspace that can run in the browser, as a desktop app, or on your own server.
Notion’s blocks, minus the vendor lock-in
Local workspaces work offline; syncing is optional
AFFiNE’s Page mode immediately feels familiar if you’ve used Notion. Documents consist of movable blocks, and the editor supports formatted text, Markdown-style input, images, code blocks, embeds, and databases. I could create an article draft, add research underneath it, and turn a group of information into a table or Kanban-style view.
For everyday writing and project tracking, this covered most of what I actually used Notion for. Collections and page properties helped me organize documents without manually reconstructing a complicated folder hierarchy. AFFiNE can also import Notion exports, HTML, and Markdown, but complex Notion databases will require some manual cleanup after migration.
The biggest change, however, is where the data lives. AFFiNE uses local workspaces that remain on your device and work offline. Syncing is optional through AFFiNE Cloud or a self-hosted server. You can start using the desktop app today without first committing your notes to another company’s cloud, even without making an account.
One document, two views, zero copy-pasting
Brainstorming and drafting are the same data now
Edgeless mode is a feature I badly wanted in my note taker because I tend to think visually more often than not. In AFFiNE, with one click, I can take a conventional document and place its blocks on an infinite canvas. Paragraphs, images, sticky notes, shapes, connectors, database views, and drawings could sit beside one another instead of being confined to a vertical page.
That effectively replaced most of my Miro workflow. I used the canvas to map projects, connect related ideas, and rearrange research before starting a project. Instead of copying a finished outline back into another app, I can now just switch the same material into page mode and continue drafting.
This distinction matters a lot to me. In many productivity apps, the whiteboard is a separate object that merely links to the document. In AFFiNE, the document and the infinite canvas are different views of the same data. Moving from brainstorming to writing therefore feels like changing views rather than changing tools.
That said, Miro is the more polished tool for elaborate workshops and large collaborative boards. However, for solo brainstorming, diagrams, mind maps, and project planning, AFFiNE’s canvas is more than enough. More importantly, it keeps my visual thinking attached to the resulting work with zero extra effort.
AFFiNE handles projects; Obsidian still wins on archives
A mature plugin ecosystem is hard for any app to match
AFFiNE also covered much of my Obsidian workflow. I could create linked pages, reference usable blocks, organize pages through collections, and search across the workspace. For research notes connected to active projects, having those features beside my documents and canvases was quite convenient.
However, AFFiNE did not reproduce everything that makes Obsidian powerful. Obsidian’s plain-text files, mature plugin ecosystem, customizable graph, and enormous selection of community workflows are difficult for any single app to match. AFFiNE supports Markdown import and export, but its block-based workspace doesn’t feel as transparent as opening a directory full of simple Markdown files.
AFFiNE is better at turning notes into work, but Obsidian is better at maintaining a deeply customized, durable personal knowledge base. I can move project-related notes into AFFiNE with ease, but I’m yet to figure out how to migrate every reference note I have accumulated over the years.
MIT for the editor, source-available for the backend
Docker Compose gets you self-hosted in under an hour
If data controls matter to you as it does to me, AFFiNE is one of the most appealing options you have. Its local mode offers unlimited workspaces and unrestricted document and edgeless editing. Docker Compose provides an official route to self-hosting without much hassle. The editor and much of the codebase use the MIT license, although the server backend uses AFFiNE’s source-available enterprise edition license — an important thing to keep in mind for production deployments.
The only major tradeoff I can find is maturity. AFFiNE is trying to compete with multiple highly developed products simultaneously, and some rough edges will catch you off guard from time to time. The occasional lag, bugs, weaker export options, limited integrations, and missing database capabilities compared with established alternatives are all issues you’ll run into. Large canvases and databases can also affect performance more than I’d like.
Three apps down to one, mostly
Specialized tools still win at the extremes
AFFiNE did not completely replace all three apps, but it eliminated far more context switching than I expected. It handled my drafts, lightweight databases, project dashboards, diagrams, and most active research inside one coherent workspace.
I would still choose specialized programs like Miro for a complex team workshop, Notion for an organization built around advanced databases and integrations, and Obsidian for a heavily customized Markdown archive. For the substantial middle ground between those extremes, however, AFFiNE does a surprisingly good job.