PromptStack

CRM

A customer relationship system: contacts and companies, deals moving through pipeline stages, logged activities and notes, and reporting on what is likely to close.

You can change every choice once the builder opens.
Core features for the MVP
  • Contacts and companies, with contacts linked to their company
  • Deals moving through configurable pipeline stages
  • Activity log for calls, meetings, and emails against a contact or deal
  • Tasks and follow-up reminders with due dates
  • Pipeline board view with drag between stages
  • Reporting on conversion rate, stage duration, and forecast value
Left for later
  • Two-way email sync with the salesperson's mailbox
  • Quote and proposal generation as PDF
  • Lead scoring based on activity
  • Territory and team-based deal assignment

Recommended stack

SectionRecommended
LanguageTypeScript
Frontend frameworkNext.js
UI and stylingTailwind CSSshadcn/ui
BackendNext.js server
API styleServer actions
Database enginePostgreSQL
Database providerNeon
ORM and data accessDrizzle
AuthenticationClerk
Authorization and rolesRole-based access controlOrganization and team roles
SecurityInput validationRate limitingSecurity headers and CSPSecrets managementAudit logs
SearchPostgres full-text search
Background jobs and cronVercel Cron
Email and notificationsResend
Hosting and deploymentVercel
CI/CDGitHub Actions
Monitoring and analyticsSentryPostHog
TestingVitestPlaywright
ExtrasCSV and Excel import/exportAccessibility (WCAG)BackupsDocumentation

Data model draft

Company

An organisation you sell to.

  • id
  • name
  • website
  • industry
  • ownerId
  • createdAt
  • Has many Contacts
  • Has many Deals
  • Belongs to one User as owner
Contact

A person at a company.

  • id
  • fullName
  • email
  • phone
  • jobTitle
  • companyId
  • ownerId
  • Belongs to one Company
  • Has many Activities
  • Has many Deals
Deal

A potential sale moving through the pipeline.

  • id
  • title
  • companyId
  • primaryContactId
  • stageId
  • valueMinorUnits
  • currency
  • expectedCloseDate
  • ownerId
  • Belongs to one Company
  • Belongs to one PipelineStage
  • Has many Activities
Activity

A logged interaction or a planned follow-up.

  • id
  • type
  • subject
  • body
  • contactId
  • dealId
  • dueAt
  • completedAt
  • userId
  • Belongs to one Contact
  • Belongs to one Deal
  • Belongs to one User
PipelineStage

One configurable step a deal passes through.

  • id
  • name
  • position
  • probabilityPercent
  • isWon
  • isLost
  • Has many Deals