Open to Software Engineering roles — Bangalore / Remote

Designing scalable distributed systems & AI infrastructure.

I design and build scalable distributed systems, AI-powered applications, and production-grade full-stack platforms — with a strong focus on architecture, performance, and reliability.

6+
Production & personal projects
4
Distributed architectures designed
1.5s
AI latency, down from 5–7s
1,000+
Concurrent users supported

About

Software engineering, at the systems level.

I'm a software engineer who ended up specializing in distributed systems mostly by chasing the same question across every project I've built: what actually breaks when this has to serve a thousand people at once instead of one? That question is why I care more about what happens at the queue, the cache, and the database index than about the framework of the week.

Most of my recent work sits at the intersection of backend architecture and AI infrastructure — building RAG pipelines that don't fall over under document ingestion load, multi-tenant systems where one noisy customer can't degrade everyone else's latency, and real-time platforms where the hard part isn't sending a message, it's agreeing on where every socket lives right now. I like this kind of problem because the constraints are unforgiving and the tradeoffs are concrete — consistency versus latency, throughput versus cost, simplicity versus flexibility — and getting them right is the actual craft.

I also spend a lot of time on the un-glamorous half of engineering: performance. Cutting an AI chatbot's reply time from five seconds to under two, or a Lighthouse score from 62 to 84, isn't a rewrite — it's profiling, finding the two or three things actually responsible, and fixing exactly those. That discipline of measuring before optimizing is probably the single habit that's saved me the most time in production.

Outside of the resume line items, I'm just someone who enjoys system design as a craft in its own right — sketching an architecture on a whiteboard before writing a line of code, and being a little too willing to explain why a particular caching strategy is the interesting part of a project.

J Gaurav Varma
J Gaurav Varma
Software Engineer · Bangalore, India
  • FocusDistributed Systems, AI Infra
  • Experience1.5+ years
  • LanguagesJS/TS, Python, SQL
  • CurrentlyTradeBrains.in

Experience

Where the architecture got tested in production.

Every role below shipped something that had to survive real traffic. Expand a card for the problem/architecture/solution/impact behind it.

Software Engineer TradeBrains.in
Oct 2025 — May 2026
  • Built an AI chatbot for a stock research platform with context-aware session memory and streaming responses, cutting AI reply latency from 5–7s to ~1.5s.
  • Improved application performance 25% (Lighthouse 62 → 84) via route-based code splitting, WebP image compression, and deferred non-critical scripts.
  • Built a real-time market data layer for a crypto trading terminal, synchronizing live order books, feeds, and balances over WebSockets with JWT-secured sessions.
ReactNode.jsWebSocketsLLM APIsLighthouse
AI Stock Research Assistant
Problem

A 5–7s reply time with no incremental feedback felt broken for an interactive research tool.

Architecture

Context-aware session memory plus token-by-token streaming, paired with route-based code splitting and WebP-driven LCP improvements platform-wide.

Solution

Profiled the Lighthouse report to target the exact metrics dragging the score down instead of broad optimization.

Impact

Latency cut to ~1.5s; Lighthouse score up 25% (62 → 84).

Full case study
Crypto Trading Terminal
Problem

Traders needed order books, feeds, and balances to stay accurate to the second, with a secure path to act on that data.

Architecture

A WebSocket market-data layer plus a custom API client, with JWT-based session management for authenticated trading actions.

Solution

Client-side reconciliation applied incremental order-book updates instead of re-fetching full state on every tick.

Impact

An integrated workflow for strategy creation, automated execution, and real-time PnL monitoring.

Full case study
Software Engineer Sirpi.io
Dec 2024 — Sep 2025
  • Architected a multi-tenant AI chatbot as a service with a scalable RAG pipeline — async crawling, ingestion, embedding, and semantic retrieval.
  • Redesigned a high-traffic visa verification portal after diagnosing a Google Sheets API rate-limit bottleneck via K6 load testing.
  • Built a geospatial analytics platform with real-time interactive dashboards using Apache ECharts.
  • Co-developed a large-scale ERP platform, introducing TanStack Query for centralized data fetching and moving PDF generation server-side.
Next.jsFastAPIpgvectorRedisKafkaAWS
Multi-Tenant AI Chatbot as a Service
Problem

Serving many tenants' knowledge bases from shared infrastructure without one tenant's crawl job degrading another's chat latency.

Architecture

Kafka-based crawl/ingestion/embedding workers, Redis caching and distributed locking, pgvector per-tenant retrieval, stateless API tier.

Solution

Tenant ID scoped into every cache key and lock name from day one; workers scale independently of the API tier.

Impact

Minimized request latency and maximized throughput while supporting horizontal scaling across tenants.

Full case study
Visa Verification Portal
Problem

Per-request Google Sheets API calls triggered 403 rate-limit failures under real event traffic from 2,500+ attendees.

Architecture

Redis-backed cache as the sole read path, with a scheduled sync worker replacing live per-request API calls.

Solution

K6 load testing proved the bottleneck before the redesign, and again validated the fix against the 1,000+ concurrent user target.

Impact

Eliminated rate-limit failures and significantly reduced lookup latency at scale.

Full case study
Geospatial Analytics Platform
Problem

Legacy dashboards were slow and hard to maintain for real-time geospatial data.

Architecture

Interactive dashboards and real-time data visualization built with Apache ECharts.

Solution

Refactored legacy code alongside the new dashboards to improve maintainability.

Impact

Faster, more maintainable analytics with real-time visualization.

ERP Platform
Problem

Scattered API calls across the frontend caused redundant requests and heavy boilerplate; invoice PDF rendering lagged the UI.

Architecture

TanStack Query for centralized data fetching, caching, retries, and background sync; PDF rendering moved to the backend.

Solution

Standardized API interaction patterns across the frontend instead of per-component fetch logic.

Impact

Fewer redundant network requests, less boilerplate, and a faster, lag-free invoice generation experience.

Software Engineer GoItdev Technologies
Jul 2024 — Aug 2024
  • Built a centralized Admin Dashboard and Activity Log Management System for auditing, debugging, and operational monitoring.
  • Integrated Grafana, Prometheus, and Loki for real-time observability and log aggregation.
GrafanaPrometheusLoki
Problem

No centralized way to track application-wide user actions and system events made auditing and debugging slow and reactive.

Architecture

A centralized activity-log pipeline feeding an admin dashboard, with Grafana/Prometheus/Loki providing metrics and log aggregation.

Solution

Structured logging and dashboards that surface system events in one place instead of scattered across services.

Impact

Improved troubleshooting efficiency and minimized application downtime.

Projects

Case studies, not resume bullets.

Each project below is a full write-up — problem, architecture, tradeoffs, and what I'd do differently next time.

Architecture Case Studies

System design, diagrammed.

The four architectures I've gone deepest on — requirements through failure recovery, with diagrams.

Skills

The stack, by concern.

Languages

JavaScript (ES6+)TypeScriptPythonSQL

Frontend

React.jsNext.jsReduxTanStack QueryTailwind CSS

Backend

Node.jsExpress.jsFastAPIREST APIsWebSocketsJWT Auth

AI Engineering

RAGOpenAI APIpgvectorVector SearchPrompt EngineeringStreaming Responses

Databases & Storage

PostgreSQLMongoDBRedisAWS S3

Distributed Systems

KafkaEvent-Driven ArchitectureBackground WorkersAsync ProcessingDistributed Locking

Cloud & DevOps

DockerAWS (EC2, S3, ECS, Lambda, Cognito, RDS)NginxGitHub ActionsCI/CD

Performance Engineering

CachingCode SplittingLazy LoadingDebouncingImage OptimizationCDNLighthouse Optimization

Observability & Monitoring

GrafanaPrometheusLokiLoggingMonitoring

System Design

Load BalancingRate LimitingHorizontal/Vertical ScalingDB IndexingReplicationShardingAPI Design

Impact, in numbers

Highlights from production.

0+
Production & personal projects shipped
0
Distributed architectures designed
0%
Performance improvement (Lighthouse 62 → 84)
0+
Concurrent users supported
0+
Attendees served, visa verification portal
0s
AI reply latency, down from 5–7s

Resume

Everything above, on one page.

J Gaurav Varma — Software Engineer

Distributed systems, backend architecture, AI infrastructure, and performance engineering — condensed into one document.

Last updated

GitHub

Recent repositories.

Pulled live from GitHub where available.

View full profile ↗

Writing

System design notes.

Long-form breakdowns of the architectures above — some live, some still being written.

Beyond the resume

How I think about the work.

Engineering Philosophy

  • Measure before optimizing — a Lighthouse score of 62 tells you exactly where to look; a rewrite doesn't.
  • Decouple the fast path from the slow path — query time and ingestion time should never share a queue.
  • Every cache key and lock name should assume it will one day be multi-tenant.
  • Boring, observable infrastructure beats clever, opaque infrastructure at 3am.

Now Building

  • Extending the Distributed RAG Platform with hybrid keyword + vector search.
  • Per-tenant rate limiting for high-concurrency ingestion pipelines.
  • Writing up the architecture case studies above as full technical posts.

Now Learning

  • Distributed consensus (Raft) and how it shows up in the systems I already depend on.
  • Kubernetes-native deployment patterns for the services described above.
  • Query planning and index tuning at the Postgres internals level.

Design Principles I Default To

  • Stateless services, so horizontal scaling is a deployment decision, not a rewrite.
  • Durable queues over in-memory queues the moment a job matters if it's dropped.
  • One source of truth for a read path — a cache that sometimes passes through is a cache that sometimes lies.

Contact

Let's build something that has to scale.

Bangalore, India · Open to Software Engineering roles, remote or on-site.