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.