← All templates

Writing Tool

Creative Tools · React + Node (Express) · 17 @molecule/* packages

iA Writer-like distraction-free writing with markdown, focus mode, and document management — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • markdown
  • focus-mode
  • search
  • tags
  • export
  • subscriptions

Screens (12)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Library /library (signed in)
  • Editor /editor/:id (signed in)
  • FocusMode /editor/:id/focus (signed in)
  • Stats /stats (signed in)
  • Settings /settings (signed in)
  • VersionHistory /editor/:id/history (signed in)
  • Billing /billing (signed in)

Data model (7 tables)

  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • document_exports — id, document_id, format, status, s3_key, created_at
  • document_versions — id, document_id, version_number, body_md, snapshot_size, created_at
  • documents — id, owner_id, folder_id, title, body_md, excerpt, word_count, character_count, …
  • folders — id, owner_id, parent_id, name, position, created_at, updated_at
  • resource_tags — id, tagId, resourceType, resourceId, createdAt
  • tags — id, name, slug, color, description, createdAt, updatedAt

API (3 handlers)

  • documents api/src/handlers/documents.ts
  • exports api/src/handlers/exports.ts
  • folders api/src/handlers/folders.ts

Subscription tiers

free / pro / team — gated by: maxDocuments, maxExports, maxFolders, advancedFeatures, canExport, retentionDays

Built from 17 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • S3_BUCKET S3 bucket for file attachments

The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing