Skip to main content
RK®
Senior Backend & Data Engineer

Java · Spring Boot · Distributed Systems · Data Platforms · Azure

I build the quiet systems that keep business moving.

Senior backend engineer with 10+ years building Java, Spring Boot, and Kubernetes microservices for telecom and finance.

60% ↓
upload latency
40% ↓
feed onboarding
25% ↓
operational overhead
Layered arches in charcoal, terracotta and orange with a circuit motif
JAVA / SPRING BOOT
MICROSERVICES / REST
AZURE / KUBERNETES
NEXT.JS / TYPESCRIPT

Case Studies

01

TD Securities (Endava)

Data Engineer · Toronto

Cut data upload cycles from 20 minutes to 2

Modernized data-intensive applications for Azure Kubernetes Service and built Java-orchestrated Spark and Databricks workflows to migrate Apache Iceberg datasets from HDFS to Unity Catalog-managed Delta Lake tables.

  • •Optimized core data handling workflows with high-throughput batch inserts, cutting file-upload processing time from 20 minutes to under 2 minutes
  • •Designed a configuration-driven API Source Loader framework that abstracted ingestion complexity and reduced new data-feed onboarding time from weeks to days
  • •Instrumented Spring Boot services with OpenTelemetry to expose application and performance metrics for collection and monitoring in Datadog
  • •Modernized data-intensive monolithic applications for AKS by separating deployable modules, containerizing Spring Boot services, and creating Dockerfiles and Helm charts for repeatable deployments
  • •Developed Java and Spring Boot POCs to create and trigger Spark-based migrations of Apache Iceberg datasets from HDFS to Unity Catalog-managed Delta Lake tables, packaging and deploying workloads with Databricks Jobs and Asset Bundles

Java · Spring Boot · AKS · Apache Iceberg · Delta Lake · Databricks · OpenTelemetry · Datadog · Helm

Source APIsConfig-driven LoaderSpring Boot ServicesKafka · Data ProcessingSpark · DatabricksDelta Lake · Unity Catalog
BEFORE20 minAFTER<2 min10× fasterfile-upload processing time
02

Amdocs Canada (Zenith SS)

Software Developer · Toronto

Reduced operational overhead 25% with automated recovery

Engineered concurrent Java data pipelines and built the Automatic Recovery Tool (ART), a Spring Boot service that detected and remediated data inconsistencies across high-volume billing workflows.

  • •Engineered concurrent Java data pipelines using Google Pub/Sub to process debit and surcharge events with low latency and improved scalability
  • •Designed and deployed scalable Spring Boot microservices on AWS using EC2, S3, RDS, and Lambda
  • •Built a Spring Boot-based Automatic Recovery Tool (ART) to detect and remediate data inconsistencies and generate actionable reports, reducing operational overhead by 25%
  • •Designed and developed a high-volume bulk charge and tax loading capability, reducing billing processing time by 20% and increasing operational throughput

Java · Spring Boot · AWS · Google Pub/Sub · REST APIs · SQL

03

Personal

Systems Engineer · Toronto

Production-grade homelab for continuous learning

Self-hosted infrastructure for testing new technologies and maintaining personal services, with redundant storage, network segmentation, reverse-proxy routing, secure external access, and automated TLS certificate management.

  • •Design and operate a self-hosted platform using Proxmox VE, Unraid, Docker, and Kubernetes
  • •Redundant storage with network segmentation for isolated service tiers
  • •Reverse-proxy routing with secure external access via Nginx
  • •Automated TLS certificate management

Proxmox VE · Unraid · Docker · Kubernetes · Nginx · TLS/SSL

Selected Builds

Self-hosted platform

Homelab — production-style edge, identity & fleet ops

Six-host fleet with Traefik/CrowdSec/Authelia at the edge, app nodes, media as a workload line, and Beszel/Dozzle/Homarr across the board — not "I run Plex."

  • •Edge/ingress plane: Traefik + CrowdSec + Authelia (+ Pangolin) on hlx-prod-rpi-01 / hlx-edge-01
  • •App plane: Docker hosts + balerion — services with Unmanic where needed
  • •Fleet ops: Beszel / Dozzle / Homarr for health, logs, and ops UX across all six hosts
Traefik
CrowdSec
Authelia
Pangolin
Docker
Beszel
Dozzle
Homarr

TD Securities · via Endava

Cut file-upload latency and feed onboarding on a Java data platform

Owned the path from slow batch uploads and week-long source onboarding to config-driven loaders and measurable latency wins — Spring on AKS, with observability wired for real ops.

  • •Drove upload processing from multi-minute batch pain to a latency outcome hiring managers can probe (60% ↓)
  • •Shipped config-driven API Source Loader — onboarding measured in days-class cycles (40% ↓)
  • •Instrumented Spring services (OTel → Datadog) so regressions show up in ops, not in war rooms
Java
Spring Boot
AKS
Helm
OpenTelemetry
Datadog
Spark/Databricks

Amdocs Canada

ART — Automatic Recovery Tool for billing data integrity

Built a Spring Boot recovery console that detects inconsistencies, produces actionable reports, and supports remediation — cutting operational overhead instead of adding another ticket queue.

  • •Detect data inconsistencies early with actionable reports (not raw dumps)
  • •Remediation path operators can run without engineering on every incident
  • •Outcome: 25% ↓ operational overhead on the recovery workflow
Java
Spring Boot
Thymeleaf
AWS

Also ships UI

Full-stack product surfaces — secondary to platform work above.

E-commerce admin

E-commerce admin

Multi-tenant admin dashboard for managing products, orders, and analytics. Built with Next.js, integrated with Stripe for payments and Clerk for authentication.

Next.js
React
Stripe
Clerk
Storefront

Storefront

Modern e-commerce storefront with product catalog, shopping cart, and checkout flow. Headless CMS architecture consuming admin API.

Next.js
React
Tailwind CSS
Stripe

Dual Writes Are Lies: The Transactional Outbox Pattern in Spring Boot + Kafka

It&rsquo;s 3 AM. A customer paid, the orders row is in your database, and the OrderCreated event never reached Kafka. The warehouse never shipped. The email never sent. Somewhere in your service there is code that looks like this: @Transactional public Order placeOrder(PlaceOrder …

spring-boot
java
kafka

Replace YNAB: Self-Host Actual Budget in One Docker Container

YNAB is $14.99 a month — $180 a year — for envelope budgeting. That&rsquo;s a subscription to be told where your own money went. Actual Budget is the open-source clone: same &ldquo;give every dollar a job&rdquo; philosophy, local-first so it works offline, and a tiny server that …

homelab
docker
self-hosted

Exactly-Once POSTs: Idempotency Keys in Spring Boot (Stripe-Style)

The client times out waiting for your POST /orders. It retries. Your server processes it twice. The customer gets charged twice, and your support queue gets a new entry titled in all caps. Stripe solved this a decade ago with one header: Idempotency-Key. The client generates a …

spring-boot
java
backend

One Container to Watch Them All: homelab-monitor Replaces Your Uptime + Grafana Tabs

My monitoring stack used to be five containers: Prometheus, Grafana, node-exporter, cadvisor, and an uptime checker — plus a paid UptimeRobot plan for the &ldquo;is the house on fire&rdquo; pings. Total maintenance burden: a weekend to set up, and a Sunday every few months when …

homelab
docker
self-hosted

Contact

Let's connect

Toronto · Open to backend roles

Education

M.Tech Computer Science
National Institute of Technology, Rourkela
2014–2016
B.Tech Computer Science & Engineering
Uttar Pradesh Technical University, Lucknow
2009–2013