Skip to content
Utkarsh Jaiswal

Case study 01

Shuru

Software Development Engineer II · Mumbai · Jul 2025 — Present · Client: Balio (City Data Service)

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

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.

The problem

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.

What I built

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.

Stack

  • NestJS
  • TypeScript
  • PostgreSQL (JSONB)
  • Python
  • AWS (ECS, SQS, SES, EventBridge)