PromptStack

Internal tool and workflow automation

A tool replacing manual or spreadsheet work inside one organisation: structured forms, approval steps, workflow states, integrations with existing systems, and a full audit trail.

You can change every choice once the builder opens.
Core features for the MVP
  • Structured request forms with server-side validation
  • Configurable workflow states and permitted transitions
  • Approval steps routed by role or by amount
  • Assignment and reassignment with a clear current owner
  • Notifications when something needs a person's attention
  • Full audit trail of every state change and edit
  • Search and filtering across requests by state, owner, and date
Left for later
  • Workflow designer so operations can change steps without a deploy
  • Service-level timers with escalation on breach
  • Integration with the organisation's existing systems
  • Scheduled reporting on throughput and bottlenecks

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 control
SecurityInput validationRate limitingSecurity headers and CSPSecrets managementAudit logs
File storageAWS S3
Background jobs and cronInngest
Email and notificationsResend
Hosting and deploymentVercel
CI/CDGitHub Actions
Monitoring and analyticsSentry
TestingVitestPlaywright
ExtrasCSV and Excel import/exportAccessibility (WCAG)BackupsDocumentation

Data model draft

Request

One item moving through the workflow.

  • id
  • reference
  • workflowId
  • currentStateId
  • submittedById
  • assignedToId
  • formData
  • submittedAt
  • closedAt
  • Belongs to one Workflow
  • Has many Approvals
  • Has many AuditEntries
Workflow

A definition of the states and transitions a request may follow.

  • id
  • name
  • description
  • version
  • isActive
  • Has many WorkflowStates
  • Has many Requests
WorkflowState

One step, and who is allowed to move a request out of it.

  • id
  • workflowId
  • name
  • position
  • requiredRole
  • isTerminal
  • Belongs to one Workflow
Approval

A decision recorded against a request at one step.

  • id
  • requestId
  • stateId
  • approverId
  • decision
  • comment
  • decidedAt
  • Belongs to one Request
  • Belongs to one User as approver
AuditEntry

An immutable record of one change to a request.

  • id
  • requestId
  • userId
  • action
  • fromState
  • toState
  • createdAt
  • Belongs to one Request
  • Belongs to one User