Senior Software Engineer · Hyderabad, India

Manikanta GopiBackend, platform and infrastructure engineering.

I build the parts of a product that have to stay up.

For the last four years that has meant Praja — a regional social platform — where I've worked across a Ruby on Rails monolith, a set of Go and NestJS services around it, and the Kubernetes fleet all of it runs on. Along the way I've owned migrations, designed the release path, and shipped the infrastructure a paid tier depends on.

I like the problems where the answer is a measurement rather than an opinion: which queue is actually the bottleneck, what the p90 really is, whether the new model is better or just different.

4 yrs
back-end engineering
Dec 2021 → present
24
services on the fleet
GitOps-managed on AWS EKS
3
clouds worked across
AWS primary, GCP and Azure
1
zero-downtime migration
Azure AKS → AWS EKS, live cutover
01 / Selected work

Selected work

Systems I designed, owned or rebuilt — described at the architecture level.

Platform2022 – present

The Rails monolith at the centre of a social platform

185 models, 211 background workers and ~28 Sidekiq queues serving a regional social network. Four years of feature work, performance work, and the discipline of keeping a large monolith habitable.

Ruby on RailsMySQLRedisSidekiqOpenSearch
Infrastructure2024 – present

Running a 24-service fleet from a Git repository

Helm charts, per-environment values and automated image bumps describing every service in production — most changes deliberately small, so the tree stays reviewable.

KubernetesHelmFluxArgoCDKEDAKarpenter
Backend2023 – 2026

A real-time messaging service, and the parts that were hard

NestJS and Socket.IO with Redis pub/sub for cross-instance fan-out and MongoDB for persistence. Three years of ownership — including adding a message broker and later removing it.

NestJSSocket.IORedisMongoDBBullMQ
Infrastructure2024 – 2025

Moving production from Azure to AWS, service by service

A live migration from AKS to EKS — Terraform for the new estate, one service at a time, DNS and CDN last, then a deliberate decommission. No maintenance window.

TerraformAWS EKSAzure AKSCloudFrontRoute 53
Backend2024 – present

The media pipeline behind the paid tier

Compositing user photography onto templated poster and video designs at festival-day volumes. Moved from Lambda + FFmpeg to KEDA-scaled in-cluster workers driven by queue depth.

NestJSFFmpegPuppeteerRedisKEDAS3
ML2025 – 2026

Replacing a vendor vision API with a self-hosted GPU service

Background removal moved from per-call cloud API to an ONNX model on GPU nodes in-cluster, then a face-detector swap validated against 200 real production images before shipping.

PythonONNX RuntimeOpenCVBiRefNetSCRFD
Backend2024 – present

A Go notification service for fan-out at population scale

Targeting users by district, state, party and circle, then dispatching push through FCM without touching the main API's request path.

GoGinGORMAsynqRedisFCM
Infrastructure2024 – present

The release path, and knowing when it broke

CircleCI with timing-based test splitting, build capacity on our own cluster, plus the instrumentation and backup drills that make production legible.

CircleCINew RelicPrometheusGrafanaLokiVelero
Open source2026

Seeker: a search engine built from first principles

An inverted index, BM25, Levenshtein automata, FSTs, BKD trees, a byte-level segment format and a breakable cluster — ~20,000 lines of TypeScript with a 43-chapter book.

TypeScriptNext.jsReact
Open source2026

rails2x: translating Rails to Go through an AST

A migration engine that parses Ruby with tree-sitter, lifts it into a typed IR, and scaffolds Goravel code — with static gates that refuse to publish a partial tree.

Gotree-sitterRubyGoravel
Open source2025

sidekiq-assured-jobs: not losing the job when the worker dies

A Ruby gem that tracks in-flight Sidekiq jobs and re-enqueues whatever a killed worker was holding, because Kubernetes evicts pods and Sidekiq does not remember what it lost.

RubySidekiqRedisRSpec
02 / Experience

Experience

  1. Apr 2025 – Present

    Circleapp Online Services (Praja)

    Senior Software Engineer

    Platform and infrastructure ownership alongside product work: the Kubernetes fleet, the media generation pipeline, and the release path everything ships through.

    • Own the GitOps repository describing ~24 services on the production AWS cluster — Helm charts, per-environment values, automated image bumps on merge.
    • Built the in-cluster video poster pipeline that replaced a Lambda + FFmpeg design with KEDA-scaled workers driven by Redis queue depth.
    • Moved CI to CircleCI with timing-based test splitting across parallel containers, and moved API, web and admin deploys onto the same path.
    • Ran seasonal capacity planning for sharp, predictable festival-day traffic peaks.
    • Took background removal from a hosted vendor API to a self-hosted ONNX GPU service in-cluster.
    KubernetesHelmTerraformAWSKEDAKarpenterCircleCIRailsNestJSGo
  2. May 2022 – Mar 2025

    Circleapp Online Services (Praja)

    Software Engineer

    Backend feature work on the Rails monolith and the services around it, growing into the multi-cloud migration and the platform work that came with it.

    • Built and ran the real-time messaging service — NestJS, Socket.IO, Redis pub/sub fan-out, MongoDB persistence, BullMQ for deferred work.
    • Led the migration of production from Azure AKS to AWS EKS: Terraform estate, service-by-service cutover, DNS and CDN moves, then decommission.
    • Implemented the subscription lifecycle in the monolith — charge scheduling, grace periods, refunds, idempotent handling of duplicate gateway callbacks.
    • Wrote the poster and video generation pipeline the paid tier is built on.
    • Published sidekiq-assured-jobs.
    Ruby on RailsNestJSSocket.IORedisMySQLMongoDBSidekiqTerraformFlutter
  3. Dec 2021 – Apr 2022

    Circleapp Online Services (Praja)

    Software Engineer Intern

    Started on the Flutter client, then moved toward the API that fed it.

    • Shipped chat features in the Flutter app — conversation types, message deletion, link and post previews, member lists.
    • Moved into the Rails API for the endpoints those features needed.
    FlutterDartRuby on Rails
  4. 2021

    Continual Engine

    Machine Learning Intern

    Applied-ML internship on image understanding for accessibility tooling.

    • Built image-to-text models in PyTorch, including autoencoders for feature extraction.
    • Ran the training loop and the evaluation that decided whether a change was an improvement.
    PythonPyTorchNumPy
03 / Toolkit

Toolkit

Languages

RubyTypeScriptGoPythonDartBashSQL

Backend

Ruby on RailsNestJSSidekiqBullMQSocket.IOAsynqGin + GORMREST API design

Data & storage

MySQLRedisMongoDBOpenSearchPostgreSQLS3

Infrastructure

KubernetesHelmTerraformDockerKEDAKarpenterFlux / ArgoCDAPISIX

Cloud

AWSGCPAzure

Delivery & observability

CircleCIGitHub ActionsNew RelicPrometheus + GrafanaLokiVelero

Education

B.Tech, Computer Science

Rajiv Gandhi University of Knowledge Technologies · 2022 · GPA 9.3 / 10

05 / Contact

Contact

Open to conversations about backend, platform and infrastructure work.