← All templates

Survey / Feedback Tool

Business & SaaS · React + Node (Express) · 14 @molecule/* packages

Typeform-like survey builder with form creation, responses, and analytics — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • search
  • form-builder
  • responses
  • analytics
  • export
  • subscriptions

Screens (17)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Surveys /surveys (signed in)
  • Builder /surveys/:id/build (signed in)
  • Responses /surveys/:id/responses (signed in)
  • SurveyDetail /surveys/:id (signed in)
  • ResponseDetail /surveys/:id/responses/:responseId (signed in)
  • Analytics /surveys/:id/analytics (signed in)
  • Templates /templates (signed in)
  • PublicSurvey /s/:slug
  • ThankYou /s/:slug/thank-you
  • Settings /settings (signed in)
  • Profile /profile (signed in)
  • Notifications /notifications (signed in)

Data model (8 tables)

  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • survey_notifications — id, user_id, kind, payload, read_at, created_at, updatedAt
  • survey_questions — id, survey_id, position, type, text, description, options, required, …
  • survey_responses — id, survey_id, respondent_id, respondent_email, answers, status, score, submitted_at, …
  • survey_share_links — id, survey_id, kind, url_token, created_by_user_id, expires_at, max_responses, response_count, …
  • survey_templates — id, owner_id, name, description, kind, questions, is_public, created_at, …
  • surveys — id, owner_id, title, description, slug, status, settings, response_count, …
  • payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …

API (7 handlers)

  • notifications api/src/handlers/notifications.ts
  • questions api/src/handlers/questions.ts
  • reset-password api/src/handlers/reset-password.ts
  • responses api/src/handlers/responses.ts
  • share-links api/src/handlers/share-links.ts
  • surveys api/src/handlers/surveys.ts
  • templates api/src/handlers/templates.ts

Subscription tiers

free / pro / team — gated by: maxQuestions, maxResponses, maxSurveys, advancedFeatures, canExport, retentionDays

Built from 14 @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