Skip to content
Utkarsh Jaiswal

Work

Five engagements, five systems.

Most recent first. Each one is the same shape: what was breaking, what I built, and what it did to the numbers.

Measured outcomes

Every number here came out of a production system, and traces to a named engagement.

24
California cities and counties served
Shuru / Balio
142K
legacy compliance and expense reports
Shuru / Balio
4TB
JSON searched in Elasticsearch
WhiteCrow
+18%
ITR filings after the 26AS parser
Fisdom
01

Selected work

The work

  1. Architecture: agency users reach a NestJS API that enforces RBAC route guards and tenant-scoped queries against PostgreSQL, where a JSONB form engine holds per-tenant field configuration and revision snapshots. Notifications and program-window recomputation leave the request path through SQS and EventBridge-triggered ECS tasks that send mail via SES. A Python migration tool reads the 38-database legacy estate and emits JSON for V2 imports.ASYNC PATHtenant-scopedenqueueJSON imports24 agenciescities · countiesNestJS APIRBAC · tenant scopePostgreSQLJSONB form engineLegacy V138 DBs · read-onlyPython migration142K reportsSQS + EventBridgeoff request pathECS tasksSES mail
    01Jul 2025 — Present

    Shuru

    Software Development Engineer II · Mumbai

    A 20-year-old grant and housing-compliance system serves 24 California cities and counties, with a legacy estate spanning 38 databases and 142K compliance and expense reports — and it has to be replaced without taking production offline.

    I own the backend architecture for the NestJS/PostgreSQL V2 platform: a JSONB-backed form engine so agencies configure conditional fields and tenant overrides without a deployment, revision snapshots and field-level diffs that preserve grant amendment audit trails, and RBAC with per-resource CRUD/APPROVE/REJECT permissions enforced through route guards and query-level tenant scoping. A Python migration tool carries 200–500-field legacy records across per-jurisdiction mappings, validating budgets and required fields, folding in client Excel corrections, and emitting JSON for V2 imports.

    24

    cities and counties

    Production V1 stays read-only throughout, and notifications and program-window recomputation run off the request path on SQS, SES, and EventBridge-triggered ECS tasks.

    • NestJS
    • TypeScript
    • PostgreSQL (JSONB)
    • Python
    • AWS (ECS, SQS, SES, EventBridge)
  2. Architecture: API clients pass a per-client rate limiter, which escalates lockout windows on the Fibonacci sequence for repeat offences inside 24 hours, before reaching the Node.js REST API. On AWS instances, the API queries a 4 TB JSON corpus in Elasticsearch and uses MySQL with a scheduled maintenance event. Sign-in is Google login over OAuth.AWS INSTANCEStuned queriesAPI clientsRate limiterFibonacci lockoutGoogle loginOAuthREST APINode.jsElasticsearch4 TB JSONMySQLscheduled event
    02Jan 2022 — Mar 2025

    WhiteCrow Research

    Software Engineer · Mumbai

    Talent search ran over a 4 TB JSON corpus, and an unthrottled API surface meant one heavy client could degrade the platform for everyone.

    I owned backend development for three years — REST APIs, data models, and client integrations — optimised the Elasticsearch queries and database operations behind search, and built an anti-scraping rate limiter with per-client request budgets and Fibonacci-escalating lockout windows for repeat offences inside 24 hours.

    4TB

    JSON corpus searched

    I also automated application deployments to the AWS instances through deployment scripts, implemented Google login for authentication, and used MySQL events for scheduled database maintenance.

    • Node.js
    • Elasticsearch
    • MySQL
    • AWS
    • REST API design
  3. Architecture: a Python parser reads the government Form 26AS and pre-fills the filing journey, which files returns directly through ERI client registration. Taxpayers self-file on the CodeIgniter portal, and eMitra and CSC partner channels file on a taxpayer's behalf.pre-filledForm 26ASgovt. document26AS parserPythonFiling journeyCodeIgniterERIfiles directlyTaxpayerself-filingeMitra / CSCassisted filing
    03Apr 2021 — Dec 2021

    Fisdom (now part of Groww)

    Software Engineer · Jaipur

    Self-filing stalled wherever a taxpayer had to key in data that already sat in a government document, and assisted filing needed a route through government partner channels.

    I built a Python Form 26AS parser to automate taxpayer-data extraction, and implemented E-Return Intermediary (ERI) client registration with eMitra and CSC integrations so partner channels could file on a taxpayer's behalf.

    +18%

    ITR filings

    ITR filings rose 18%, and the PHP CodeIgniter portal was secured with CSRF protection.

    • Python
    • PHP (CodeIgniter)
    • MySQL
    • ERI
    • eMitra / CSC
  4. Architecture: a Node.js API runs checkout, transactional receipts, and fulfilment against MySQL, and takes payment through Stripe and Razorpay as parallel providers. Both rails feed a reconciliation flow.PAYMENT RAILSsettledCheckoutstorefrontNode.js APIStripeRazorpayMySQLordersReceiptsfulfilmentReconciliation
    04Jul 2020 — Mar 2021

    Lademoda

    CTO · Remote

    A commerce business needed an end-to-end platform rather than a storefront bolted onto a spreadsheet.

    I built the Node.js backend and MySQL data layer for the e-commerce platform, covering checkout, transactional receipts, and fulfilment workflows.

    2

    payment rails

    Stripe and Razorpay run as parallel payment providers, with payment processing and reconciliation flows behind them.

    • Node.js
    • MySQL
    • Stripe
    • Razorpay
  5. Architecture: the auction marketplace takes payment through Stripe checkout under PCI compliance constraints. GitHub Actions and Docker form the delivery pipeline that automates deployments.DELIVERY PIPELINEpaymentsAuction marketplaceStripe checkoutPCI-compliantGitHub ActionsCI/CDDockerDeployautomated
    05Jun 2019 — Jun 2021 · concurrent

    Bid And Win

    Software Engineer (Contract) · Remote

    An auction marketplace needed payments it could defend under PCI compliance constraints, and a deploy path that did not depend on someone's laptop.

    I built the Stripe checkout and payment integration inside those constraints.

    PCI

    compliant checkout

    CI/CD with GitHub Actions and Docker automated the application deployments.

    • Node.js
    • Stripe
    • Docker
    • GitHub Actions
02

Side projects

Built for my own use

Deliberately quieter than the work above.

  • Splitro

    Node.js · Express · MySQL

    Split bills and shared expenses with friends or across a trip.

  • Social Media Automation

    Python · Cron · Platform APIs

    Scheduled posting across Instagram, Facebook, Pinterest, and Twitter, plus a ChatGPT-backed Twitter bot and a custom image generator.

  • Personal Blog

    Angular · Express

    Posts and comments, written and moderated end to end.

  • Todire

    Angular · Express

    Categories and tasks in a small to-do web app.

  • Weather

    Angular · Express

    Forecasts pulled from a public weather API.

03

Next

Want something like this built?

Tell me what is under strain — traffic, search, queues, the deploy path — and I will tell you how I would approach it.