Skip to content

Notion — Notes#

Functional#

  • Block-based pages with rich content.
  • Inline databases with multiple views.
  • Real-time multi-user editing.
  • Comments, mentions, reminders.
  • Offline support.
  • AI / search.

Non-functional#

  • p99 sync < 1 s.
  • Workspaces up to 10s of thousands of users.
  • Offline editing must reconcile cleanly.

Trade-offs#

  • Block as universal primitive = expressive but verbose.
  • Postgres at scale demands sharding (workspace).
  • Tree with permissions inheritance: change at parent cascades.

Refs#

  • Notion engineering blog ("Sharding our Postgres", "Building Notion AI").
  • ByteByteGo "Design Notion".