Customers and staff working in the same project
Looking after customers through Zalo, email and spreadsheets means requests drift through group chats and nobody knows what is waiting on whom. This CRM puts everything in a project per customer — customers open issues and message staff inside their own project, and staff see what is overdue and who has not been called back.

Numbered per project, with labels, assignees, priority, due dates and milestones; closing or reopening leaves a trail.
Customers and staff talk inside the project, attach files and link issues by #number; it reconnects and back-fills missed messages.
Drag in many files, with folders and versions; uploads stream straight to storage and previews check permissions.
Calls, meetings and emails; schedule a call-back and assign follow-ups. Internal only — customers never see it.
Drag deals through stages; expected revenue is weighted by each stage's probability.
Customers waiting on a reply, what is due, each person's workload and response time; exported to Excel.






Chat, the notification bell and unread counts update instantly without adding Redis or a WebSocket server: each process holds a single LISTEN connection to PostgreSQL and fans out to browsers over Server-Sent Events. A message is written and NOTIFY fires in the same transaction, so a notification never arrives before its data.