• TypeScript
  • Next.js
  • PostgreSQL
  • Redis

Customer relationship management

One record per customer that outlives the salesperson who opened it, with quotes and invoices generated from the same place.

Before it, a customer's history lived in one salesperson's phone. The record outlives the person now: a colleague picks up a conversation without asking the customer to repeat it, and a resignation stops being a loss of accounts.

Features

  • One record per customer carrying every call, visit, message and document
  • A pipeline whose stages match what the team actually does
  • Deals flagged when they have not moved, instead of sitting quietly at the top
  • Quotes and invoices generated from the same record the conversation lives on
  • Tasks and follow-up reminders owned by a named person
  • Team-wide visibility with per-role permissions over what can be seen or changed
  • Reporting on conversion, deal value and how long a cycle really takes
  • Import from the spreadsheets the team was keeping before it

Because a quote is generated from the record the conversation is on, the number said on a call and the number sent in writing cannot disagree.