A block editor with a document tree, daily notes, backlinks and search is a project an agent can build on Tiptap and SQLite in a weekend, and for one person on one computer it can be pleasant to use. What Craft sells is the feel: native Mac, iPhone and iPad apps, quick sync between them, shared spaces and an editor Apple has recognised for its design. Those are the parts a prompt can't deliver, so a self-built version is a private notes tool, not Craft with the price taken off.
Before you buildCraft Free keeps up to 1,500 blocks with sync and link sharing: check how big your library is before paying $8 a month, since small notebooks may fit.
Build me a personal block-based notes app to replace Craft. Requirements: - Node.js 22 + TypeScript: a Fastify server and a React UI built with Vite, with the editor on `@tiptap/react`. `npm start` serves everything on http://127.0.0.1:4730. Storage: better-sqlite3 in ./data/notes.db and pasted images in ./data/files/. - Documents form a tree: any document can hold child documents, shown in a sidebar with drag to reorder and move. A Daily Notes document per date is created on first open, and a Today button jumps to it. - Blocks: paragraphs, headings 1-3, bullet, numbered and checkbox lists, quotes, code blocks with highlighting (`lowlight`), tables, dividers, collapsible toggles and images (paste or drop). A "/" menu inserts any block, and Markdown shortcuts such as #, -, [ ] and ``` work. - Links and search: typing [[ opens a picker of documents, and every document lists its backlinks. Cmd+K opens a search palette over titles and bodies with SQLite FTS5. - History: store each body as ProseMirror JSON plus a plain-text copy for search. Keep a snapshot at most every 5 minutes while editing, for 30 days, with a restore button that first snapshots the current text. - Export: one document or the whole space as a ZIP of Markdown files that keep the tree as folders, with images in an assets folder and relative links. Test it by re-importing the ZIP into an empty database and comparing the text. - Import Craft's Markdown export from a folder or ZIP: map folders to the tree and image links to ./data/files/, show a count of documents and images, and ask before writing. Running it twice must not duplicate documents. - Single user. No accounts, no telemetry, local-first; listen on 127.0.0.1 only and make no outbound calls. - Out of scope: native apps, real-time collaboration, shared spaces, public share links, AI features, sync between devices. - README: setup, where the data lives, how to back it up (copy ./data), and the editor's known limits.
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 Craft.
Add share links to the notes app in this folder. Requirements: - A Share button on a document creates a random 24-character token and a public URL at /s/<token> served by a second listener (PUBLIC_PORT in .env); the editor stays on 127.0.0.1. - The public page is static HTML rendered from the document with no scripts, including its images; child documents are not included. - Revoke a link at any time; revoked and unknown tokens return the same 404 page. - A page lists all active links with their creation dates. - Update the README with the Caddy setup for HTTPS.
Add a tasks page to the notes app in this folder. Requirements: - Scan every document for checkbox items; a date written as @2026-11-03 or @tomorrow in the item's text is its due date. - An Upcoming page groups open tasks by Overdue, Today, This week and Later, with the source document as a link; ticking a task here ticks it in the document. - Re-index only documents that changed since the last scan. - A test covers dates inside nested lists and a task moved between documents. - Update the README.
Add quick capture to the notes app in this folder. Requirements:
- A /capture page with one text box that appends the text as a new block at the end of
today's Daily Note, with the time.
- A bookmarklet that sends the current page's title and URL to the same endpoint.
- A `POST /api/capture` route that takes JSON {text} and needs the token from CAPTURE_TOKEN
in .env, so a phone shortcut can call it over Tailscale.
- Escape everything that is rendered back.
- Update the README.Make the notes app in this folder usable from my phone. Requirements: - A responsive layout below 640px wide: the tree in a drawer, a full-width editor, a bottom bar for Today, Search and New. - A web app manifest and icons so it installs to the home screen. - Reach it over Tailscale: the server keeps listening on 127.0.0.1 and the README explains `tailscale serve` to expose it to my devices only. - Never listen on 0.0.0.0 and add no login of its own. - Update the README with the Tailscale steps.
Craft is paid for its feel: native apps on Apple devices that open fast and sync, an editor people enjoy writing in, and a link to share any document. At $8 a month that is cheap next to the hours a self-hosted version takes to approach the iPhone app, and years of documents make switching a chore.
Estimate · Runs on your own machine for free; the upper figure is a small VPS if you want to reach the notes from other devices. The build session is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 1,500 blocks across all documents, 1 GB of storage, 25 MB media uploads, link sharing, cross-device sync, 7 days of version history, 15 AI credits with the Core and Fast models. |
| Plus | $8 | $6.40 | No block limit, unlimited storage and media uploads, 30 days of version history, 50 AI credits a month, and the Max AI model on top of Core and Fast. |
| Family | $15 | $12 | A fixed-price bundle of 2 to 6 Plus accounts that can collaborate in a shared Space. |
| Team | $50 | — | A fixed-price bundle of up to 10 Plus accounts that collaborate in a shared Space. |
Free allows up to 1,500 blocks across all documents with 1 GB of storage, cross-device sync, link sharing and 15 AI credits.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Native Mac, iPhone and iPad apps that sync between devices, Shared Spaces and sharing a document with a link.
About $8 a month on the Plus plan, $96 a year (checked 2026-10-19).
Native Mac, iPhone and iPad apps that sync between devices; Shared Spaces and sharing a document with a link; The AI assistant, plus Craft's API and MCP access to your documents; Editing polish: drag-and-drop blocks and page layouts that feel right on a touchscreen; A sync service you don't have to run or back up yourself. If any of those matter to you, keep paying.
Yes: AppFlowy (open source), AFFiNE (open source), SiYuan (open source).