Rajan Kalwar
Senior Software Engineer · Cloud, Backend & GenAI Systems
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
- 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
- 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
- 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
- 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
- Streaming LLM responses from Lambda — Token-by-token delivery with Lambda Web Adapter, Flask, and Server-Sent Events.
- AppSync GraphQL authorization patterns — API-key, IAM, Cognito, and field-level authorization examples.
- EventBridge routing and decoupled consumers — Domain-event routing with independently subscribed consumers.
- Multi-AZ VPC and private DNS — Public/private subnet architecture with NAT, bastion access, and Route 53 private DNS.