Skip to content

Rajan Kalwar

Senior Software Engineer · Cloud, Backend & GenAI Systems

rajan.work · [email protected] · github.com/rajandmr

Professional summary

Senior software engineer focused on AWS architecture, distributed backends, and production GenAI. I design secure APIs, event-driven workflows, container platforms, data models, and LLM applications—with explicit attention to deployment, permissions, failure behavior, and operational trade-offs.

Technical skills

Area Technologies and practices
Languages Python, TypeScript, JavaScript, Go
Backend FastAPI, Flask, NestJS, Fastify, Feathers, REST, GraphQL, Server-Sent Events
AWS Lambda, ECS, Fargate, EC2, App Runner, ECR, API Gateway, AppSync, Cognito, VPC, IAM, S3, CloudFront, RDS
Data and messaging DynamoDB, PostgreSQL, Redis, MongoDB, ArangoDB, SQS, SNS, EventBridge, Step Functions, DynamoDB Streams
GenAI LangChain, LangGraph, LlamaIndex, RAG, vector retrieval, document ingestion, tool calling, response streaming, OpenAI-compatible APIs
Infrastructure and delivery CloudFormation, Serverless Framework, Docker, CI/CD, private networking, least-privilege IAM, dead-letter queues, retry and failure handling
GCP App Engine, Cloud Run, Firebase, Firestore, Functions, Pub/Sub

Experience

Company name

Role title

2023–PresentRemote

  • Describe what you built or led here, leading with an action verb.
  • Add a second impact-focused bullet in the same voice as your other roles.
  • Note a third system or architecture contribution.
  • Optionally a fourth bullet.

ShopSwap Inc.

Senior Software Engineer

2022–2023Remote

  • Built secure and scalable LLM-powered applications and RAG pipelines using LangChain, LangGraph, and LlamaIndex, with a focus on efficient token usage and reliable response generation.
  • Designed and deployed cost-efficient serverless architectures on AWS using Lambda, DynamoDB, Cognito, API Gateway, and CloudFormation.
  • Built and operated containerized workloads on AWS ECS with private VPC networking, ECR, and least-privilege IAM permissions.
  • Designed scalable SQL and NoSQL data models using PostgreSQL and DynamoDB for high-performance application workloads.
  • Developed distributed microservices using NestJS, Redis, and AWS App Runner.

Preparie Inc.

Software Engineer

2021–2022Remote

  • Designed and developed GraphQL APIs using AWS AppSync, Lambda, and DynamoDB.
  • Built high-throughput DynamoDB workloads using single-table design, optimized access patterns, and scalable data modeling.
  • Designed and maintained AWS infrastructure supporting frontend and backend application workloads.
  • Provisioned and managed cloud resources for reliable and scalable application delivery.

Bottle Tech

Cloud Engineer

2019–2021Hybrid

  • Built managed API-as-a-Service solutions using AWS API Gateway, including API keys, usage plans, throttling, and rate limiting.
  • Contributed to the design and implementation of AWS infrastructure across multiple projects.
  • Provisioned and maintained cloud resources supporting REST and GraphQL APIs.
  • Built and maintained CI/CD pipelines, automated deployments, and managed infrastructure as code using AWS CloudFormation.

Selected engineering projects

Client → API Gateway → Lambda → DynamoDB

API access management and usage controls

Designed and implemented an AWS-native control plane for issuing API keys and applying tier-specific throttles and quotas without building a custom rate limiter.

Engineering decisions

  • Separated administrative key and plan operations from API-key-protected workloads.
  • Returned raw key values only at creation; DynamoDB stores lifecycle metadata using a single-table model and entity-type index.
  • Documented propagation delays, non-transactional edge cases, and cleanup behavior as explicit operating constraints.

HTTP API → Lambda → SQS → Lambda → SNS → Consumers

Failure-aware asynchronous fan-out

Built a deployable event pipeline that buffers HTTP requests, processes them asynchronously, and fans out notification and audit events to independently operated consumers.

Engineering decisions

  • Kept the queue visibility timeout above the processor timeout and isolated exhausted messages in a dead-letter queue after three failed receives.
  • Used partial batch failure reporting so successful records are not processed again when another record fails.
  • Scoped every IAM grant to the exact queue or topic it needs, rather than granting broad messaging access.

Internet → ALB → Private subnets → ECS service

Private container services on AWS

Created parallel Fargate and EC2-backed ECS implementations to compare capacity models while preserving the same private networking, load-balancing, and image-delivery boundaries.

Engineering decisions

  • Kept tasks and container instances in private subnets behind a public Application Load Balancer.
  • Split networking, capacity, image, and service resources by operational concern and staged deployment so ECR existed before service rollout.
  • Configured the EC2 implementation with an Auto Scaling group and ECS capacity provider for a direct comparison with Fargate-managed capacity.

Additional public engineering work