mrkeyoor.com_
Tue 01 Sept 17:42 UTC
Self-Hostedevaluationupdated 30 Aug 2026

AFFiNE review

AFFiNE is a local-first workspace that combines documents, databases, planning, and a free-form whiteboard in one application. It aims to replace the awkward handoff between a Notion-style knowledge base and a Miro-style canvas while letting users keep data on their own devices or infrastructure.

+63 / 2dstars / 7d
Verdict

Our build failed after 10 seconds, while 1,326 of 1,340 tests passed. AFFiNE is one of the more credible attempts to put structured documents and spatial thinking into a single local-first workspace, but source deployment is not yet a casual weekend install on the evidence we measured. Try the packaged app or live demo first, and treat self-hosting as an engineering project that needs license review, dependency capacity, and browser-test setup.

We ran it

Install✓ · 126s2875 packages · 2514 MB
Build✗ · 10s
Tests✗ · 130s1326 passed · 10 failed · 4 skipped of 1340 (vitest)
Repo10081 files~979,191 lines of source · 122.5 MB · 11 CI workflows · tests dir

Answers from our run

Does AFFiNE build from source?

Dependencies installed in 126 seconds (2875 packages), and the build failed. We cloned commit 4953682 into a clean Debian container with 3 CPUs and no project-specific setup.

Do AFFiNE's tests pass?

Not all of them: 1326 of 1340 passed and 10 failed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Who should not use AFFiNE?

Teams that need a clean source build on the first try, because our measured build failed

What are the alternatives to AFFiNE?

AppFlowy, Outline, Logseq. Our build failed after 10 seconds, while 1,326 of 1,340 tests passed.

Setup2/5Install worked, but build and 10 tests failed in our container
Docs3/5Clear product overview and links, but source path showed friction
Community5/571,999 stars, recent push, release, and active issue tracker
Maturity3/5Broad product scope, but our clean build did not complete

Discussed on

  1. hnThe closest open-source alternatives to Notion and Miro27 points
  2. hnAFFiNE is a next-gen knowledge base12 points
  3. hnThere can be more than Notion and Miro4 points
  4. hnToeverything/AFFiNE: privacy first knowledge base4 points
  5. hnOpen-source, and ready-to-use alternative for Notion and Miro3 points

Who it’s for

Individuals who want notes and visual thinking in the same workspace
Teams willing to evaluate a fast-moving, self-hostable Notion and Miro alternative
Technical organizations that value local-first storage and can operate a large TypeScript monorepo
Contributors interested in block editors, collaborative software, or knowledge tools

Who it’s NOT for

Teams that need a clean source build on the first try, because our measured build failed
Small servers or low-bandwidth setups, because our install occupied 2,514 MB
Buyers who require a clearly identified repository license before adoption
Organizations expecting every browser test to pass in a fresh container without extra setup

Setup reality

In our run, dependency installation succeeded in 126 seconds, installing 2,875 packages and occupying 2,514 MB, but the build failed after 10 seconds because the invoked build command was not found in the expected form. Tests ran for 130 seconds: 1,326 passed, 10 failed, and 4 were skipped out of 1,340, with the log reporting that Playwright had just been installed or updated. That is meaningfully more friction than the README's ready-to-use positioning suggests for source users, although the evidence does not establish whether a documented project-specific command or additional browser setup would resolve it.

AFFiNE combines two kinds of workspace that usually stay separate

AFFiNE is built around a useful premise: writing and spatial thinking should not require separate products. Its README describes documents and whiteboards as one block-based environment, with rich text, sticky notes, linked pages, shapes, embedded web pages, multi-view databases, and slides all placeable on an edgeless canvas. The practical goal is to let a project brief become a visual map, or a database view become part of a presentation, without exporting material between tools.

At commit 4953682, our checkout contained 10,081 files, roughly 979,191 lines of source, and 122.5 MB of repository data. It is a TypeScript monorepo using Yarn workspaces, not a small notes application. Its web and cross-platform clients, collaboration, local storage, cloud sync, editors, databases, and canvas behavior also raise the cost of maintaining a private deployment.

Our clean install worked, but the build did not

On our 3-CPU, 8 GB sandbox, dependency installation succeeded in 126 seconds. Yarn installed 2,875 packages, and the dependency tree occupied 2,514 MB. Even before application data or production services, the development environment is large. The checkout includes 11 CI workflow files and a tests directory, but no Dockerfile was detected.

The build failed after 10 seconds with an unknown syntax error. The log said the command was not found and suggested affine build <--package,-p #0> [--deps] [--wait-deps]; it also warned that Browserslist data was 6 months old. We will not infer a root cause beyond that evidence. A source evaluator should verify the current package-specific instructions rather than assume a generic workspace build will work.

Tests ran for 130 seconds. Of 1,340 tests, 1,326 passed, 10 failed, and 4 were skipped; 188 test files passed and 4 failed out of 254. The output also reported 2 errors and said Playwright Test or Playwright had just been installed or updated. The log supports saying browser tooling needed attention in this environment, not that all 10 failures shared one cause.

The merged canvas is the reason to consider it

AFFiNE's strongest idea is the promise that a document block can live beside a shape, database, sticky note, linked page, or slide on one canvas. Teams often keep specifications in one app and workshops in another, then lose context when screenshots and links go stale. The README also presents templates, a live demo, downloads, documentation, Discord, and contribution routes, offering several ways to evaluate the product before operating the 2,875-package development tree.

Local-first storage is another concrete differentiator. The README says data remains on the user's disk while real-time sync and collaboration are available across web and cross-platform clients. Self-hosting and forking are explicitly supported, with dedicated self-hosting documentation. AI-assisted reports, slides, mind maps, planning, drawing, and prototype creation are advertised, though the supplied evidence does not establish model support, cost, privacy boundaries, or quality.

The rough edges matter most to operators

A 2,514 MB install and a monorepo near 1 million source lines demand more patience than a compact wiki. The failed build means we cannot confirm that the checked-out commit produces deployable artifacts under the generic build path. Browser-related test errors also mean maintainers should reproduce the suite in their environment and document any browser installation step before trusting an upgrade.

Licensing needs explicit due diligence. The supplied repository metadata reports NOASSERTION, while the README requires contributors to sign a Contributor License Agreement before pull requests can merge. That metadata is not a license conclusion, but a company should inspect the actual license files and CLA terms. The README says a plugin community and third-party blocks are coming soon, so buyers should not treat that future ecosystem as present.

Recent activity is healthy, while 717 issues signal real complexity

The project has 71,999 GitHub stars. Its latest listed release is v0.27.4 from August 18, 2026, and the repository was pushed on August 28, only 2 days before this review. Those signals indicate active development. One release date cannot prove a regular cadence, so teams should inspect the full history before setting an upgrade policy.

There are 717 open issues. That can reflect a large user base, an ambitious roadmap, or a support burden, and the count alone cannot distinguish among them. Combined with the recent push, release, contribution guide, issue templates, discussions, and Discord, it looks like a living project. Operators should still sample recent bug reports for maintainer response, especially around sync, recovery, and upgrades.

It belongs beside existing identity, backup, and monitoring systems

For an individual, the sensible entry point is the live demo or packaged download, followed by a small local workspace. For a team, AFFiNE should sit inside an operational stack with TLS termination, access controls, backups, restore testing, monitoring, and upgrades. Our run did not test production networking, authentication, synchronization under load, backup restoration, or multi-user conflicts, so none should be assumed from the 1,326 passing tests.

Choose AFFiNE when the merged document-and-canvas model solves a real workflow problem and local-first ownership is worth operational effort. Choose Outline for a conventional team wiki, AppFlowy for a Notion-centered open workspace, or Logseq for linked personal notes. AFFiNE is compelling enough to pilot, but the failed 10-second build, large dependency footprint, 10 failed tests, and unclear license metadata make a staged evaluation wiser than an organization-wide migration.

Alternatives

ProjectWhat it isPick it when
AppFlowy gh↗An open-source, self-hostable workspace focused on documents, databases, and data ownership.Pick this instead when you want a Notion-oriented workspace and do not need AFFiNE's merged whiteboard concept.
Outline gh↗A collaborative team knowledge base with a more conventional wiki structure.Pick this instead when polished team documentation matters more than an edgeless visual canvas.
Logseq gh↗A local-first knowledge tool centered on linked notes and outlines.Pick this instead when personal knowledge management and linked notes outweigh database and presentation features.

What people are saying

  1. [velocity-scout] toeverything/AFFiNE

Sources

  1. AFFiNE GitHub repository
  2. AFFiNE homepage

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →