Backend · Cloud · Platform engineering Ottawa, ON, Canada · 15+ years

I build backend and cloud platform systems that make enterprise delivery faster, safer, and easier to reason about.

I 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.

Years building production software
15+ Across consulting and product teams
Cloud-certified background
AWS + Azure Active and historical credentials listed in the resume
Where I usually work
Backend & cloud Backend platforms, serverless systems, IaC, and delivery pipelines

What I do

The parts of the work I keep coming back to.

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.

01

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.

  • REST APIs
  • C#/.NET
  • TypeScript / Node.js
  • SQL Server
See the approval workflow case study
02

Cloud systems with the operating shape included

AWS 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.

  • AWS Lambda
  • AppSync
  • AWS CDK
  • Cognito → Okta
See the CDK/serverless case study
03

Shared cache platforms with service boundaries

Redis 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.

  • Redis
  • ElastiCache Serverless
  • AWS CDK
  • Secrets Manager
See the Redis/ElastiCache case study
04

Delivery work that removes friction

Smaller changes, clearer gates, and fewer surprises when code reaches production. The useful part is not the process label; it is making releases less dramatic.

  • Trunk-based dev
  • AWS CodeBuild
  • GitHub Actions
  • Test discipline
See the delivery modernization case study

Case studies

Case studies that connect claims to decisions and code.

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.

Backend APIs REST

Approval workflow API walkthrough

A workflow API example where validation, authorization, state changes, request/response behavior, and tests stay in the same line of sight.

Domain
Approval workflow
Scenarios
Happy path · business rule · unauthorized
Shows
Request / response · code · tests
Skill
REST API design with workflow rules
Cloud & DevOps AWS CDK

CDK construct library for durable serverless workflows

A before-and-after CDK example for repeated serverless wiring: state, queues, APIs, workers, and alarms shaped into reusable constructs.

Pattern
Durable serverless workflow
Constructs
State · queue · API · worker · alarms
AWS shape
Lambda · DynamoDB · SQS/DLQ · SNS
Skill
Reusable platform design with CDK
Cloud & Ops Async operations

Operating an event-driven workflow under failure

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.

Scenario set
Happy path · retry · poison · backlog signal · idempotency
Signals
Logs · metrics · traces · correlation IDs
Failure path
DLQ · alarms · dashboard · scoped IAM
Skill
AWS workflow operations across services
Cloud & AWS Redis/ElastiCache

Redis/ElastiCache platform caching across serverless apps

A public-safe cache platform case about shared ElastiCache Serverless infrastructure, per-service Redis users, generated secrets, Lambda config, and app migrations.

Platform
ElastiCache Serverless · Redis users · user groups
Isolation
Generated secrets · keyspace-scoped access
Runtime
Lambda config · REDIS_SECRET_ARN · TLS client
Skill
Shared cache adoption across serverless apps
DevOps & Delivery CI/CD

Trunk-based delivery modernization

A delivery walkthrough that moves release-branch work toward deployable main, with gates, pipeline YAML, and scenario tests.

Change
Release branches -> deployable main
Gates
Tests · contract · smoke · rollback
Tradeoff
Short-lived branches vs direct main commits
Skill
Delivery modernization with measurable guardrails
Consulting & Leadership Architecture

Standardizing async workflows across teams

A platform decision example about async workflow adoption, cross-team ownership, and the tradeoff between reuse and central control.

Decision
Reusable pattern vs central service
Adoption
Checklist · versioning · opt-out path
Audience
Engineering · delivery · team guidance
Skill
Cross-team platform judgment

Open source

OpenClaw work close to agent runtime behavior.

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.

Merged PRs
12
Open PRs
10
Snapshot
Jun 5, 2026
  • Agent runtime and tools

    Tool-call argument repair, embedded tool diagnostics, channel-aware tool logs, and session-list visibility that make agent behavior easier to debug.

  • Gateway and operating diagnostics

    Gateway probe dampening, startup summaries, hook rejection logs, systemd hygiene, and signed node identity paths where runtime behavior needs clear operator signals.

  • Cron, sessions, and provider paths

    Cron task progress, session target handling, prompt-cache affinity, timeout policy, and provider auth cooldown recovery in existing runtime code.

  • Plugin and CLI reliability

    Plugin payload validation, config-only CLI startup behavior, and filesystem-safe cleanup paths that reduce surprising failures in developer workflows.

Working stack

The stack behind the work.

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.

Get in touch

Open to senior backend, cloud, and platform roles where clear systems thinking matters.

Email is the simplest way to reach me. The resume has the full path.