Abhishek Deb
All projects
Local-first authoringLive · Open source

Awthor

A local-first workspace for planning, drafting, revising, and exporting long-form manuscripts without requiring an account.

Awthor local-first novel-writing workspace overview

What it is

Awthor is a free, open-source, local-first workspace for planning, drafting, proofreading, reading, and exporting novels. Writers can begin without an account, the default workspace keeps the manuscript in the browser, and cloud synchronization remains optional.

Problem being solved

Many writing tools place accounts, subscriptions, cloud storage, or proprietary formats between a writer and their manuscript. Awthor is designed for writers who want a focused drafting environment while retaining privacy, portability, and control over their work.

How it solves the problem

  • Combine Markdown drafting, rendered reading, focus modes, chapter organization, story planning, and word counts in one workspace.
  • Autosave manuscripts to IndexedDB and run Harper proofreading on-device in a browser worker.
  • Generate Markdown, PDF, EPUB 3, and restorable workspace backups in the browser.
  • Keep accounts and cloud synchronization optional and initiate connected behavior only after explicit user action.

Technology used

Next.js 16, React 19, and TypeScript 5

App Router web application and typed interface layer.

IndexedDB and localStorage

Local-first manuscript storage and browser preference persistence behind AwthorRepository.

Markdown and Harper.js

react-markdown and remark-gfm rendering with worker-backed, on-device proofreading.

PDF, EPUB, and backup generation

@react-pdf/renderer and fflate produce portable exports in the browser.

Zod

Runtime validation for stored data, imports, and schema migrations.

Optional Clerk and MongoDB services

Account-scoped synchronization, publishing, WebMCP, and MCP capabilities.

Tailwind CSS, shadcn/ui, and Base UI

Interface styling and accessible component primitives.

Analytics placeholder

Product signals

Not yet published

This area is reserved for privacy-conscious aggregate signals. Measurement must not imply that manuscript content is collected.

Writing activation
Pending baseline
Export completion
Pending baseline
Optional-sync adoption
Pending baseline
Client reliability
Pending baseline

Simplified from documented implementation

Basic system architecture

The repository boundary keeps interface components independent from persistence details. The connected path is optional and begins only after explicit user action.

  1. 01

    Next.js and React workspace

    Planning, drafting, reading, proofreading, and export interfaces run in the browser.

  2. 02

    AwthorRepository

    A stable application boundary coordinates manuscript and preference persistence.

  3. 03

    Local data and workers

    IndexedDB stores manuscripts; localStorage stores preferences; Harper and export workers process content locally.

  4. 04

    Optional connected services

    Clerk identity and Next.js routes add account-scoped sync, publish, and MCP access backed by MongoDB.