Production-grade Customer Relationship Management system designed to manage employees, opportunities, and internal business workflows

The organization required a centralized system to manage employees, track business opportunities, and enforce strict access control across roles with real-time structured data access.
I owned core backend components used across modules, not a support role.
Chose GraphQL for precise data fetching, reduced over-fetching, strong typing, and easier API evolution.
Designed schemas and resolvers aligned with business entities such as employees, roles, and opportunities.
Implemented custom RBAC to define roles centrally, restrict access at resolver level, and support scalable permission expansion.
Controlled Access
Sensitive data access was controlled
Consistent Rules
Business rules enforced consistently
Scalable
New roles added without refactors
Modeled relational data clearly, designed relationships for fast lookups, and optimized queries.
Dockerized backend services with environment-based configuration, reducing environment inconsistencies and deployment failures.
Problem: Different users required different access levels across multiple modules.
Solution: Centralized permission checks, enforced RBAC at GraphQL resolver level, avoided permission logic duplication.
Problem: Frequent business changes risked breaking APIs.
Solution: Used GraphQL schema evolution patterns, maintained backward compatibility, modularized business logic.
Built 50+ production APIs
Supporting CRM workflows across the organization
Enabled secure, role-aware data access
Custom RBAC system protecting sensitive data
Improved API performance by ~30%
Through database optimization and query tuning
Supported 500+ active users
Stable system used in real business scenarios