NavCRM is a multi-tenant CRM platform. It was part-built when the subject picked it up, during what was nominally a mobile internship, and the work grew from there: the core multi-tenant web and backend capabilities, the APIs behind the React Native application, and then the rest of the way to completion. Rishi maintains it now.
The working parts are the ones a CRM lives on — leads, opportunities, tasks, meetings, notes, contacts, clients and complaint tickets — plus metadata-driven fields, SSO, two-factor authentication, JWT auth and a platform admin portal.
“Finishing someone else’s system is a different job from starting your own, and it is the job most software actually is.”
The hard part of an inherited system is not the next feature; it is knowing what the next feature will break. Adding one field is an API change, a validation change, a web form, a mobile form, a migration, and a question about every client still running an older build. None of that is on the ticket, so most of the work is reading before writing: following a value from the screen it is typed on to the shape it is stored in, and back out to everywhere that reads it.
Two findings recur in the file. The API is the real product: a web page can be reloaded, a mobile build cannot, so anything the API does loosely becomes a permanent tax that the mobile client pays longest. And “it works” is not a property of a feature but of a feature on one client version talking to one API version.
No screenshots or figures are entered in evidence. This is client software with real customer data in it; the shape of the system and the reasoning applied inside it are what belong on a public page.