I architect, build, and lead complex software projects end to end — from system design and hands-on development through production delivery. I've proven that capability modernizing regulated banking infrastructure and applications at JPMorgan Chase and building full-stack document signing and payment collection platforms independently on AWS.
A full-stack software engineer with 19+ years of experience designing, building, and modernizing high-availability enterprise systems — backend services and data platforms as well as the React frontends and UI experiences built on top of them. 8+ of those years architecting and developing mission-critical banking applications at JPMorgan Chase, plus earlier stints in retail (Academy Sports + Outdoors) and payments (US Dataworks). I've spent my career on the unglamorous-but-critical work: migrating legacy platforms off aging, licensed infrastructure onto modern, open-source, cloud-native architectures without disrupting the business that depends on them.
I operate as a hands-on technical lead — architecting the solution, writing the code across the stack, and mentoring the engineers around me — rather than a pure people manager. I'm looking for lead engineering or architect roles where I can own complex modernization efforts end-to-end, from backend architecture through the UI, and work close to the business.
React + TypeScript dashboard built on JPMorgan's Salt Design System — TanStack Query data fetching, Highcharts, a resizable/themeable layout, and a full Vitest + React Testing Library test suite.
A Spring Boot starter for the Anthropic Java SDK — auto-configuration, property binding, and a convenience chat service so a Spring Boot app gets a working Claude client with zero manual wiring. Most Claude integration examples are Python/TypeScript; this fills that gap for Java/Spring shops.
Seven interactive pieces on Canvas 2D, WebGL, and plain DOM — no libraries, no framework. Generative sketches (a cursor-reactive particle network, a Matrix-style rain, a raymarched shader tunnel, a domain-warped plasma flow field, a draggable wireframe globe) alongside real interaction design: a password-cracking mini-game and a spring-physics drag-to-reorder list.
This site is intentionally low-tech: plain HTML, CSS, and vanilla JavaScript — no framework, no build step, no bundler. It's hosted on AWS Amplify under a custom domain registered through Route 53, deployed by uploading a zipped build of the static files directly through the Amplify console.
The "ask my AI" widget is a small serverless app of its own: an AWS Lambda function (Node.js) behind a Lambda Function URL, calling the Anthropic API (Claude Haiku) with the resume and project content baked into the system prompt so it only answers questions about my background. A DynamoDB table tracks per-IP request counts with atomic conditional writes to rate-limit the endpoint.