CRM
HuckleberryBD Customer Hub
A CRM that pulls customer chats, calls, and orders into one timeline. Agents stop alt-tabbing between four tools to answer one question.
React 18TypeScriptViteshadcn/uiTailwind CSSTanStack React QueryReact Hook FormZodRecharts
4
Tools Replaced
1
Timeline
How it came together
The setup
Support agents were checking three inboxes, the call log, and the order system to handle a single customer issue. Context kept slipping between channels.
The challenge
Stitch every customer touchpoint (orders, calls, inbox messages) into one timeline that loads instantly.
Scale
Single-page app for a multi-agent support team handling daily order and conversation volume.
The hard parts
Non-negotiables
- Agents must not lose context when they switch customers
- Conversation history has to be searchable
- New agent onboarding under a day
Trade-offs we made
- Skipped real-time push for chat. Polling is good enough at this volume and a fraction of the complexity.
- Optimized for the support agent over the manager. Reports came in v2.
Calls I made
Customer-first data model
Every record (call, order, message) hangs off the customer. The unified timeline is just a query, not a sync job.
Form library that does not fight the team
React Hook Form + Zod everywhere. New forms ship in an afternoon.
