CRM / SaaS
CRM
An enterprise SaaS CRM with workflow automation, booking management, activity tracking, notifications, guided onboarding, form and website builders, and role-based access control.
My role: Full-stack engineer · Core CRM modules
- React.js
- TypeScript
- Node.js
- Express.js
- PostgreSQL
- Redis
- REST APIs
My contribution
Different teams need different forms and follow-up steps. I worked across the React interface and Node.js APIs to make those workflows configurable, while keeping permissions and shared data rules in place.
The problem
Different customers need different forms, layouts, and follow-up processes. Building each variation as a separate feature makes the CRM harder to maintain and extend.
- Page or form configuration
- Typed components & validation
- CRM records & access rules
- Automation · integrations · audit history
Conceptual workflow showing the modules described in this case study.
How it works
I worked on both the CRM screens and the APIs behind them. The largest challenge was giving teams room to configure forms and workflows without creating a separate version of the product for each customer. I also worked on integrations, access rules, and production fixes as the CRM grew.
Workflow automation
Connect triggers to email automation, task creation, scheduled jobs, celebrations, opt-ins, and follow-up actions.
Website & form builders
Compose configurable pages and forms from reusable React components, with shared validation rules.
Access & collaboration
Build notes, documents, tagging, advanced search, visibility rules, and permission-based sharing.
Calendars & meetings
Integrate Google Calendar, Microsoft Outlook, Zoom, and Recall.ai for synchronization, scheduling, recording, and transcription.
Performance & reliability
Improve data access with Redis caching and query optimization, and support authentication, authorization, audit logging, and production fixes.
Onboarding & activity
Build guided onboarding, activity tracking, booking management, and notification workflows across CRM modules.
Technical decisions
I used a layout schema and a registry of supported components for the page builder. Customers can compose pages from those blocks without a custom implementation for every layout. The tradeoff is maintaining schema validation and compatibility as components change, while accepting less flexibility than arbitrary custom code.
What this enables
Teams can adapt supported screens and follow-up processes through configuration while retaining the CRM's access controls.
Earlier version
In an earlier CRM version, I built Audit Logs, Notes Management, and Document Management with React.js, Node.js, Express.js, PostgreSQL, and REST APIs. Document sharing included tagging, visibility rules, and role-based permissions. I also improved responsive interfaces and APIs and supported production fixes based on business requirements.
Related engineering notes
Vivek Jalondhara
Full Stack Software Engineer