Skip to content
UserGroupAuthGroupPermissionResourceSharePolicyTenant
Software Development Engineer III · Walmart Global Tech

I build API-first identity &authorization systems at scale.

The engineering side of me: backend microservices at Walmart Global Tech — identity & authorization platforms, an API-linter service, GraphQL APIs and OPA policy — with contract-first API design, test-coverage discipline, and query-performance debugging. Plus a saffron-growing rig I built with an ESP32 and no electronics background.

$systems.statusidentity-svcauthzopa: 100% coveredapi-linter

5

years across backend & platform

2

domains: healthcare → retail-tech

N+1 → 1

queries collapsed for latency

100%

coverage on GraphQL & OPA suites

System diagrams

How the systems fit together

I think in diagrams — so here are the core models I work on, animated. Tap a tab; open “How it works” for the details.

The authorization model

RBAC model
rbac.model — grant pathUserprincipalGroupmembershipAuthGrouprole bundlePermissionaction + scopeResourceobjectSharescoped grantbelongs toassumes rolegrants actionrecord-level

A user inherits permissions through groups and auth-groups; permissions grant actions on resources, and shares grant scoped, record-level access.

About

Backend engineer, identity & authorization

I'm an adaptable software engineer with 5 years building scalable, secure backend systems across healthcare and retail-tech — currently a Software Development Engineer III at Walmart Global Tech. My center of gravity is identity, authorization and API platforms: OAuth2/JWT, OPA policy, RBAC and GraphQL at enterprise scale, primarily in Java and Spring Boot.

Portrait of Aayush Lal Roy
Primary stack
Java · Spring Boot
Domain
Identity & Authorization
API style
Contract-first (OpenAPI / GraphQL)
Focus
Performance · Testing · Security
Also into
Spec-driven dev · AI tooling
Availability
Open to conversations

I work iteratively and evidence-first: I reach for logs, git diff, and the actual generated code before deciding what's wrong. I care about contract-first API design, test-coverage discipline, query performance, and not breaking existing conventions. I'm also a spec-driven-development and tooling enthusiast — I invest in my own workflow and write about what I learn.

What I work on

Identity & Authorization

The single largest theme of my work — services for users, tenants, sites, and an authorization/policy service. I build and refactor RBAC-style permission models, group↔permission associations, and record-sharing flows with ownership validation.

Vendor / supplier identity data

Multi-region composite-key entities (vendor number + region + start date) and their update/patch APIs, modeling naturally multi-dimensional identity data.

Auth integration

OAuth/OIDC via an enterprise identity provider — token creation & refresh, oauth-callback handling, single-use auth-code semantics, JWT handling, and secrets pulled from a vault.

Platform & data plumbing

Kafka and a Kafka-Connect JDBC sink, running on an internal Kubernetes-based cloud platform with a centralized config store, OpenTelemetry logging, and an Istio service mesh.

How I think & debug

  • 01Reproduce, then read the evidence — call the API, capture the exact status and body, pull the correlated logs, then form a hypothesis.
  • 02Localize by layer — for a failing request I ask where it broke (mesh vs. app vs. downstream) before why.
  • 03Diff-driven — I anchor changes to what actually changed and target tests to exactly those lines.
  • 04Plan for big things — for migrations and large features I write the plan first, then implement against it.

Working & communication style

  • Iterative and conversational — many short, corrective turns rather than one giant spec, course-correcting quickly.
  • High-context — long, specific prompts and design docs, usually with attached files, logs, or screenshots.
  • I value explanations, not just fixes — I want to understand the mechanism, not only patch the symptom.
  • I care about the written record — design docs, tech stories, and public technical articles about what I learn.

Experience

Where I've worked

From health-tech at Practo to identity & authorization at Walmart Global Tech — plus where it all started.

  1. Aug 2024 – Present

    Software Development Engineer III

    Walmart Global Tech · Bengaluru

    Where I went deep. I own identity, authorization and API-platform work at enterprise scale — the intricacies, the industry standards, and the process behind a multi-tenant, multi-region platform.

    • Design and evolve the Resource / Action / Permission / Group / AuthGroup / Share RBAC authorization model for the platform.
    • Led a monolith-to-microservices decomposition as part of a platformization effort — enabling independent scaling, faster dev cycles, and isolated per-service deployments.
    • Built a shared authorization library consumed by multiple services — refactoring monolithic auth into a Strategy Pattern with pluggable OAuth2 token validators via a factory-based resolution layer.
    • Designed the OPA (Open Policy Agent) architecture and a reusable policy/permission-evaluation library; authored policies for 3 identity services across 4 environments at 100% test coverage, deployed via GitHub Actions.
    • Designed a multi-platform JWT token system using the Strategy Pattern for platform-aware cache keys, and migrated JWT encryption from symmetric to asymmetric keys for security and enterprise compliance.
    • Built an entity sharing system letting users share dashboards, reports and resources with role-based access controls — with create/update/delete-share flows and ownership validation.
    • Architected and deployed an API Linter microservice that validates API spec files against customizable, versioned rule sets — adopted across teams to enforce API design standards.
    • Ship contract-first GraphQL + REST APIs — type definitions, resolvers and transformers — with 73+ unit tests at 100% coverage and a maximal test-coverage discipline.
    • Designed reusable OpenAPI schemas with $ref / allOf composition, cutting schema duplication ~90%.
    • Implemented multi-tenancy with tenant-aware authorization and JPA Specification-based dynamic query composition.
    • Collapsed an N+1 permission query into a single native projection query, and root-caused cross-cluster incidents (a 504 on OAuth callback, a GraphQL-as-CORS failure) by reading mesh and app logs side by side.
    • Lead plan-first identity migrations, and leverage AI coding agents with curated prompts, coding standards and project-aware rules to speed the API dev lifecycle and boost team productivity.
  2. Mar 2021 – Aug 2024

    Software Engineer (SE Intern → SE-1 → SE-2)

    Practo Technologies · Bengaluru

    The startup where I learned the most — breadth and ownership. I shipped across clinic software, communications, payments, infrastructure cost and patient conversion for a large health-tech platform.

    • Integrated the government ABHA (Ayushman Bharat Health Account) system with the Practo 'Ray' Clinic Management Software, achieving M1, M2 and M3 certifications.
    • Built an IVRS flow for appointment scheduling that increased appointment conversion by ~15%.
    • Automated SMS/email delivery optimization — dynamic operator selection by delivery rate, latency and cost, plus reputation-weighted domain selection and suppression lists to lift open/delivery rates.
    • Developed a Quota Management System (QMS) microservice for creating and managing quotas, and integrated other services' SMS + storage with it to optimize resource utilization and grow revenue.
    • Coordinated the POS (Pinelabs) integration for clinic payment processing.
    • Built a cross-OS CLI tool that spins up Docker-based local dev environments simulating production infrastructure, resolving all dependencies to boost developer productivity.
    • Deployed open-source solutions company-wide: document signing (Documenso), AI sentiment analysis + tagging of doctor chats for easier CSAT scoring, and resource optimization with Karpenter.
    • Reduced UAT environment costs by ~10% with a Kubernetes pod-fitting monitor.
    • Exposed 3rd-party APIs for the Appointment Management System (Qikwell), revamped the Practo Ray SMS flow for compliance + dynamic templating, and consolidated multi-microservice data to revamp doctor ads.
  3. Jan – Mar 2020

    Web Development Intern

    Trendytech

    Built codersmaniac.com, a production-ready competitive-coding platform, from scratch.

    • Full stack in PHP / JS / HTML / CSS / Bootstrap / MySQL, deployed on GCP.
    • Designed a custom tokenizer-based scoring system for code submissions.
  4. 2017 – 2021

    B.E., Computer Science & Engineering

    CMR Institute of Technology, Bengaluru

    Computer Science & Engineering, graduated with an 8.09 CGPA.

    • Foundations in algorithms, systems, databases and software engineering.
    • Where the habit of building side projects to learn really took hold.

Skill matrix

What I'm good at, and how I know

Proficiency mapped from how I actually use each tool — hover or focus any skill to see the evidence behind the level.

The languages I reach for day to day.

  • Java (17)Expert
    Primary language across nearly all services — entities, services, repositories, controllers, mappers; refactors datatypes across a whole codebase; reasons about generics, Optional, and collections.
  • SQLAdvanced
    Hand-writes native queries with joins & projections, reads Hibernate-generated SQL, optimizes N+1, and models multi-column composite keys.
  • TypeScriptAdvanced
    NestJS/Express GraphQL services (type-safe resolvers and transformers) and React front-ends like this one.
  • JavaScriptAdvanced
    Node tooling, front-end interactivity, and the IVRS/communications work at Practo.
  • PHPAdvanced
    Symfony services at Practo and the codersmaniac.com competitive-coding platform, built from scratch.
  • PythonWorking
    Flask services, scripting, tooling, and analysis-style tasks.
  • RegoAdvanced
    Authored OPA policies for 3 identity services across 4 environments at 100% test coverage.
  • C / C++ (embedded)Working
    ESP32/Arduino firmware side-project (the saffron climate rig).

Selected achievements

What I've shipped

Grouped by theme, drawn from real production work at Walmart Global Tech and Practo.

01

Identity & Authorization platform

Designed RBAC-style authorization primitives

Modeled Resource, Action, Permission, Group, AuthGroup and GroupPermission and the associations between them for a multi-tenant identity platform, including group→permission association endpoints and access-management policy inserts.

Built a shared authorization library

Refactored monolithic auth into a Strategy Pattern with pluggable OAuth2 token validators resolved by a factory layer, then packaged it as a shared library consumed by multiple services.

Designed the OPA policy architecture

Designed the Open Policy Agent architecture and a reusable policy/permission-evaluation library adopted across services — authoring policies for 3 identity services across 4 environments at 100% test coverage, deployed via GitHub Actions.

Built a record-sharing subsystem end-to-end

Delivered createShare, updateShare (PATCH) and deleteShareRecipient across the GraphQL graph, service and repository layers — with patch-path and ownership validation — then cleanly removed owner-id from the patch paths when requirements changed.

Shipped an entity-sharing system with RBAC

Let users share dashboards, reports and resources under role-based access controls, building on the same first-class, composable authorization primitives.

Hardened OAuth/OIDC token flows

Implemented token creation & refresh, oauth-callback handling and single-use auth-code semantics against an enterprise identity provider, and refactored a token-timeout/caching method for correctness.

Hardened the JWT & token system

Designed a multi-platform JWT token system using the Strategy Pattern for platform-aware cache keys with per-product session isolation, and migrated encryption from symmetric to asymmetric keys for enterprise compliance.

Led an identity migration, plan-first

Drove one of the largest efforts in my history — a migration of identity functionality and table design across services — planned as a written document first, then executed against it.

02

API-first design & platform

Built an API Linter microservice

Architected and deployed a service that validates API spec files against customizable, versioned rule sets — adopted across developer teams to enforce API design standards.

Maintained OpenAPI contracts in lockstep

Kept request/response entities, examples and generated Java classes in sync across multiple services while conforming to an internal API style guide.

Cut OpenAPI schema duplication ~90%

Designed reusable OpenAPI schemas with $ref / allOf composition, collapsing repeated definitions while keeping request/response contracts consistent across services.

Delivered end-to-end GraphQL APIs

Built queries and mutations across multiple domains — type definitions, resolvers and transformers — backed by 73+ unit tests at 100% coverage.

Standardized error handling on problem+json

Adopted RFC 7807/9457-style application/problem+json responses with consistent type/title/detail across endpoints.

Authored a full spec from domain entities

Wrote a complete OpenAPI spec in a single spec-driven session, then renamed generated classes to match naming conventions.

Shipped ready-to-import Bruno collections

Generated Bruno API collections straight from the OpenAPI spec — including versioned /v1 and /v2 variants — so the team could exercise endpoints without hand-building requests.

03

Platformization & architecture

Led a monolith-to-microservices decomposition

Drove a platformization effort that split a monolith into services — enabling independent scaling, faster dev cycles, and isolated per-service deployments.

Implemented multi-tenancy end-to-end

Added tenant-aware authorization with JPA Specification-based dynamic query composition so a single platform safely serves many tenants.

04

Database & performance

Eliminated N+1 query patterns

Consolidated multi-query permission fetches into a single native query with joins and a projection, mapping columns directly into the API response shape and removing a slower cursor-based path.

Optimized permission-list latency

Tuned group/entity queries and iteration-heavy response building for better latency on permission-list endpoints.

Designed composite-key update semantics

Modeled multi-region vendor identity keys (number + region + start date) and implemented PATCH/PUT with correct partial-update behavior.

05

Reliability & incident debugging

Root-caused a 504 on OAuth callback

Correlated Istio proxy logs with application pod logs across two clusters to isolate where the request was blocked — mesh vs. app — turning an opaque timeout into an actionable root cause.

Traced a GraphQL failure to CORS

Debugged a userContext failure down to a CORS misconfiguration surfaced in pod logs, reproduced across multiple regions.

Built a repeatable multi-cluster triage

Traced multi-cluster/multi-region request failures using pod + mesh logs — a skill I reused across several incidents.

06

Security & dependency health

Remediated Snyk findings, BOM-aware

Reasoned through CVEs and transitive versions — catching that a JWT library pin conflicted with the Spring Boot BOM-managed version — and executed fixes via a written plan without regressions.

07

Testing & quality

Sustained a high test-coverage bar

Repeatedly added and repaired JUnit/Mockito tests to keep coverage 'maximal' after every refactor, datatype change and rebase — 73+ GraphQL unit tests at 100% and OPA policy suites at 100% across environments.

Kept suites green through change

Fixed conflict- and change-induced test breakage as part of normal delivery, treating green tests as part of done.

08

Developer experience & knowledge sharing

Sped the API lifecycle with AI coding agents

Leveraged AI coding agents with curated prompts, coding standards and project-aware rules to accelerate the API dev lifecycle and boost team productivity.

Adopted Spec-Driven Development

Set up spec-kit on existing repositories and authored a project 'constitution' for consistent agent-assisted development.

Wrote a technical article series

Turned internal spec-kit learning into a shareable, implementation-first article series.

Configured AI engineering tooling

Set up GitHub Enterprise and Jira MCP servers, reusable review 'skills', and IDE tuning (VM options, profiler agents) to improve velocity.

09

Breadth & ownership at Practo

Certified ABHA integration (M1/M2/M3)

Integrated the government ABHA health-account system with the Practo 'Ray' Clinic Management Software, achieving M1, M2 and M3 government certifications.

Lifted appointment conversion ~15%

Built an IVRS appointment-scheduling flow and optimized SMS/email delivery — dynamic operator selection and reputation-weighted domain choice with suppression lists — to raise conversion and deliverability.

Shipped a Quota Management System

Built a QMS microservice and integrated other services' SMS + storage with it to optimize resource utilization and grow revenue, plus coordinated the Pinelabs POS integration for clinic payments.

Drove company-wide cost & tooling wins

Cut UAT cost ~10% with a Kubernetes pod-fitting monitor, built a cross-OS CLI for production-like Docker dev environments, and rolled out open-source Documenso signing, AI chat sentiment tagging, and Karpenter; exposed Qikwell 3rd-party APIs and revamped the Practo Ray SMS flow and doctor ads.

Featured project · Agri-Tech

Growing saffron with an ESP32 and zero EE background

Proof that a backend engineer, armed with curiosity and AI, can cross into embedded electronics and ship a working physical system.

Agri-Tech · Built with AI, zero EE background

A climate-controlled environment for growing saffron

Saffron needs a very particular climate. I wanted to grow it, so I built the climate myself — despite having no electrical or electronics background. Using AI as my tutor, I figured out how to drive an ESP32 with a piezoelectric humidifier module and PWM dimming to hold temperature and humidity in a small controlled environment. It worked.

climate.loop — saffron rigSensorstemp · humidityESP32controllerPWM dimmingsmooth powerPiezo misterultrasonic fogEnvcontrolledreadactuatefeedback — close the loop
sensors → ESP32 → PWM dimming + piezo mister → controlled environment → feedback

ESP32

The brain — reading sensors and driving the actuators, programmed from scratch with a lot of AI-assisted learning.

Piezoelectric module

An ultrasonic piezoelectric humidifier to add moisture on demand and hold the target humidity band.

PWM dimming

Pulse-width modulation to smoothly control power to the environment rather than crude on/off switching.

Next: hydroponic vertical farming — growing food in water, stacked vertically, with the same build-and-verify loop.

Say hello

Have a hard backend problem?

I'm happy to talk about identity & authorization, API platform design, query performance — or the weird intersection of software and agriculture.