Tech · case study
Bull Connect
A CRM that remembers every farmer the way the best telecaller would.
Bull's telecallers used to work from a paid CRM that knew a farmer's name and phone number and nothing else. The useful facts lived in people's heads: what the farmer grows, how much is lying in his godown, what he was offered last time, what price he is waiting for.
Bull Connect is the in-house replacement I built around how the business actually sells. It keeps all of that on the farmer's record, so the call happens at the right moment with the right offer.
Before
- A generic CRM with a name and a number per lead.
- Field supervisors' Telegram messages were the only memory of a farmer, and they scrolled away.
- No way to know when a farmer's price had been reached.
- A monthly subscription for a tool that did not fit.
Now
- Each farmer's record holds the crop, the quantity in hand, the last price offered, the price he expects, and every call ever made to him.
- When the market in his region reaches his expected price, he is on the day's call list.
- A farmer who sold to Bull two seasons ago is known, so the team can offer him a rupee or two over the day's rate and keep him.
- Expected and offered prices are known region by region, which sharpens the office's own pricing.
- Lead status moves through one state machine, enforced in the app and again in the database, so no lead is lost between a call and a visit.
How it works
A lead arrives
From a supervisor's Gujarati line in Telegram, parsed by the AI pipeline, or from the field form.
The telecaller qualifies it
Crop, quantity in hand, last offer, expected price, village. Every call is logged with its outcome and the next callback.
Watch the marketCheck
The region's daily price moves. When it reaches the farmer's expected price, he comes up on the list.
Call at the right moment
The offer is made against what he said he wanted, not against a cold script.
Field visit
A ground executive is assigned, the visit is scheduled and closed with notes and an outcome.
Deal
Quantity, value and who closed it go on the deal record. Sold or dropped, with a reason, is the only way out.
What it changed
- Telecallers call fewer farmers and close more, because the call is timed to the price.
- Managers see every lead's history, every reassignment and every call in one audit trail.
- The subscription is gone and the data is Bull's.
On screen

Built with Express and TypeScript on PostgreSQL 16 with pgcrypto and state-machine triggers, an Expo React Native app for the field, a Next.js 16 dashboard for the office, Docker and nginx.