APIs where the rules stay visible
I focus on the parts of an API where behavior can drift apart: validation, authorization, state changes, and failures that need to make sense to the next engineer.
See the approval workflow case studyI have spent 15+ years building backend, cloud, and data-heavy systems, mostly where APIs, identity, caching, delivery pipelines, and reporting all have to keep working together. My current production work includes Python/Django backend development and Redis/ElastiCache platform caching in AWS serverless environments. The resume gives the full path; the case studies connect those claims to code, tests, decisions, and tradeoffs.
What I do
Most of my work sits where backend rules, cloud infrastructure, and delivery discipline meet. In the teams I fit best, those concerns are not separate lanes; they affect each other every week.
I focus on the parts of an API where behavior can drift apart: validation, authorization, state changes, and failures that need to make sense to the next engineer.
See the approval workflow case studyAWS serverless is useful when the pieces are wired for production: Lambda, API Gateway, AppSync, DynamoDB, RDS, IaC, CI/CD, and authentication all agreeing on how the system runs.
See the CDK/serverless case studyRedis is most useful when the adoption path is clear: shared ElastiCache infrastructure, generated service credentials, keyspace boundaries, Lambda connection settings, and migration steps teams can repeat.
See the Redis/ElastiCache case studySmaller changes, clearer gates, and fewer surprises when code reaches production. The useful part is not the process label; it is making releases less dramatic.
See the delivery modernization case studyCase studies
These cover backend API behavior, reusable AWS platform patterns, Redis/ElastiCache caching, delivery changes, and cross-team decisions. They connect the resume to the choices, constraints, and tests behind the work.
A workflow API example where validation, authorization, state changes, request/response behavior, and tests stay in the same line of sight.
A before-and-after CDK example for repeated serverless wiring: state, queues, APIs, workers, and alarms shaped into reusable constructs.
An async workflow example where accepted work can still stall, retry, or fail later. The case keeps correlation, DLQ movement, alarms, and runbook output visible.
A public-safe cache platform case about shared ElastiCache Serverless infrastructure, per-service Redis users, generated secrets, Lambda config, and app migrations.
A delivery walkthrough that moves release-branch work toward deployable main, with gates, pipeline YAML, and scenario tests.
A platform decision example about async workflow adoption, cross-team ownership, and the tradeoff between reuse and central control.
Open source
I am contributing to OpenClaw, a TypeScript open-source AI assistant project. The useful signal is the repeated work in existing code paths: diagnostics, session behavior, Gateway runtime edges, plugin validation, and narrow fixes with tests.
Tool-call argument repair, embedded tool diagnostics, channel-aware tool logs, and session-list visibility that make agent behavior easier to debug.
Gateway probe dampening, startup summaries, hook rejection logs, systemd hygiene, and signed node identity paths where runtime behavior needs clear operator signals.
Cron task progress, session target handling, prompt-cache affinity, timeout policy, and provider auth cooldown recovery in existing runtime code.
Plugin payload validation, config-only CLI startup behavior, and filesystem-safe cleanup paths that reduce surprising failures in developer workflows.
Working stack
These are the tools and patterns that show up across my resume, with direct paths to the case studies, skill pages, or resume sections behind them.
Current production backend application work: API behavior, integrations, data access, and release-safe changes inside an existing Django system.
Lambda, API Gateway, AppSync, DynamoDB, RDS Serverless, S3, SQS/SNS, Cognito, ECS, and CodeBuild.
AWS CDK in TypeScript and Go, reusable constructs, generated infrastructure shape, and assertion tests.
REST contracts, workflow rules, structured failures, Python/Django, C#/.NET, TypeScript/Node.js, and SQL-backed services.
Shared cache infrastructure, per-service Redis users, generated secrets, keyspace-scoped access, Lambda runtime config, and app migrations.
SQL Server, Oracle PL/SQL, DynamoDB, ETL, reporting systems, and warehouse-backed delivery.
Cognito, Okta, OAuth2/OpenID Connect, impersonation support, and token-aware API access.
GitHub Actions, AWS CodeBuild, trunk-based development, test discipline, and release-cycle improvement.
OpenClaw contributions in TypeScript across agent runtime diagnostics, Gateway behavior, cron/session handling, plugin validation, and CLI reliability.
Get in touch
Email is the simplest way to reach me. The resume has the full path.