badal.sahani

Work

Seven systems, one platform.

Everything below runs in production today, serving 20–30k users. Each is presented the way it lives in the codebase — as a document type with fields, behavior, and consequences.

Fees & Finance Engine

Payments

The platform's entire revenue system — 40+ DocTypes on ERPNext, from payment plan to GL posting.

engines
payment plans · instalments · deferrals
ledger
discount stack posting GL entries
entries
multi-company split Payment Entries
migration
v2 re-architecture, zero downtime

An EMI lifecycle state machine with single-writer settlement eliminated double-booked payments; auto-posted settlement Journal Entries removed manual reconciliation.

ERPNext · Python · MariaDB · GL / Journal Entries

LLM Review Pipeline

AI Engineering

An automated code-review pipeline: every pull request is read by an LLM, grounded in the changed code's context, before a human ever sees it.

pipeline
diff + repo context → LLM → PR review
grounding
review prompts built from the changed code
gates
runs beside Semgrep + dependency audits
adoption
every PR, 10-person team, daily

Reviewers start from a machine-annotated diff instead of a cold one — cutting review turnaround and catching the boring bugs before humans spend attention on them.

LLM APIs · CI/CD · GitHub · Python

Gateway Integration Layer

Payments

Six payment gateways — including an education-loan EMI provider — behind one pluggable routing layer.

security
idempotent HMAC-verified webhooks
recovery
scheduled reconciliation sweeps
banking
8 bank rails, ISO 20022 over SFTP
dispatch
dual-mode EMI / PG routing

Every callback verified with constant-time comparison, deduplicated, and recoverable — dropped callbacks are swept back in on a schedule.

Frappe · Razorpay · Easebuzz · BillDesk · GrayQuest

Multi-Tenant ERP Core

System Design

One shared core serving 4–5 institutions and 20–30k users — 25+ custom Frappe apps, 250+ DocTypes.

tenancy
institution as a first-class dimension
security
row-level permission_query_conditions
overlay
thin per-institution apps over hooks
upgrades
no forks, no monkey-patching

New institutions onboard without forking the platform; the core stays clean through Frappe version upgrades.

Frappe · ERPNext · Python · 500+ REST endpoints

Cloud & GitOps Platform

Infrastructure

Production AWS EKS provisioned end-to-end with ~9k lines of Terraform, deployed by Helm and ArgoCD.

compute
EKS, spot + on-demand, autoscaler
data
Multi-AZ RDS MariaDB, Frappe-tuned
secrets
External Secrets Operator, zero plaintext
delivery
CodeBuild → ECR → ArgoCD Image Updater

A documented 43% infrastructure cost reduction while raising the security posture — with the runbook to prove it.

Terraform · AWS EKS · Helm · ArgoCD · DragonflyDB

Realtime Bus Tracking

Realtime

Live GPS school-bus tracking for parents, built on Frappe's realtime stack.

pipeline
Redis pub/sub → Socket.IO rooms → React
fallback
graceful WebSocket → polling degradation
geo
proximity stop detection, deduped pushes
framework
patched a gap in the realtime layer

Parents watch the bus approach in real time; the system degrades gracefully instead of failing when networks do.

Socket.IO · Redis · React · Frappe realtime

Portal & App Fleet

Frontend

Four production React SPAs and a tri-lingual parent mobile app on top of the Frappe backend.

portals
admin · teacher · parent · curriculum
desk
React previews inside native desk forms
exams
offline-tolerant engine, IndexedDB
jobs
nightly RQ pipelines for PDFs at scale

An exam engine that survives network loss mid-exam, and portals that 20–30k users rely on daily.

React 18 · TypeScript · Vite · TanStack Query

Client and institution names are kept private. Numbers are real and happily discussed in an interview.