{
	"$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
	"basics": {
		"name": "Jagrit Vats",
		"label": "Backend engineer",
		"email": "jagritvats6@gmail.com",
		"phone": "+91 89015 23579",
		"url": "https://jagritvats.com/",
		"summary": "Backend engineer at Bajaj Finserv Health, building Java and Spring Boot services. Leads a team setting up a new product from scratch, and works on the integration layer that connects internal services to Salesforce and other external systems over Kafka. Builds AI and full-stack side projects in TypeScript and Python.",
		"location": {
			"city": "Bangalore",
			"region": "Karnataka",
			"countryCode": "IN"
		},
		"profiles": [
			{
				"network": "GitHub",
				"username": "jagritvats",
				"url": "https://github.com/jagritvats"
			},
			{
				"network": "LinkedIn",
				"username": "jagritvats",
				"url": "https://www.linkedin.com/in/jagritvats/"
			}
		]
	},
	"work": [
		{
			"name": "Bajaj Finserv Health",
			"url": "https://www.bajajfinservhealth.in/",
			"position": "Software Development Engineer",
			"startDate": "2023-07",
			"summary": "Software Development Engineer since October 2025. Associate Software Development Engineer from July 2024 to October 2025, and Software Development Engineer Intern from July 2023 to June 2024.",
			"highlights": [
				"Lead a team setting up a new product from scratch on Spring Boot: VMs provisioned with Ansible, application architecture and domain entities, and deployment through Azure Pipelines to a multi-node Docker Swarm cluster.",
				"Work on the integration layer that connects our services to Salesforce and other external systems through Kafka events, with retry topics and dead-letter queues so failed events are retried or parked for replay.",
				"Build multi-step asynchronous workflows on Kafka, with Redis and in-memory caching.",
				"Cut latency on endpoints that call several downstream APIs by running those calls in parallel on Java virtual threads.",
				"Improved tracing across services with Spring Boot advice and custom interceptors that propagate trace IDs, and that also handle payload encryption and a standard response format.",
				"Cut service startup time roughly in half through application-initialization changes and Kubernetes liveness/readiness probe tuning; other services adopted the same approach.",
				"Automated release steps with Azure Pipelines and OpenAPI/Swagger contract generation, and contribute to design and architecture reviews for new core modules."
			]
		},
		{
			"name": "Angrybaaz Services",
			"position": "Frontend Development Intern",
			"startDate": "2022-11",
			"endDate": "2023-01",
			"highlights": [
				"Built UI components for a Figma plugin using React, TypeScript and the Figma API."
			]
		}
	],
	"education": [
		{
			"institution": "Chitkara University",
			"url": "https://www.chitkara.edu.in/",
			"area": "Computer Science",
			"studyType": "Bachelor of Engineering",
			"startDate": "2020",
			"endDate": "2024",
			"score": "9.88/10 CGPA"
		}
	],
	"certificates": [
		{
			"name": "Microsoft Certified: Azure Fundamentals (AZ-900)",
			"issuer": "Microsoft",
			"url": "https://www.credly.com/badges/1702378c-cf55-40ec-aa00-b3e1c7cbd701/public_url"
		},
		{
			"name": "Microsoft Certified: Azure Data Fundamentals (DP-900)",
			"issuer": "Microsoft",
			"url": "https://www.credly.com/badges/1535c2b5-1727-4564-994e-013d0cfe43a1/public_url"
		},
		{
			"name": "Microsoft Certified: Azure AI Fundamentals (AI-900)",
			"issuer": "Microsoft"
		}
	],
	"skills": [
		{
			"name": "Backend (at work)",
			"keywords": ["Java", "Spring Boot", "JPA/Hibernate", "Microservices", "REST APIs", "Kafka (retries, dead-letter queues)", "Concurrency and virtual threads", "Redis", "MongoDB", "JUnit", "Mockito", "OpenAPI/Swagger"]
		},
		{
			"name": "Deployment (at work)",
			"keywords": ["Kubernetes (AKS)", "ArgoCD", "Docker", "Docker Swarm", "Ansible", "Azure Pipelines"]
		},
		{
			"name": "Observability",
			"keywords": ["Distributed tracing", "ELK stack", "ClickStack (HyperDX)"]
		},
		{
			"name": "Side projects",
			"keywords": ["TypeScript", "Node.js", "Express", "Hono", "React", "Next.js", "PostgreSQL", "Supabase", "Python", "FastAPI", "SQLite"]
		},
		{
			"name": "AI",
			"keywords": ["Gemini API", "Grok API", "Claude API", "Ollama", "Google ADK", "Strands Agents", "LangGraph", "LangChain", "MCP", "Embeddings and retrieval"]
		},
		{
			"name": "Self-hosting",
			"keywords": ["Docker Compose", "Traefik", "Cloudflare", "GitHub Actions", "Oracle Cloud", "Google Cloud Run"]
		}
	],
	"projects": [
		{
			"name": "TeamTakes",
			"description": "Opinionated polls and play-money prediction games for engineering teams. Live.",
			"url": "https://teamtakes.app",
			"highlights": [
				"Made the app multi-tenant while it was in use, with each team on its own subdomain.",
				"Row-level security in Postgres limits every query to the user's own teams, and a leak test checks that one team can't read or change another team's data.",
				"Most of the game logic, including market pricing and the points ledger, runs in Postgres functions, with pg_cron handling scheduled rounds."
			],
			"keywords": ["TanStack Start", "React", "Supabase", "PostgreSQL", "Docker Compose", "Traefik", "Cloudflare"]
		},
		{
			"name": "Crossroom",
			"description": "Puts up to six AI agents from different vendors in one room, each working from its own files. Shared excerpts carry their source paths, the minutes are rendered from the event log, and each room is encrypted at rest under its own key.",
			"url": "https://crossroom.dev",
			"keywords": ["TypeScript", "Hono", "MCP", "SQLite", "React"]
		},
		{
			"name": "ScenePilot",
			"description": "An AI assistant director that reschedules film shoots when plans change. Built for Google Cloud's Agentic Cinema hackathon.",
			"url": "https://scenepilot.fiddletech.xyz",
			"highlights": [
				"Gemini agents built with Google ADK research disruptions using Parallel's web APIs and suggest new schedules.",
				"A deterministic rule checker rejects schedules that break a permit window, a noise curfew or the available daylight, and links the source for each rejection.",
				"More than 600 tests."
			],
			"keywords": ["Python", "FastAPI", "Google ADK", "Gemini", "Next.js", "Docker Compose", "Traefik", "Cloudflare"]
		},
		{
			"name": "Synpse",
			"description": "An AI companion with long-term memory, on the web, Android and Telegram. The Android app has over 500 installs on Google Play.",
			"url": "https://web.synpse.app",
			"highlights": [
				"Memories are ranked on six signals, and a background job consolidates them every four hours.",
				"The model provider can be switched between Grok, Gemini, OpenAI and local models through Ollama."
			],
			"keywords": ["Next.js", "Express", "TypeScript", "MongoDB", "LangChain", "Expo"]
		},
		{
			"name": "ResidentOps",
			"description": "An agent that handles maintenance issues for a residents' association. Built for AWS's Agents for Humans hackathon.",
			"url": "https://residentops.fiddletech.xyz",
			"keywords": ["Python", "Strands Agents", "Amazon Bedrock"]
		},
		{
			"name": "SAMAY",
			"description": "Helps people in India respond to online fraud and prepare a report to file on cybercrime.gov.in. Built for the Build What Moves India hackathon.",
			"url": "https://samay.synpse.app",
			"keywords": ["Next.js", "PostgreSQL"]
		}
	],
	"meta": {
		"canonical": "https://jagritvats.com/resume.json",
		"version": "v1.0.0",
		"lastModified": "2026-11-04"
	}
}
