A single-person Notion is a block editor, a page tree and a few database views, and an agent can assemble that from Tiptap and SQLite in a weekend. It will be pleasant for notes and light tracking. It will not match relations and rollups that people chain together, sharing and permissions, the AI features, the mobile apps or a reliable offline mode. Treat it as a replacement for a personal subset, and use AppFlowy, AFFiNE or SiYuan if you want a finished product.
Before you buildNotion Free is built for individuals, with unlimited blocks for a single-person workspace. If you work alone and files stay under 5 MB, you may not need to pay.
Build me a personal workspace app to replace Notion for notes and simple databases. Requirements: - Node.js 22 + TypeScript: a Fastify API and a React front end built with Vite. The editor is `@tiptap/react` (MIT) with StarterKit, task lists, tables, code blocks with lowlight and a `/` menu. `npm start` serves http://localhost:4300. - Storage: better-sqlite3 in ./data/workspace.db. Pages form a tree (parent id, position) and keep their document as Tiptap JSON plus plain text in an FTS5 index. Uploaded files go to ./data/files/. - Sidebar with the page tree (drag to reorder and nest), favourites, and a trash that keeps pages for 30 days. Ctrl+K searches titles and body text. [[Page name]] links work, with a backlinks panel. - Databases: a page can be a database with typed properties (text, number, select, multi-select, date, checkbox, URL, relation to another database). Each database has views: table, board grouped by a select property, and calendar by a date property, with filters and sorts saved per view. - Embed a database view inside any page as a block. - Import a Notion export zip (Markdown & CSV): keep the folder nesting, turn each CSV into a database with guessed property types, and list everything skipped. Relations and rollups arrive as plain text. - Export: a page as Markdown, and the whole workspace as a zip of .md files and CSVs. - Single user. No accounts, no telemetry, local-first; bind to 127.0.0.1. - Out of scope: real-time collaboration, sharing and permissions, web publishing, formulas and rollups, AI features, offline sync, mobile apps. - README: setup, where the data lives, how to back it up, and an honest list of what the Notion import loses.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Notion.
Add templates to the workspace app in this folder. Requirements:
- Mark any page as a template; a "New from template" menu creates a copy with its content and
child pages, replacing {{date}} and {{title}} placeholders.
- A "Today" button that opens or creates a page named YYYY-MM-DD under a Journal page, from a
template if one exists.
- Database templates fill default property values for new rows.
- Update the README.Add formula and rollup properties to the databases in this folder. Requirements:
- A formula property evaluated with `mathjs` in a locked-down instance (no import, createUnit
or evaluate), referencing other properties as {Name}, with IF, CONCAT, ROUND and DATEDIFF helpers.
- A rollup property over a relation with count, sum, min, max and average of a target property.
- Recompute dependants when a row changes, detect cycles, and show errors in the cell instead of failing.
- Update the README.Add page sharing to the workspace app in this folder. Requirements: - A Share button creates a random token and a read-only URL at /p/<token>; revoking deletes it. - Render shared pages server-side without the sidebar, and include their sub-pages only if I tick a box. - When SHARE_PORT is set in .env, serve only /p/* and its files on that port, bound to 0.0.0.0, while the editor stays on 127.0.0.1. Rate-limit per IP and set noindex headers. - Update the README with how to expose the share port through a tunnel.
Notion lets non-developers build a workspace of linked pages and databases that a whole team can edit together, then adds AI on top of the same content. Leaving means rebuilding databases, relations and permissions, which is why even people who complain about speed tend to stay.
Estimate · Runs on your machine for free; a small VPS adds a few dollars a month for access from other devices. The build is token usage on your agent plan, and the importer takes extra rounds.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | Unlimited blocks for one person but up to 1,000 with two or more members, 5 MB files, 7 days of history, 10 guests, a trial of Notion AI, basic forms and sites, 1 chart. |
| Plus | $12 | $10 | Unlimited blocks and file uploads, 30 days of history, unlimited guests and charts, custom forms and sites, database automations, a limited trial of Notion AI. |
| Business | $24 | $20 | Adds Notion Agent, AI meeting notes, enterprise search, SAML SSO, private teamspaces, granular database permissions and 90 days of history. |
| Enterprise | custom | — | Adds SCIM, audit log, unlimited history, zero data retention with AI providers and a customer success manager. |
Free is built for one person: unlimited pages and blocks for an individual, 5 MB per uploaded file, 7 days of page history and up to 10 guests.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Real-time editing, comments, mentions and permissions for a team, Relations between databases that still behave, plus formulas and rollups.
About $12 a month on the Plus plan per seat, $144 a year (checked 2026-10-14).
Real-time editing, comments, mentions and permissions for a team; Relations between databases that still behave, plus formulas and rollups; Notion AI, the agent, meeting notes and enterprise search; Publishing pages as websites on notion.site or a custom domain, and the public API with webhooks; Mobile apps and dependable offline use. If any of those matter to you, keep paying.
Yes: AppFlowy (open source), AFFiNE (open source), SiYuan (open source).