Software Development Engineer — Java Backend & Distributed Systems

Ankit Kumar
Srivastava

I build payment infrastructure and distributed systems that hold up under real traffic — in Java, at scale, under compliance.

4+ years shipping production systems at Zeta Tech, Netcore Cloud, and Zscaler — PCI-DSS payment pipelines, Kafka-driven microservices, and Kubernetes at scale. Currently exploring AI/LLM engineering with Spring AI, RAG, and MCP, and open to my next role.

01

About

A Java backend engineer building payment infrastructure and distributed systems — now branching into AI/LLM engineering.

I'm a Computer Science graduate from Galgotias College Of Engineering And Technology, Greater Noida, with 4+ years of professional experience building production systems on Spring Boot, Kafka, and Kubernetes inside PCI‑DSS regulated environments — from rebuilding core payment-transaction services to designing microservices architecture with product and platform teams.

I've led a cross-functional team of five, cut latency, cost, and reconciliation time by 20–40%, modernized CI/CD pipelines with Jenkins and GitHub Actions, and secured 20M+ cardholder records in compliance-regulated pipelines. I mentor engineers as a matter of habit — 500+ students and counting.

Right now I'm exploring AI/LLM engineering — Spring AI, LangChain, RAG, MCP — and looking for my next role building reliable systems that create real value at scale.

Years experience
0
Records secured
0
Teams led / mentored
0
Current focus
AI / RAG
02

Experience

  1. Mar 2025 — Jun 2026 Mumbai, India

    Zeta Tech (Directi)

    Software Development Engineer — Java Backend

    • Rebuilt core payment-transaction services in Java and Spring Boot, backed by JUnit/Mockito test suites, cutting critical API response times by 30%.
    • Co-designed the payments microservices architecture with product and platform teams, reducing operational overhead by 40%.
    • Built PCI-DSS compliant data pipelines in Java processing 20M+ cardholder records, cutting batch reconciliation time from 6 hours to 2 in coordination with the compliance team.
    • Introduced Kafka event streaming and Redis caching in the core transaction path, cutting latency by 20% and database load by 35%.
    • Deployed and monitored Spring Boot services on Kubernetes with ELK-based observability, reducing infrastructure costs by 20%.

    Java · Spring Boot · JUnit/Mockito · Kafka · Redis · Kubernetes · ELK Stack · PCI-DSS

  2. Feb 2023 — Mar 2025 Mumbai, India

    Netcore Cloud

    Software Engineer — Java Backend

    • Led a cross-functional team of five building Java and Spring Boot microservices, owning sprint planning, code reviews, and releases — cut downtime by 40%.
    • Tuned SQL queries and Hibernate/JPA mappings across core services, boosting application performance by 30%.
    • Set up Maven-based CI/CD pipelines with Jenkins and GitHub Actions, cutting deployment time by 50%.
    • Integrated OAuth 2.0 and JWT-based authentication into the Java backend, cutting average authentication time from 5s to 2s.

    Java · Spring Boot · Hibernate/JPA · Maven · Jenkins · GitHub Actions · OAuth 2.0 · JWT

  3. Jan 2022 — Aug 2022 Chandigarh, Mohali, India

    Zscaler

    Software Engineer Intern

    • Executed core components of a legacy-to-cloud migration, improving access speed by 40% for 100+ users with minimal downtime.
    • Designed encryption methods and 100+ test scenarios with the QA/security team, achieving a 99% success rate securing data for 200+ users.

    Python · Shell Scripting · Selenium · Pytest · AWS

  4. Jul 2021 — Jan 2022 Delhi, India

    Sunrise Mentors Pvt. Ltd.

    Teaching Assistant, EdTech Platform

    • Mentored 500+ students and led a 15-member TA team across 25 web development projects, standardizing code-review feedback.

    Python · Java · C++ · Web Development · Mentorship

03

Projects

Flagship work in distributed systems, data engineering, backend, and enterprise AI — the rest is one scroll further down.

Distributed Job Scheduler architecture cover

Distributed Job Scheduler Systems

A scheduler in the spirit of Quartz, Kubernetes Cron, and Airflow, built to handle recurring and delayed jobs at horizontal scale with exactly-once claims.

  • Leader-elected cron materialization; all-active workers compete on a Redis priority queue.
  • Exactly-once claim via Redis lock + Postgres status transition + unique execution token.
  • Retries with exponential backoff, dead-letter queue, heartbeat-based failure recovery; HLD + LLD docs in-repo.

Java 21 · Spring Boot · Postgres · Redis · Kafka · Docker Compose · Flyway

View source ↗ HLD ↗ LLD ↗
Notification Platform architecture cover

Notification Platform Systems

A multi-channel notification service covering Email, SMS, WhatsApp, Push, and Slack, built on real infrastructure instead of in-memory stubs.

  • Kafka-backed ingress with an in-process priority queue, scheduled sends, and a DB + Kafka DLQ for exhausted retries.
  • Redis-enforced idempotency keys and rate limiting, with exponential backoff on failed deliveries.
  • Template rendering, delivery analytics, and a local provider inbox for non-email channels; SMTP → MailHog for email.

Java 21 · Spring Boot 3 · Postgres · Redis · Kafka · MailHog · Flyway · Docker Compose

View source ↗ HLD ↗ LLD ↗
API Gateway architecture cover

API Gateway Systems

A production-style API gateway with JWT auth, rate limiting, circuit breaking, and observability, built as a custom filter pipeline instead of a Spring Cloud Gateway config dump.

  • Chain-of-Responsibility filter pipeline: observability → routing → auth → rate limit → circuit breaker + proxy.
  • HS256 JWT auth with per-route role checks; Token Bucket / Sliding Window rate limiting, in-memory or Redis Lua for distributed limits.
  • Per-route CLOSED → OPEN → HALF_OPEN circuit breaker; correlation IDs and Micrometer/Prometheus metrics throughout.

Java 21 · Spring Boot 3.4 · JJWT · Redis · Micrometer · Prometheus

View source ↗ HLD ↗ LLD ↗
Event-driven ecommerce backend architecture cover

Event-Driven E-commerce Backend Kafka

Distributed checkout across order, inventory, payment, and notification services over Kafka.

  • Multi-service architecture with async Kafka workflows for reliable checkout.
  • Transactional outbox, saga-style orchestration, and idempotency for safe retries.
  • Docker Compose local stack plus Kubernetes deployment assets for portfolio demos.

Java · Spring Boot · Kafka · Microservices · Outbox · Saga · Docker · Kubernetes

View source ↗ Docs ↗
StreamPulse architecture cover

StreamPulse Kafka

A real-time e-commerce analytics pipeline covering Kafka ingestion, windowed stream processing, ClickHouse OLAP, and a live dashboard.

  • Tumbling and session windows (Flink-style, with optional Flink SQL) computing per-minute revenue, volume, and conversion metrics.
  • Real-time fraud rules covering purchase velocity, high-value transactions, and geo-mismatch checks, with a dead-letter queue for invalid events.
  • ClickHouse modeling with MergeTree/ReplacingMergeTree, TTL, and materialized views; FastAPI + React dashboard polling every 4s.

Kafka · Flink · ClickHouse · FastAPI · React · Docker Compose

View source ↗ HLD ↗ LLD ↗
Netflix style streaming analytics architecture cover

Netflix Streaming Analytics Kafka

I wanted to see the same playback event feed answer two different questions at once, what is happening right now and what happened today, without those two answers ever disagreeing with each other. So I built a pipeline that pushes every play, pause, seek, and buffer through Kafka into both a realtime job and a daily job.

  • Flink keeps 60 second tumbling windows for live top shows, watch time, and session length, while Spark groups the same events by day, show, country, and device for the daily rollup.
  • Both jobs share one watch time rule. Play, pause, and buffer events update a running position, and seeks get capped at 300 seconds so a single scrub never looks like five minutes of watching.
  • Everything lands in ClickHouse, or a plain JSON file when there is no ClickHouse running, and a small FastAPI dashboard reads it to show top shows, churn scores, and show recommendations.

Python · Kafka · Flink · Spark · ClickHouse · FastAPI

View source ↗ HLD ↗ LLD ↗
Mini Elasticsearch architecture cover

Mini Elasticsearch Search

I wanted to actually understand how a search engine works under the hood, so I built a small one myself. No Lucene, no Elasticsearch library, just the core ideas coded from scratch.

  • Wrote my own inverted index and ranked results with BM25 and TF-IDF instead of just doing keyword matching.
  • Added a trie for autocomplete, handled synonyms, and highlighted matched terms in the results.
  • Split the index across shards (routed by hashing the doc id) and query all of them in parallel, then merge the results.

Python · FastAPI · Inverted Index · BM25 · TF-IDF · Distributed Sharding

View source ↗
Mini Redis architecture cover

Mini Redis Systems

I've used Redis for caching more times than I can count at work, but I never actually built one myself. So I sat down and wrote a small version in Java, starting from basic eviction and working all the way up to cluster routing.

  • Wrote my own LRU eviction and TTL expiry for the core cache, then added RDB style snapshots and an AOF log so a restart doesn't wipe the data.
  • Consistent hashing with virtual nodes routes keys across shards through a ClusterManager, so scaling out just means adding another shard node.
  • Leader and follower replication plus pub/sub sit on top of the same cache core instead of being bolted on as an afterthought.

Java 21 · LRU Eviction · TTL · RDB/AOF Persistence · Leader-Follower Replication · Consistent Hashing · Pub/Sub

View source ↗ HLD ↗ LLD ↗
Ride-hailing backend architecture cover

Uber Backend Systems

I always wondered how an app like Uber actually finds you a driver in real time, so I built the backend for that myself. Just the ride-hailing logic, no frontend needed.

  • Track live driver locations with Redis GEO and match riders to the nearest free driver, guarding the claim with a putIfAbsent so two riders can never end up with the same driver.
  • Modeled the whole trip as a real state machine — you can't jump straight from MATCHED to COMPLETED, every status change gets validated.
  • Surge pricing reacts per geohash cell based on actual demand vs supply, and Kafka carries location/trip/notification events end-to-end into a WebSocket that pushes live trip updates to the rider.

Java 21 · Spring Boot · Redis GEO · Kafka · WebSocket · Docker Compose

View source ↗
Payment Gateway architecture cover

Payment Gateway Systems

This one grew into a proper multi service payment stack. Thirteen Spring Boot services (auth, payments, refunds, fraud, ledger, settlement, reconciliation, wallet and a few more) plus Clearflow, a small Angular console that talks to all of them through a local proxy.

  • Confirming a payment runs an actual saga. Fraud check, then ledger reserve, then a simulated gateway confirm, with compensation if a later step fails.
  • Wrote my own outbox so a DB commit and the event it should emit never drift apart, plus idempotency keys on payment and refund creation.
  • Auth service handles JWT login and refresh, OAuth2 client credentials, RBAC, API keys and card tokenization, and it never returns the actual card number once tokenized.

Java 21 · Spring Boot 3 · Postgres · Redis · Kafka · Angular · Docker Compose

View source ↗ HLD ↗ LLD ↗
Collaborative docs editor architecture cover

Collaborative Docs Editor Systems

I wanted multiple people typing into the same document at once without any locking, and edits still merging cleanly even after someone goes offline. So I built this with Yjs CRDTs instead of trying to hand roll operational transforms.

  • Every client holds a full Y.Doc and the updates are binary blobs that commute, so the server ends up being just a relay and a place to persist state, not a merge authority.
  • IndexedDB keeps taking edits while you are offline, and the WebSocket provider resyncs the missing updates automatically once you reconnect.
  • Version history is real snapshots of the encoded Yjs state on disk, and restoring one writes to disk and asks the client to reload instead of trying to rewind a live room mid flight.

Next.js · Lexical · Yjs · WebSockets · IndexedDB · Zustand

View source ↗ HLD ↗ LLD ↗
Realtime multiplayer canvas editor architecture cover

Canvas Studio Systems

I wanted to see how far a simple last write wins model could take a shared canvas before you actually need a CRDT. So I built a multiplayer whiteboard where everyone draws on the same shapes over one WebSocket room.

  • The server just keeps a shapes map and a versions array in memory, and whichever update lands last for a shape wins. No operational transforms, no CRDT merge logic, and that trade off is fine until you actually need multi team scale.
  • Camera position and zoom stay local to each browser so panning around doesn't spam the room, while shapes, cursors, and presence all sync over the same socket.
  • Version history is capped at fifty named snapshots written to a JSON file on disk, and restoring one is just swapping in an older shapes map.

React · Konva · Zustand · WebSockets · Express · Node.js

View source ↗ HLD ↗ LLD ↗
FocusTodo collaborative todo app interface

FocusTodo Collab Todos

A full-stack todo app with shareable realtime rooms, using REST for CRUD and STOMP/WebSocket for live sync.

  • Excalidraw-style share links so multiple browsers edit the same list live.
  • Optimistic locking via @Version (409 on conflict) so concurrent edits don't silently overwrite.
  • One-command local run with Docker Compose, plus Postman collection and Swagger UI.

Java 21 · Spring Boot 3 · React (Vite) · MongoDB · STOMP/SockJS · Docker Compose

View source ↗
Real-Time UPI Analytics Platform dashboard

Real-Time UPI Analytics Platform

A complete data engineering pipeline for real-time UPI transaction analytics, from ingestion all the way to dashboards.

  • Kafka ingestion with Flink for real-time validation and cleaning.
  • dbt transformation models plus Airflow DAGs for daily batch aggregations.
  • Grafana dashboards for real-time visualization, fully containerized with Docker Compose.

Kafka · Flink (Java) · Airflow · PostgreSQL · dbt · Grafana · Python · Docker

View source ↗
Enterprise RAG Intelligence Platform interface

Enterprise RAG Intelligence Platform

An enterprise AI assistant with role based access control, hybrid retrieval, and knowledge graph reasoning, designed to plug into a company's existing systems.

  • Hybrid retrieval — dense (BGE + Qdrant) and sparse (BM25 + Elasticsearch) — with cross-encoder reranking.
  • Retrieval-time role filtering and PII/secret blocking for unauthorized roles.
  • Knowledge-graph multi-hop reasoning with NetworkX; JWT auth, audit logs, RAGAS eval, Langfuse/Phoenix tracing.

FastAPI · Streamlit · Qdrant · Elasticsearch · BGE Embeddings · NetworkX · Docker

View source ↗
PII Masking API architecture diagram

PII Masking API Go

Stateless Go microservice masking PAN, Aadhaar, phone, email, and GSTIN before logs or downstream systems see raw data.

  • Single mask, bulk mask, validate-only, and auto-detect endpoints.
  • Format validation before masking — invalid input returns 400, not partial leaks.
  • Stateless, no database dependency — runs behind a gateway or as a sidecar.

Go · net/http · Docker · Regex validation

View source ↗
PDF Toolbox API screenshot

PDF Toolbox API Go

A Go microservice for merge, split, compress, encrypt, and convert, with outputs landing on Cloudflare R2 with a public URL.

  • Multi-endpoint processing: merge, split, compress, encrypt/decrypt, doc-to-PDF.
  • Containerized with qpdf, ghostscript, poppler-utils, and LibreOffice.
  • Deployed on Railway with environment-aware config.

Go · pdfcpu · qpdf · LibreOffice · Docker · Cloudflare R2 · Railway

View source ↗

Also built

04

Skills

Languages

JavaGoPythonC/C++JavaScriptPHPC#

Frameworks

Spring BootHibernate/JPAGuiceGinFlaskDjangoExpress.jsNode.jsReact.jsAngularJSHTMLCSSBootstrapSASS

Testing & Build

JUnitMockitoMavenGradlepytestJestPHPUnitxUnitCMakeGoogleTestnpmGo test

Cloud & DevOps

AWSDockerKubernetesTerraformHelmArgoCDGit / CI-CDIstio

Data Engineering & Messaging

KafkaRabbitMQAmazon SQSApache AirflowApache FlinkApache SparkdbtSnowflake

Databases

PostgreSQLMySQLMongoDBRedisVertica

Observability & Security

ELK StackPrometheusGrafanaOpenTelemetryOAuth 2.0JWTRBACSnykSonarQube

Architecture & Design

Distributed SystemsMicroservicesEvent-Driven ArchitectureREST APIsHLD/LLDOOPDesign PatternsCamunda BPMNLinux

AI & LLM Engineering

Spring AILangChainOpenAI APIAnthropic Claude APIGemini APIRAGQdrantpgvectorMCPCursor
05

Achievements

Competitive programming credentials — because algorithmic muscle memory still matters at 2am during an incident.

Top 1%

94th of 10,000+ finishers — Credit Suisse Global Coding Challenge.

954th

Global rank — Google Code Jam, among worldwide competitive programmers.

1816

Codeforces max rating — 780th (Div. 2 Round 720) and 402nd (Div. 2 Round 728).

06

Education

Galgotias College Of Engineering And Technology

Greater Noida, India · B.Tech, Computer Science & Engineering · Aug 2018 — Jul 2022 · CGPA 8.76/10

Data Structures & Algorithms · Database Management Systems · Operating Systems · Machine Learning · Digital Image Processing

ISC Board

Senior High School · PCM (Science) · 89.25%

Physics · Chemistry · Mathematics

07

Contact

Open to backend and distributed systems roles — reach out directly.

Elsewhere: Medium GeeksforGeeks LeetCode Codeforces CodeChef HackerRank HackerEarth