← All templates

Spreadsheet

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

Airtable-like spreadsheet with grid views, column types, formulas, real-time collaboration, and CSV import/export — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • realtime
  • search
  • import-export
  • formulas
  • column-types
  • subscriptions

Screens (19)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Workbooks /workbooks (signed in)
  • Editor /workbooks/:id (signed in)
  • Charts /workbooks/:id/charts (signed in)
  • Templates /templates (signed in)
  • Settings /settings (signed in)
  • TemplatePreview /templates/:id (signed in)
  • Automations /automations (signed in)
  • Integrations /integrations (signed in)
  • History /workbooks/:id/history (signed in)
  • Notifications /notifications (signed in)
  • Team /team (signed in)
  • Profile /profile (signed in)
  • Billing /billing (signed in)
  • NotFound /*

Data model (15 tables)

  • automations — id, spreadsheet_id, owner_id, name, trigger, action, is_active, last_run_at, …
  • chart_definitions — id, sheet_id, spreadsheet_id, owner_id, name, type, config, created_at, …
  • columns — id, sheet_id, spreadsheet_id, owner_id, name, type, config, position, …
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • integration_connections — id, user_id, owner_id, provider, status, tokens, created_at, updated_at
  • notifications — id, user_id, type, title, body, data, read_at, created_at
  • payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
  • resource_tags — id, tagId, resourceType, resourceId, createdAt
  • rows — id, sheet_id, spreadsheet_id, owner_id, cells, position, created_at, updated_at
  • sheets — id, spreadsheet_id, owner_id, name, position, color, created_at, updated_at
  • spreadsheet_collaborators — id, spreadsheet_id, owner_id, user_id, email, role, invited_by, accepted_at, …
  • spreadsheet_templates — id, owner_id, name, description, category, is_system, snapshot, created_at, …
  • spreadsheet_versions — id, spreadsheet_id, owner_id, created_by, snapshot, change_summary, created_at
  • spreadsheets — id, owner_id, user_id, title, description, is_public, public_slug, is_starred, …
  • tags — id, name, slug, color, description, createdAt, updatedAt

API (13 handlers)

  • automations api/src/handlers/automations.ts
  • charts api/src/handlers/charts.ts
  • collaborators api/src/handlers/collaborators.ts
  • columns api/src/handlers/columns.ts
  • import-export api/src/handlers/import-export.ts
  • integrations api/src/handlers/integrations.ts
  • notifications api/src/handlers/notifications.ts
  • rows api/src/handlers/rows.ts
  • search api/src/handlers/search.ts
  • sheets api/src/handlers/sheets.ts
  • spreadsheets api/src/handlers/spreadsheets.ts
  • templates api/src/handlers/templates.ts
  • versions api/src/handlers/versions.ts

Subscription tiers

free / pro / team — gated by: maxColumns, maxRows, maxSheets, maxSpreadsheets, advancedFeatures, canExport, retentionDays

Built from 17 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • MEILISEARCH_API_KEY MeiliSearch API key

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