All open roles
CRM / Full-Stack Developer
- Patiala, India · On-site
- 3 – 6 years
- Full-time
- Next.js
- TypeScript
- PostgreSQL
- Drizzle ORM
- Stripe / Razorpay
- LLM APIs
You will build our own CRM product, the one already running a four-brand visa and travel group out of a single inbox: unified conversations with per-brand tags, needs-reply and gone-quiet queues, AI-drafted replies, contacts, cases, pipeline, payments and job applications. It has real users on it today, so every change you make lands on people who will tell you within the hour whether it helped.
Why this role
You get whole modules of a product that a business actually runs on, and your feedback loop is a phone call from the person using it, not a ticket routed through three layers of management.
A normal week
- You rebuild the pipeline view because a user told us on Tuesday that deals keep dying in the quoted column.
- You read fifty real conversations, retune the AI reply drafts and the knowledge-base retrieval behind them, and ship it the same day.
- You track down a Razorpay webhook that fired twice and make the payments module idempotent for good.
- You sit in on a live session with a CRM user and watch exactly where they hesitate.
What you’ll do
- Design and build CRM modules end to end: inbox, contacts, cases, pipeline, payments and knowledge base.
- Model the data properly in Postgres and keep migrations clean as the product grows.
- Integrate email, payment gateways and third-party APIs so they survive retries, duplicates and webhook chaos.
- Tune the AI layer: prompts, retrieval over the knowledge base, and the guardrails around drafted replies.
- Handle auth, roles and multi-brand isolation so one brand's inbox never leaks into another's.
What we’re looking for
- 3 to 6 years of full-stack work, equally comfortable on the schema and on the screen.
- Strong TypeScript and real SQL: joins, indexes, and a theory for why a query got slow.
- You have shipped features into a product that had live users on it while you were changing it.
- Experience with an ORM and versioned migrations; we use Drizzle, but Prisma or TypeORM background transfers fine.
- You can explain a technical trade-off to a non-technical stakeholder in one paragraph.
Nice to have (not required)
- Previous work on a CRM, helpdesk or ticketing product; if you have none, genuine curiosity about how sales teams operate counts for a lot.
- Hands-on time with an LLM API, RAG or prompt tuning; we can teach you the AI SDK if the rest is strong.
- Payments integration with Stripe or Razorpay, including the unglamorous reconciliation parts.
Sound like you?
Send your CV and a short note. A real person reads every application — expect a reply within a few business days.
Apply for this role