whoami
Kapil Dagur
Backend Engineer | Python, FastAPI, Django | Noida, India
Most of my work sits behind the screen: the APIs, queues and databases that keep data moving. Right now that means Account Aggregator systems at SurePass, where a lender sees a customer's bank data only after the customer says yes.
Experience
finpass.ai is SurePass's Account Aggregator business. I work on the backend NBFC lenders use to ask for a customer's financial data, get consent, and receive it safely.
- Consent service: the whole consent lifecycle, from request and approval to revocation and expiry
- Multi-AA vault: one secure store for data arriving from different aggregators
- AA and TSP routing: when one provider is down, requests go through another, so lenders are not left waiting
- Statement analyzer: reworked its pipeline and queries so it runs faster and costs less
Two years on in-house products for network management, dashboards and employee monitoring, plus the pipeline that shipped them.
- iProvision: our network inventory and device management platform. I built the REST APIs behind device operations over SNMP and NETCONF/RESTCONF, and kept it fast for 10,000+ concurrent users. After Redis caching, Celery queues and query tuning, API latency went from 800 to 250 ms and it handled 3x the load. It also helped cut network downtime by 40%
- iDashboard: a tool for building custom dashboards and charts. I worked on the backend services that feed the dashboards and charts with data
- ProWatch: an employee performance monitoring app that also manages employees' systems. I built backend services for it
- Delivery: set up CI/CD with Docker, GitHub Actions and Jenkins, with 85%+ test coverage. Production bugs dropped 35% and deployments got 60% faster
Where I started: six months writing REST APIs for CodeQuotient's education platform, in Node.js, Express and Django REST Framework.
Open Source
Serving many customers from one FastAPI app means working out which tenant a request belongs to, scoping every query to it, and keeping migrations in step. fastapi-tenancy does that for you. Choose schema per tenant, database per tenant, row-level security or a mix; it stays fully async and runs on PostgreSQL, MySQL, SQLite and SQL Server. It lives under @fastapi-extensions, an organisation I started for well-tested FastAPI add-ons.
An API that speaks one language turns away part of its users. fastapi-locale reads the
language a client asks for, from a query parameter, Accept-Language
or a cookie, and answers in it: messages, validation errors with the right plural forms,
and the Content-Language header. Translations live in
standard gettext catalogs, managed by a small command line tool.
Naming a PostgreSQL ENUM or DOMAIN after a built-in type used to produce a broken CREATE TABLE. I picked up the issue and wrote the fix: SQLAlchemy now stops with a clear error. Issue #12761, PR #12822, shipped in 2.1.0b1.
A small piece of SQLAlchemy's long-running typing effort: inline type hints for sqlalchemy.sql.base, so editors and type checkers understand it better. Issue #6810, PR #12707, shipped in 2.1.0b1.
Tech Stack
Education
- UGC-NET Computer Science (June 2026): qualified for Assistant Professor and PhD admission
- GATE CSE 2023: qualified in the third year of B.Tech
- HackerRank: Software Engineer
- HackerRank: SQL (Intermediate)
- HackerRank: Problem Solving (Intermediate)
- IBM: Python for Data Science
Let's Talk
Working on something in fintech or Python backends? I'm always happy to compare notes. Email is the quickest way to reach me.