Back to browse
GitHub Repository

High performance document editor built on Lexical

4 starsTypeScript

HawkDoc – open-source Notion-style editor built on Lexical

by ellizabeth·Mar 9, 2026·6 points·1 comment

AI Analysis

MidShip It

Another Lexical-based Notion clone with collaboration still marked as planned, not working.

Strengths
  • Template variable injection with {{variable_name}} syntax for dynamic document placeholders.
  • Redis buffering for Yjs deltas prevents keystroke-level database writes every 30 seconds.
  • PDF, Markdown, and HTML export all functional in current MVP stage.
Weaknesses
  • Real-time collaboration and auth are skeleton code, not actually implemented yet.
  • SuperDoc, AppFlowy, and dozens of Lexical editors already serve this exact use case.
Category
Target Audience

Developers building document editors or Notion alternatives

Similar To

SuperDoc · AppFlowy · Outline

Post Description

I was trying to use SuperDoc for a project and kept running into limitations. Customisation was harder than expected and the performance was not where I needed it. So I decided to build my own editor called \HawkDoc\, using Claude as a coding assistant for a large part of the development.

HawkDoc is focused on fast document editing with zero-lag typing. Many editors re-render large parts of the UI on every keystroke or ship heavy dependencies just to support basic formatting. I wanted something simpler and faster.

Tech stack:

- Lexical (Meta) as the editor engine. Its node-based architecture avoids full re-renders during formatting operations. - Yjs + Hocuspocus for real-time collaboration using CRDTs, allowing conflict-free document syncing. - Redis + PostgreSQL for storage. Yjs deltas are first written to Redis and flushed to Postgres every 30 seconds so the database does not receive keystroke-level writes. - React + TypeScript for the frontend UI. - @react-pdf/renderer for client-side PDF export with watermark support.

What works today:

- Block based editor - Slash commands - Template variable injection (`{{variable_name}}` rendered as styled chips) - Image uploads - Markdown, HTML, and PDF export - Auto-save - Selection bubble menu

What is still in progress:

- Real-time collaboration UI - Document workspace and file list - DOCX import - Version history - Authentication UI (JWT backend already implemented)

Claude Code helped speed up a lot of the early development, especially when building the editor integrations and export pipeline. I would be interested to hear how others are using AI assistants when building new developer tools.

The project is MIT licensed and open for feedback and contributions.

GitHub: [https://github.com/hawk-doc/hawkdoc](https://github.com/hawk-doc/hawkdoc)

Similar Projects