Codesmiles
Software Engineer — Backend, Cloud & Platform

Building backend systems and the infrastructure that keeps them running.

4+ years building, deploying, and operating production systems: APIs and microservices, AWS and Kubernetes infrastructure, CI/CD pipelines, and the observability that keeps them reliable.

Codesmiles
Open to backend / DevOps roles

I own the full lifecycle of a production system, end to end.

01CodeNode, PHP, Python services
02ContainerDocker, OCI images
03InfrastructureAWS, Terraform, Kubernetes
04DeploymentCI/CD, zero-touch releases
05ObservabilityLogs, metrics, tracing
06ReliabilityCost & failure resilience
Engineering Focus

What I actually work on

Backend Systems

I design and build the services underneath the product — REST APIs, background workers, and the data models they depend on — using Node.js/NestJS, Laravel, and FastAPI/Django depending on what the system needs.

Cloud Infrastructure

I provision and manage the AWS resources that run those services — ECS/EKS, EC2, RDS, S3 — and define all of it as Terraform so environments are reproducible instead of hand-configured.

Platform Engineering

I build the deployment and tooling layer engineers actually work against day to day: CI/CD pipelines, container standards, and the shared infrastructure that lets a team ship without re-solving the same problems each time.

Distributed Systems

I've split monoliths into services that communicate through API gateways and message queues, and dealt with the real consequences — race conditions, duplicate execution, and failure isolation across service boundaries.

DevOps & Automation

I set up CI/CD with GitHub Actions, automate repeatable infrastructure tasks with Terraform and Ansible, and remove manual steps from deployment wherever they create risk.

Observability

I instrument systems with centralized logging and metrics — SigNoz, CloudWatch, Grafana, Loki/Promtail — so production problems get surfaced and diagnosed instead of discovered by users first.

Selected Work

Systems I've built and operated

Each project below is what I built, why, and what changed as a result.

Cloud Infrastructure & Cost OptimizationFounding DevOps Engineer (Part-time)

Vine Mobility

Designed and provisioned the production AWS infrastructure for a microservice-based mobility platform, from first deploy through cost and reliability hardening.

Outcome
~80% reduction in cloud credit consumptionInfrastructure fully codified in Terraform
Stack
TerraformAWSDockerCI/CDSigNozNode.js
Distributed Systems & API GatewayBackend & Systems Engineer

Obscura

A microservice platform of around five services, each in a different language/framework, communicating through a shared API gateway.

Outcome
5 polyglot microservicesUnified API gateway routing layer
Stack
Node.jsPythonPHPRedisPostgreSQLDockerNginx
Cloud Platform & FastAPI DeploymentPlatform Engineer

Auvraai

End-to-end infrastructure and deployment setup for a FastAPI backend paired with a modern frontend, from local dev parity to production hosting.

Outcome
FastAPI backend + frontend on AWS AmplifyInfrastructure defined in Terraform
Stack
FastAPIPythonDockerAWS AmplifyTerraformPostgreSQL
How I Think

Principles I build production systems around

01

Build for failure, not just the happy path

External dependencies will eventually fail or time out. Retries with backoff, circuit breakers, and async fallbacks contain the damage instead of letting it cascade.

02

Infrastructure as code, no exceptions

Manual console changes create drift and deployments nobody can reproduce. Every environment should be defined in version-controlled Terraform, not tribal knowledge.

03

Observe before you optimize

Don't guess at bottlenecks. Logs, metrics, and tracing tell you what's actually slow before you start changing code.

04

Cost is an engineering constraint, not finance's problem

Idle compute and unindexed queries are bugs with a dollar sign attached. Efficient infrastructure is part of the job, not an afterthought.

Architecture

How I think about a production system

A simplified view of the request path through a typical system I build — click a layer for detail.

Ingress & routing layer

Terminates TLS, routes external traffic to the right internal service, and rate-limits so one noisy client can't degrade everyone else.

Edge proxy: Nginx / CloudFront
Protocols: HTTPS, gRPC
Protection: rate limiting, managed rules
Production Notes

Problems I've debugged in production

Real issues from database concurrency, distributed job execution, and third-party integrations.

Duplicate job execution across scaled instances

Race conditions & distributed locks
Symptom

Duplicate email notifications and double payment execution at the top of every hour.

Root cause

Cron triggers lived inside the application container. Scaling from 1 to 5 replicas meant every instance independently fired the same scheduled job at the same time.

Resolution

Moved cron execution into a single isolated worker and wrapped job execution in a Redis-backed distributed lock with atomic TTL acquisition (SET key value NX PX), so only one instance ever runs a given job.

RedisKubernetesDistributed SystemsConcurrency

Database connection pool exhaustion under load

Database performance & query optimization
Symptom

API endpoints returning 500s with 'remaining connection slots are reserved' during peak traffic.

Root cause

Unindexed polymorphic queries were triggering full table scans, holding connections open while waiting on disk I/O.

Resolution

Added compound indexes on the hot query paths, introduced PgBouncer for connection pooling, and fixed the underlying N+1 queries with targeted eager-loading.

PostgreSQLDatabase OptimizationPgBouncerLaravel

Silent payment webhook failures

Integration & resilience
Symptom

Customers debited by the payment provider but marked unpaid in our system, leading to support escalations.

Root cause

Webhook handlers processed payloads synchronously and the provider timed out the request after a few seconds, so the acknowledgment never landed before the connection dropped.

Resolution

Changed the webhook endpoint to acknowledge immediately, then process the payload asynchronously off a queue with idempotent handlers so retried deliveries can't double-apply a payment.

QueuesIdempotencyWebhooksPayments
Experience

From backend development to platform engineering

Backend Engineer — Bankit Microfinance bank

Prior role

Built and maintained backend systems handling financial transactions and bill/payment processing.

  • —Worked extensively with Laravel, Node.js/NestJS, PostgreSQL, MySQL, and Redis, integrating third-party payment APIs.
  • —Diagnosed and fixed production issues including race conditions, duplicate cron execution across instances, database query bottlenecks, and silent webhook failures.
  • —Handled Kubernetes deployment issues, SSL/Nginx configuration, and persistent volume/storage problems in production.

Backend & Systems Engineer — Obscura

Built a five-service polyglot microservice platform behind a shared API gateway.

  • —Designed inter-service communication and API gateway routing across services written in different languages.
  • —Used Redis for shared state and event broadcasting between services.
  • —Containerized every service for independent deployment and scaling.

Founding DevOps Engineer — Vine Mobility

Part-time

Owned cloud infrastructure end to end for a microservice-based mobility platform.

  • —Designed and provisioned AWS infrastructure with Terraform as the single source of truth.
  • —Containerized backend services and built CI/CD pipelines for deployment.
  • —Set up monitoring and logging, and cut cloud credit consumption by roughly 80% through infrastructure optimization.

Platform Engineer — Auvraai

Built the deployment infrastructure for a FastAPI backend and its frontend.

  • —Containerized the FastAPI backend and defined infrastructure in Terraform.
  • —Hosted the frontend on AWS Amplify with a defined PostgreSQL migration path.
  • —Established environment parity between staging and production.
About

I build backend systems and the infrastructure that keeps them running.

I started as a backend engineer — building APIs, services, and the databases behind them with Laravel, Node.js, and NestJS. Working on systems that processed real financial transactions pushed me past just writing code: I had to understand what happened to that code once it was deployed — how it scaled, how it failed, and why.

That led me into cloud infrastructure and DevOps: provisioning AWS with Terraform, containerizing services with Docker, running them on Kubernetes and ECS, and building the CI/CD pipelines that ship them. Along the way I picked up the observability side too — logging, metrics, and monitoring — because you can't operate what you can't see.

Today I think about software across its whole lifecycle: from the code itself, through containers and infrastructure, to deployment, observability, and the ongoing work of keeping a system reliable and cost-efficient in production.

Contact

Let's talk about your systems.

Open to backend, cloud, DevOps, and platform engineering roles, as well as infrastructure consulting.