A multi-tenant ERP for three cutting-tool manufacturers Zoho could not hold.
Three cutting-tool manufacturers in Mumbai outgrew Zoho. We built CFX, a custom multi-tenant ERP on AWS with a dedicated Android sales app and Gemini AI integration.

An eight-module brief became a live operating system in eleven weeks. Every lead has one owner, every flat has one record, every buyer gets the right project on WhatsApp, and the public site in English and Tamil feeds the same pipeline.
Evrnest Vista Associate is a real-estate channel partner. It sells residential and commercial property for leading Chennai developers and for Danube Properties in Dubai, to first-time buyers, end users and investors in both countries. More than 200 properties sold. Over 2,00,000 square feet transacted. A small desk in Chennai and a team that spends most of its day in the field, at site visits, in show flats, and on the phone.
We have worked with Evrnest since 2024, when Simply Five Studio designed the brand: the mark, the letterhead, the business cards. In August 2026 the directors came back with a harder brief. The brand was settled. The operation behind it was running on WhatsApp.
A channel partner's business is a pipeline of people and a book of property, and the money is made in matching one to the other faster than anyone else. At Evrnest, both halves lived in places nobody could query.
Leads arrived from everywhere. Meta lead ads, Instagram messages, WhatsApp, referrals from CAs and lawyers, walk-ins at the office, introductions at a site visit. Each one landed on whichever phone it reached first. There was no single answer to "who owns this buyer", and no record of what had been said to them last.
Inventory was worse. A developer's availability changes every week. A unit gets held, released, booked. The only way to confirm whether a three-bedroom on the eleventh floor was still available was to call the builder. Resale listings sat in a separate set of chats with their own owners and their own rules. When a new project launched, the agents who had the perfect buyer for it often heard last.
Follow-ups were remembered, not scheduled. Site visits slipped. A buyer who enquired in June and went quiet was rarely called again in August, when the project they wanted finally had the right floor free.
Off-the-shelf real-estate CRMs charge per agent, per month, keep the firm's buyers on someone else's servers, and stop at the pipeline. A channel partner also needs developer mandates, a resale book, and a public property site, all reading the same records.
The directors' brief was specific. One system, owned by Evrnest, that runs the desk and the field. Installable on every agent's phone. Built on infrastructure registered in the firm's own name. No per-user fee, and no dependence on an external CRM.
The proposal named eight modules and four weeks: Leads, Inventory, Dashboard, Reminders and Calendar, Agents, Customers, Notifications, and WhatsApp. The platform was live on 31-Aug-2026. The Leads module shipped on 02-Sep-2026, Inventory the day after. Everything below grew from there, in the order the business asked for it.
The lead is the record the whole system turns on, so it was designed first and designed carefully.
A lead from a paid ad enters at Company stage. It is created the instant Meta delivers it, carries the campaign it came from and every answer the buyer gave on the form, and belongs to nobody. It sits in a pool only the directors can see. Nobody is woken up by it. Assigning it to an agent moves it to Individual stage, and only then does it enter a pipeline and count against anyone's numbers.
A lead from anywhere else, a WhatsApp message, a referral, a walk-in, enters at Individual stage directly, owned by the person who captured it. From the moment a lead has an owner, it has exactly one.
The pipeline runs from capture through qualification, site visit, a legal stage the directors added in October, negotiation, and closure. Each step is an appointment on the calendar, not a status someone remembers to change. A buyer and a tenant are asked different questions at qualification, because a tenant should never be asked about loan eligibility.
A won lead becomes a customer with its history intact. One phone number can carry many leads, because a referrer brings five requirements under their own number. One customer can carry many deals, because a buyer who closed in August and returns in October is the same person with a second purchase, not a duplicate record.
Inventory is held as two books. The primary book is new launches and under-construction projects from developers. The secondary book is resale and rental listings, each with its own seller, exclusivity, and expiry. Every project carries its location on a map, its configurations, its possession date, its brochures, floor plans, photographs and videos.
Every open buyer requirement is matched against both books, inside a true radius of the locality they asked for. When new inventory lands or a requirement changes, the agents on that buyer hear about it at once, and each person gets one digest at 09:00 IST. A bulk load of fifty listings matches silently, so an import never becomes fifty interruptions.
From any buyer lead, an agent can share inventory on WhatsApp through one of five approved proposal templates, or generate a share card: a PDF with the photographs they chose, a pinned map, the documents, a unit cost sheet, and links to the project videos. It is rendered fresh from the record every time, so it never carries last week's availability.
Some developers give Evrnest a mandate: an exclusive book of units in a tower to sell. The first version took the developer's workbook as an upload. It worked, and it was the wrong door. The firm had commissioned a system precisely to stop living in spreadsheets, and the importer walked the desk straight back into one.
Since 18-Sep-2026 a tower is described in four answers: how many floors,
how many units on each, how they are numbered, and what they cost. From
a single example such as A101, the system generates every unit number
in the building and draws them as a map the desk switches off rather
than deletes. The developer's own charge heads are seeded once per
mandate and filled across a floor or the whole building. A mandate sale
takes one buyer, the agreed figure, and the payment plan, and in a
single transaction marks the unit sold, writes the customer, and closes
the lead won.
The most important design decision in this project was a refusal. Inventory records what a property is priced at, as the developer quoted it, and nothing is ever computed from that figure. No pricing engine, no tax derived from a rate, no brokerage of any kind. A figure exists only if a person recorded it, so a rate edited today can never silently rewrite a quote sent last week. We have written about why in Software that stores prices and does not do money.
WhatsApp runs on the official Cloud API, on Evrnest's own number, with no middleware in between. Approved templates for every stage. A shared inbox where a buyer's reply lands on their lead. Broadcasts to chosen recipients, with consent refusals named plainly and reachable failures retried. The pattern came from the WhatsApp layer we built for AK Suppliers & Distributors, and was reworked for a business where the message is the sales conversation itself.
On 09-Sep-2026 the public site took the firm's apex domain,
evrnest.org, so the name that ranks is the one buyers search for. It
is a full property catalogue, driven by the same records the desk works
from. A project reaches the site only when someone presses Publish on
its page.
The whole site is available in Tamil as well as English, chrome and body copy alike. Buyers can browse by city, locality, configuration, type, possession and budget. They can check the government guideline value for a street, see market value as a range for a locality, and convert between area units. Saving a property creates a lead tagged with that project, one lead per property, at Company stage. Signing up takes a six-digit code on WhatsApp, so every account holds a proven number.
The public site cannot read the pipeline. That boundary is enforced in the database itself, not only in the application, so a mistake in a page template cannot leak a buyer's phone number to the internet.
In October the firm asked to run Meta campaigns from inside the system. The Campaigns module mirrors the ad account, so spend, cost per lead and the leads themselves sit side by side. Drafts, lead forms and audiences are built in the ERP and published to Meta paused.
Each campaign can carry an AI autopilot with a written brief: the project, the buyer it is after, what a good lead looks like. The model reads the brief and the figures and recommends. The pause rules, the learning period, and a ban on touching budgets are enforced in code, whatever the brief says.
A dashboard that draws the desk each morning, the pipeline, the diary, the new matches, with every figure opening the filtered list it counts. A Reports module with an employee report and Excel export, including site visits scheduled per person. An area converter, because land in Chennai is still quoted in grounds and cents. Reminders and a calendar built around a week strip and a full-day grid. A directory of outside contacts, developers' sales reps, sub-brokers and site managers, tagged to the areas and projects they can be called about. Header search across every record, which proposes candidates and then re-checks each one against the caller's permissions before it is shown. A mailbox on the firm's own mail server. Team chat. A helpdesk guide with a topic for every module. Daily attendance with two-step leave approval. A marketing work board. Field Notes, careers and a newsletter on the public site. Each arrived as its own request and went live within days.
A buyer in Dubai fills in a Meta lead form for a Chennai launch on a Tuesday night. The lead lands at Company stage with the campaign and every answer attached. Nobody's phone buzzes.
On Wednesday morning a director assigns it. The agent gets a push notification on the installed app, opens the lead, and sees the requirement: three bedrooms, Anna Nagar or nearby, ready within two years, investment. The Match panel already lists four projects from the primary book and one resale flat inside the radius. The agent sends a WhatsApp proposal for two of them from the lead itself. The buyer's reply lands on the same timeline.
A site visit is booked for the buyer's brother, who lives in Chennai. It appears on the calendar as an appointment. The agent generates a share card for the visit with the floor plan and the cost sheet. After the visit, the lead moves to legal, then negotiation. When the buyer closes, the agent confirms the customer from the pre-filled form and the deal is written under them.
Two months later the same buyer asks about a plot. It is a new lead, and when it closes, a second deal under the same customer.
Ownership became a fact. Every lead has exactly one owner from the moment it has one, and a director can see the entire paid-lead pool without anyone else seeing it. A number already being worked can never be captured twice, because a search by anyone lists every lead it matches, with a lock on the ones they cannot open.
Availability stopped being a phone call. The two books are the record. When a developer releases a floor, the buyers who wanted it are told the same morning.
The follow-up became a calendar entry. A pipeline step is an appointment, so a site visit either happened or it is overdue, and the dashboard knows which.
The public site and the desk became one pipeline. A Tamil-speaking
buyer saving a flat on evrnest.org creates the same kind of lead as a
Meta form, and lands in the same pool.
The scope grew without the system fraying. The brief named eight modules. The system now runs more than twenty, across 107 database migrations and over 600 changes shipped in eleven weeks, on one data model and one permission guard. Every new module joined the same search, the same notifications, and the same audit log rather than becoming a separate tool.
The newest work points the same way as the first: less typing, more selling. AI now drafts an inventory listing from a developer's description and leaves anything it is unsure of queued for a person. Share inventory searches the whole of both books from inside a lead, and scheduling a booking now offers to close the lead in the same step.
The relationship is a continuing technology partnership. New modules arrive in the order the business asks for them, on the same data model, and the system evolves as the firm does.
The thinking behind three of the decisions above is written up in full: who owns a paid lead, why a tower is described rather than uploaded, and why buyers ask for the guideline value first. We build the same kind of system for property owners, landlords and brokers.
Three cutting-tool manufacturers in Mumbai outgrew Zoho. We built CFX, a custom multi-tenant ERP on AWS with a dedicated Android sales app and Gemini AI integration.
Lucky Traders counted their godown on paper. We built a Tauri app for Windows and Android that gives every bag of fasteners its own QR sticker, scans it out with nothing to type, keeps working without a signal, and hears the barcode gun even while Tally is on screen.
AK Suppliers & Distributors ran a WooCommerce storefront beside a custom ERP for three years. In 2026 we retired WooCommerce, rebuilt the storefront as a custom Next.js application on the ERP's own PostgreSQL, added a live PayU checkout, and wired Tally in as the single source of truth for products, pricing, and invoices.
Engagements begin with a conversation. Not a pitch. A direct discussion about your operations and the visibility you are missing.