Source: https://seerepo.com/r/TypeCellOS/BlockNote/built
Markdown source: https://seerepo.com/r/TypeCellOS/BlockNote/built.md
Description: BlockNote is a TypeScript repo built with React and Hono. It uses AI through ai, ai-sdk, and OpenAI. It has 262,847 written lines, with 801 test files.

# What is BlockNote built with?

BlockNote is a TypeScript repo built with React and Hono. It uses AI through ai, ai-sdk, and OpenAI, makes its content with shikijs, @react-email/components, docx, katex, mathml2omml, and 4 more, is tested with xml-formatter, jsdom, msw, and @cantoo/pdf-lib, and deploys with @hono/node-server. It has 262,847 written lines, with 801 test files.

Read on November 13, 2026, at commit 58a40d2.

Repository: https://github.com/TypeCellOS/BlockNote

## Frontend (packages/ariakit)

### The base

- **[React](https://seerepo.com/uses/react)**: 27 files

### Interface

- **Ariakit**: 21 files

## Frontend (packages/code-block)

### Styles

- **@shikijs/themes**: 1 file

## Support (packages/code-block)

### Content

- **shikijs**: 1 file

### Tools

- **vite-plus**: 1 file

## Frontend (packages/core)

### Interface

- **[ProseMirror](https://seerepo.com/uses/prosemirror)**: 78 files
- **[tiptap](https://seerepo.com/uses/tiptap)**: 61 files
- **prosemirror-highlight**: 1 file

## Support (packages/core)

### Tools

- **vite-plus**: 3 files
- **@shikijs/types**: 2 files

### Other

- **y**: 12 files
- **yjs**: 11 files
- **lib0**: 9 files
- **y-prosemirror**: 8 files
- **fast-deep-equal**: 1 file
- **y-protocols**: 1 file

## Frontend (packages/diagram-block)

### The base

- **[React](https://seerepo.com/uses/react)**: 2 files

### Interface

- **[pele](https://seerepo.com/uses/pele)**: 1 file

### Icons

- **[react-icons](https://seerepo.com/uses/react-icons)**: 3 files

## Support (packages/diagram-block)

### Content

- **[@react-email/components](https://seerepo.com/uses/react-email-components)**: 1 file
- **[docx](https://seerepo.com/uses/docx)**: 1 file

### Tools

- **vite-plus**: 1 file

### Other

- **@zip.js/zip.js**: 3 files

## Frontend (packages/mantine)

### The base

- **[React](https://seerepo.com/uses/react)**: 28 files

### Interface

- **[Mantine](https://seerepo.com/uses/mantine)**: 25 files

### Icons

- **[react-icons](https://seerepo.com/uses/react-icons)**: 1 file

## Support (packages/mantine)

### Tools

- **vite-plus**: 1 file

## Frontend (packages/math-block)

### The base

- **[React](https://seerepo.com/uses/react)**: 5 files

### Interface

- **[ProseMirror](https://seerepo.com/uses/prosemirror)**: 3 files

### Icons

- **[react-icons](https://seerepo.com/uses/react-icons)**: 4 files

## Support (packages/math-block)

### Content

- **[katex](https://seerepo.com/uses/katex)**: 2 files
- **[@react-email/components](https://seerepo.com/uses/react-email-components)**: 1 file
- **[docx](https://seerepo.com/uses/docx)**: 1 file
- **mathml2omml**: 1 file
- **tex2typst**: 1 file

### Testing

- **xml-formatter**: 1 file

### Tools

- **vite-plus**: 1 file

### Other

- **@zip.js/zip.js**: 2 files
- **mathjax-full**: 1 file

## Frontend (packages/react)

### The base

- **[React](https://seerepo.com/uses/react)**: 122 files

### Interface

- **[@floating-ui/react](https://seerepo.com/uses/floating-ui-react)**: 15 files
- **[tiptap](https://seerepo.com/uses/tiptap)**: 10 files
- **frimousse**: 3 files

### Icons

- **[react-icons](https://seerepo.com/uses/react-icons)**: 39 files

## Support (packages/react)

### Tools

- **vite-plus**: 1 file

### Other

- **use-sync-external-store**: 2 files
- **fast-deep-equal**: 1 file

## Frontend (packages/server-util)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file

### Interface

- **@tiptap/pm**: 1 file

## Support (packages/server-util)

### Testing

- **jsdom**: 2 files

### Tools

- **vite-plus**: 1 file

### Other

- **yjs**: 1 file

## Frontend (packages/shadcn)

### The base

- **[React](https://seerepo.com/uses/react)**: 35 files

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**
- **[class-variance-authority](https://seerepo.com/uses/class-variance-authority)**: 4 files
- **[tailwind-merge](https://seerepo.com/uses/tailwind-merge)**: 1 file

### Interface

- **[Base UI](https://seerepo.com/uses/base-ui)**: 10 files

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 3 files

## Support (packages/shadcn)

### Other

- **clsx**: 1 file

## Backend (packages/xl-ai-server)

### The base

- **[Hono](https://seerepo.com/uses/hono)**: 6 files · [in packages/xl-ai-server/package.json](https://github.com/TypeCellOS/BlockNote/blob/58a40d2f55553110266de6bd644026b863ae5445/packages/xl-ai-server/package.json)

### AI

- **[ai](https://seerepo.com/uses/ai)**: 4 files
- **[ai-sdk](https://seerepo.com/uses/ai-sdk)**: 1 file

### Services

- **[OpenAI](https://seerepo.com/uses/openai)**: 2 files · [packages/xl-ai-server/src/routes/regular.ts, line 1](https://github.com/TypeCellOS/BlockNote/blob/58a40d2f55553110266de6bd644026b863ae5445/packages/xl-ai-server/src/routes/regular.ts#L1)

## Support (packages/xl-ai-server)

### Deploy

- **[@hono/node-server](https://seerepo.com/uses/hono-node-server)**: 1 file

### Other

- **undici**: 1 file

## Frontend (packages/xl-ai)

### The base

- **[React](https://seerepo.com/uses/react)**: 3 files

### Interface

- **[ProseMirror](https://seerepo.com/uses/prosemirror)**: 10 files
- **[@floating-ui/react](https://seerepo.com/uses/floating-ui-react)**: 1 file
- **@tiptap/core**: 1 file
- **prosemirror-changeset**: 1 file

### Icons

- **[react-icons](https://seerepo.com/uses/react-icons)**: 4 files

## Backend (packages/xl-ai)

### AI

- **[ai](https://seerepo.com/uses/ai)**: 13 files
- **[ai-sdk](https://seerepo.com/uses/ai-sdk)**: 7 files

## Support (packages/xl-ai)

### Testing

- **msw**: 4 files

### Tools

- **glob**: 1 file
- **vite-plus**: 1 file

### Other

- **undici**: 1 file
- **yjs**: 1 file

## Support (packages/xl-docx-exporter)

### Content

- **[docx](https://seerepo.com/uses/docx)**: 6 files

### Testing

- **xml-formatter**: 1 file

### Tools

- **vite-plus**: 1 file

### Other

- **@zip.js/zip.js**: 3 files
- **buffer**: 1 file

## Frontend (packages/xl-email-exporter)

### The base

- **[React](https://seerepo.com/uses/react)**: 2 files

## Support (packages/xl-email-exporter)

### Content

- **[react-email](https://seerepo.com/uses/react-email)**: 3 files

### Tools

- **vite-plus**: 1 file

### Other

- **web-streams-polyfill**: 1 file

## Frontend (packages/xl-multi-column)

### Interface

- **[ProseMirror](https://seerepo.com/uses/prosemirror)**: 3 files
- **@tiptap/pm**: 1 file

### Icons

- **[react-icons](https://seerepo.com/uses/react-icons)**: 1 file

## Support (packages/xl-multi-column)

### Tools

- **vite-plus**: 1 file

## Frontend (packages/xl-odt-exporter)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file

## Support (packages/xl-odt-exporter)

### Tools

- **vite-plus**: 1 file

### Other

- **@zip.js/zip.js**: 1 file

## Frontend (packages/xl-pdf-exporter)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file

## Support (packages/xl-pdf-exporter)

### Content

- **@react-pdf/renderer**: 8 files

### Testing

- **@cantoo/pdf-lib**: 1 file

### Tools

- **react-element-to-jsx-string**: 1 file
- **vite-plus**: 1 file

## Support (packages/xl-typst-compiler)

### Content

- **Typst**: 1 file

### Tools

- **vite-plus**: 1 file

### Other

- **comemo**
- **console_error_panic_hook**: 1 file
- **js-sys**: 1 file
- **serde**: 1 file
- **serde-wasm-bindgen**: 1 file
- **wasm-bindgen**: 1 file

## Support (packages/xl-typst-exporter)

### Tools

- **vite-plus**: 1 file

## Support (shared)

### Testing

- **xml-formatter**: 1 file

### Tools

- **vite-plus**: 1 file

### Other

- **@zip.js/zip.js**: 1 file

## Other repos with a similar stack

- [THU-MAIC/OpenMAIC](https://seerepo.com/r/THU-MAIC/OpenMAIC/built): React, Hono, OpenAI, ProseMirror, docx, katex, Tailwind CSS, class-variance-authority, tailwind-merge, Base UI, Lucide, ai, ai-sdk, @hono/node-server · [Compare](https://seerepo.com/compare/THU-MAIC/OpenMAIC/vs/TypeCellOS/BlockNote)
- [novuhq/novu](https://seerepo.com/r/novuhq/novu/built): React, Hono, tiptap, react-icons, @react-email/components, Tailwind CSS, class-variance-authority, tailwind-merge, Base UI, Lucide, ai, @tiptap/core, react-email · [Compare](https://seerepo.com/compare/novuhq/novu/vs/TypeCellOS/BlockNote)
- [reactive-resume/reactive-resume](https://seerepo.com/r/reactive-resume/reactive-resume/built): React, Hono, OpenAI, tiptap, docx, Tailwind CSS, class-variance-authority, Base UI, ai, ai-sdk, @hono/node-server, react-email · [Compare](https://seerepo.com/compare/reactive-resume/reactive-resume/vs/TypeCellOS/BlockNote)
- [twentyhq/twenty](https://seerepo.com/r/twentyhq/twenty/built): React, OpenAI, tiptap, @floating-ui/react, frimousse, Base UI, ai, ai-sdk, @tiptap/core, react-email, @react-pdf/renderer · [Compare](https://seerepo.com/compare/twentyhq/twenty/vs/TypeCellOS/BlockNote)
- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): React, OpenAI, tiptap, docx, katex, Tailwind CSS, class-variance-authority, tailwind-merge, Lucide, ai, ai-sdk · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/TypeCellOS/BlockNote)
- [cline/cline](https://seerepo.com/r/cline/cline/built): React, OpenAI, @shikijs/themes, Tailwind CSS, class-variance-authority, tailwind-merge, Base UI, Lucide, ai, ai-sdk · [Compare](https://seerepo.com/compare/cline/cline/vs/TypeCellOS/BlockNote)

## Frequently asked questions

### What language is BlockNote written in?

BlockNote is written in TypeScript, with 262,847 written lines.

### What framework does BlockNote use?

BlockNote is built with React and Hono.

### Does BlockNote use AI?

Yes. BlockNote uses AI through ai, ai-sdk, and OpenAI.

### Does BlockNote have tests?

Yes. BlockNote has 801 test files and is tested with xml-formatter, jsdom, msw, and @cantoo/pdf-lib.

### Which repos have a stack like BlockNote's?

The ones that share most of its stack: THU-MAIC/OpenMAIC, novuhq/novu, and reactive-resume/reactive-resume.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
