A CRM that keeps an insurance agency's accounts, policy paperwork, alerts and daily reports in one place, with access by role.
Staff open an account, fill in the forms that workflow needs and generate the policy documents as PDFs from pre-designed templates. Admins, supervisors and staff each see what their role allows, and changes, comments and alerts reach everyone in real time. Built at Core Devs for a client: a React and Redux frontend over a Node.js, Express and MongoDB API, with Socket.IO for live updates.
- Role
- Full-stack developer
- Type
- Client · Core Devs
- Year
- 2025
- Stack
- React · Express · MongoDB · Socket.io
- Result
- Role-based access · live collaboration · PDF workflows
(By the numbers)
- user roles with their own permissions
- 3
- updates on every open screen — no refresh needed
- Live
(How it works)
To do3
In progress1
Done0
Animated illustration of the real flow, with sample data — not a live system.
(What I built)
- 01Sign-in with roles for admins, supervisors and staff
- 02PDF documents generated from dynamic forms and templates
- 03Live updates for everyone on the same account (Socket.IO)
- 04Search and filters by date, status and task order
- 05Batch actions for files and attachments
- 06End-of-day reports, alerts and comments on each record
Process
(Problem → what I did)- 01
Problem
Documents had to be generated from forms that differ from one workflow to the next.
What I did
- Automated the document workflow: dynamic forms fill pre-designed templates, and PDF-Lib generates the documents.
- 02
Problem
Several people work on the same accounts at once and need to see each other's changes.
What I did
- Added Socket.IO so updates appear for everyone in real time.
- Added in-app notifications and comments, so the conversation stays on the task.
- 03
Problem
Admins, supervisors and staff each need different access.
What I did
- Built JWT sign-in with role-based permissions for each level.
Show all 5 stepsShow less
- 04
Problem
Staff handle many files and attachments at a time.
What I did
- Added batch operations for files and attachments.
- 05
Problem
Finding the right record quickly as accounts and tasks pile up.
What I did
- Added search and filters by date, status and task order.
How it's built
The moving parts, from the people using it down to the data.
Users
React + Redux app
Admin · Supervisor · User roles
Backend
Express API
JWT auth · role-based access
Socket.IO
live updates to every client
Services
MongoDB
tasks, files, comments
PDF-Lib
documents from templates
Email
notifications
The product
7 screens from the real product. Click any screen to see it full size.
(Shipped)
The agency's team works from one system.
Account details, generated documents, comments and alerts sit on the same record, each role sees only what it should, and end-of-day reports come from the same data.

