← All templates

AI Writing Studio

AI-first · React + Node (Express) · 19 @molecule/* packages

Long-form AI content generation with editing, SEO, and style control — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • ai-generation
  • rich-text-editing
  • image-generation
  • document-management
  • subscriptions

Screens (14)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Dashboard /dashboard (signed in)
  • Editor /documents/:id (signed in)
  • Documents /documents (signed in)
  • Templates /templates (signed in)
  • SEOAnalysis /documents/:id/seo (signed in)
  • Settings /settings (signed in)
  • Profile /profile (signed in)
  • Billing /billing (signed in)
  • Analytics /analytics (signed in)

Data model (10 tables)

  • ai_suggestions — id, user_id, document_id, kind, input_text, output_text, accepted, tokens_used, …
  • api_credentials — id, user_id, provider, encrypted_key, label, last_used_at, created_at, updated_at
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • document_templates — id, user_id, name, description, category, body_template, placeholder_vars, is_system, …
  • document_versions — id, document_id, user_id, version_number, body_md, snapshot_size, created_at
  • documents — id, user_id, title, slug, content, body_html, outline, summary, …
  • generated_images — id, user_id, document_id, prompt, revised_prompt, s3_key, url, model, …
  • payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
  • seo_analyses — id, user_id, document_id, target_keywords, score, suggestions, analyzed_at, created_at
  • user_preferences — id, user_id, default_tone, auto_save, ai_suggestions, notify_email, created_at, updated_at

API (11 handlers)

  • analytics api/src/handlers/analytics.ts
  • credentials api/src/handlers/credentials.ts
  • dashboard api/src/handlers/dashboard.ts
  • documents api/src/handlers/documents.ts
  • generate api/src/handlers/generate.ts
  • images api/src/handlers/images.ts
  • integrations api/src/handlers/integrations.ts
  • preferences api/src/handlers/preferences.ts
  • profile api/src/handlers/profile.ts
  • seo api/src/handlers/seo.ts
  • templates api/src/handlers/templates.ts

Subscription tiers

free / pro / team — gated by: maxDocuments, maxGenerate, maxImages, advancedFeatures, canExport, retentionDays

Built from 19 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • ANTHROPIC_API_KEY Anthropic API key for Claude
  • OPENAI_API_KEY OpenAI API key for GPT and DALL-E
  • AWS_ACCESS_KEY_ID AWS access key for S3 uploads
  • AWS_SECRET_ACCESS_KEY AWS secret key for S3 uploads
  • S3_BUCKET S3 bucket name for file uploads

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