badal.sahani

About

Player-coach, ledger-minded.

I've spent three years building one platform deeply rather than many platforms shallowly: a multi-tenant education ERP on Frappe/ERPNext that handles the fee collections of multiple school groups end to end. That kind of system teaches you respect for correctness — idempotent webhooks, single-writer settlements, migrations that cannot lose a transaction.

I lead a team of 8–10 engineers — code reviews, sprint planning, architecture standards — and I still write code every day. I believe customizations should survive version upgrades, which is why our core has no forks and no monkey-patching: overlay apps, hooks, and isolated overrides only.

AI tooling is part of how I work, not a novelty: Claude Code and Copilot daily, plus an LLM-powered PR-review pipeline I built for the team. The goal is the same as with any tool — spend human attention where it matters.

I write things down. Runbooks, LLDs, migration notes — documentation the next engineer can actually follow. It's how a remote, async team stays fast.

Skills

Frappe & ERPNext
DocTypes, controllers, hooks & doc_events, roles & permissions, migration patches, RQ background jobs & schedulers, whitelisted REST APIs, Frappe HRMS, bench operations
Languages & Data
Python, JavaScript/TypeScript, SQL, Bash · MariaDB/MySQL (EXPLAIN, composite indexing), Redis
Frontend
React 18, Vite, TanStack Query, Tailwind CSS, Socket.IO realtime
Payments & Fintech
Razorpay, Easebuzz, BillDesk, GrayQuest (EMI), webhook security (HMAC, JWS/JWE), reconciliation, GL / Journal Entry automation, ISO 20022
DevOps & Cloud
Docker, AWS (EKS, RDS, S3, SES, ECR, Secrets Manager), Nginx, Kubernetes, Terraform, Helm, ArgoCD (GitOps), CI/CD
AI & LLM Engineering
Agentic development (Claude Code, Copilot — daily), LLM-powered PR-review pipeline in CI, LLM APIs & prompt pipelines, context-grounded (RAG-style) code review
Quality
Playwright, Pytest, Semgrep, pre-commit, protected-branch CI gates, technical documentation (LLDs, runbooks)