The Vision: Commercial CRMs have evolved into “Management Surveillance” tools. Closed Loop is a mobile-first pivot—designed specifically for independent entrepreneurs on the road who need lead velocity and ROI data, not corporate bloat.
This project bridges Meta Front-End standards with IBM Cloud Native principles. While the core logic is Vanilla JS, the development and deployment lifecycle are powered by Node.js.
Solo entrepreneurs don’t work from a cubicle. I architected this with a Fluid UI that prioritizes thumb-navigation and instant data entry, ensuring the tool follows the user, not the other way around.
Unlike static lead lists, I built an analytical engine that creates a feedback loop. When a lead status changes to “Closed-Won,” the app triggers a real-time recalculation of the total Pipeline ROI and Conversion Ratios using Firestore Snapshot listeners.
Leveraging Firestore’s NoSQL structure, I designed a hierarchical data model: Users -> UID -> Leads. This ensures enterprise-grade data privacy where each user’s data is strictly isolated via Firebase Security Rules.
| Challenge | Solution | Developer Insight |
|---|---|---|
| Git Tree Corruption | Manually repaired HEAD and resolved merge deadlocks during deployment. | AI handles syntax; humans handle “broken state.” Understanding Git internals saved the project. |
| Node.js / Firebase CLI Versioning | Resolved dependency conflicts between the local Node environment and Cloud Functions. | Consistent environment management is key to preventing “it works on my machine” syndrome. |
| Async Race Conditions | Refactored with async/await and implemented “Optimistic UI” updates. |
On mobile data (4G/5G), perceived speed is UX. The UI must update before the cloud handshake finishes. |
| Index Drift | Transitioned from array-index mapping to UUID (Unique ID) tracking. | Data integrity in a cloud database requires non-sequential keys to prevent record overwriting. |
This project requires Node.js and the Firebase CLI.
git clone [https://github.com/MohiuddinKhanTushar/closed-loop-crm.git]npm install -g firebase-toolsfirebase initfirebase serve (powered by Node.js local server)For a full narrative on my thinking process, market gap analysis, and sales-to-dev transition: 👉 Read the Full Case Study on Notion
Developed as part of my journey toward Meta Front-End and IBM Full Stack Certification.