A shortcut to the good stuff
Arrow keys to explore Enter to go
Back to selected work

CASE 07 / Product & systems

From a won lead to an operations project.

I extended Frappe CRM and connected it to operations, including a handoff that can be retried without creating another project.

THE PROJECT
Behind the lead
THE CONTEXT
GreenFortune
THE CHAPTER
2025 - Present
THE PROBLEM
A won lead needs to become an operations project without duplicate records on retry.
WHAT I OWNED
Frappe CRM customization, communication integrations, reporting, SSO, and the backend handoff.
THE RESULT
Connected lead-to-project creation using an external reference to recognize repeated requests.

Original concept illustration, not a production screenshot. Internal product details are intentionally kept high-level.

01 / The problem.

Winning a lead in CRM is the start of another workflow in operations. The handoff needs the customer, project details, salesperson, and sometimes an initial order and quotation. It also needs to recognize a repeated request instead of creating a second project for the same lead.

02 / My role.

I replaced Freshworks workflows with an in-house Frappe CRM implementation, covering lead stages, call dispositions, daily progress reports, Exotel calling, Brevo email, and data import/export. I connected CRM and operations through SSO and automated project creation when a lead is won. The backend handoff checks the external lead reference before creating records. This was customization and integration of Frappe, not authorship of the underlying framework.

My contribution
CRM customization, communication integrations, reporting, and the CRM-to-operations handoff.
Shared scope
Built on Frappe CRM and the Frappe ecosystem, not a CRM framework authored from scratch. The connected operations platform has its own shared ownership.
What changed
A won lead can create an operations project; a repeated external reference returns the existing project.

03 / Implementation details.

  • Customizing Frappe CRM stages and call dispositions, with Exotel calling and Brevo email.
  • Mapping CRM customer, salesperson, and project fields into the operations records.
  • Returning the existing project on a repeated external lead identifier.
  • Connecting the applications through SSO and supporting import, export, and reporting.

04 / The result.

  • Moved Freshworks workflows into an in-house Frappe CRM implementation, reducing SaaS costs.
  • Extended the lead lifecycle with custom stages and call dispositions.
  • Integrated Exotel calling and Brevo email into CRM workflows.
  • Connected won leads to project creation in Operations, with an external reference for repeated requests.
  • Added SSO between CRM and Operations, plus data import/export and reporting.

05 / CONTACT

ROLES & FREELANCE PROJECTS

Have a role
or project?

I'm open to senior SDE roles and freelance work.
Send the problem, your team's needs, and any timeline.

HITEC City, Hyderabad, India
SEND ME A NOTE

What's on your mind?

Sends via Formspree.
A conversation, not a mailing list.

HAVE A PROJECT IN MIND?

What I can help with.

Focused freelance work, with scope and deliverables agreed before the build.

Backend & APIs

Node.js, TypeScript, and Fastify services, PostgreSQL and Drizzle data models, and fixes to existing backend behavior.

Example deliverablesTyped API contracts, backend implementation, and focused tests.

Third-party integrations

Email, calling, messaging, payments, and product-aware AI integrations, including authenticated webhooks and receipt deduplication.

Example deliverablesProvider integration, webhook handling, and a recovery/runbook handoff.

Workflow systems

Order stages, partial-progress tracking, and role-specific interfaces for operations teams.

Example deliverablesWorkflow modeling, scoped permissions, and an operational interface.

Tell me what you're building