I'm a principal-level full-stack and platform engineer who builds calm, powerful software for complicated technical work: React and TypeScript interfaces, developer platforms, data-heavy workflows, visualization systems, and production tools that help teams understand what is going on. See the work at rpwalsh.github.io or browse my GitHub repositories.
RiskLab is my public TypeScript UI lab: independently versioned packages for accessible application components, interactive analytical charts, deterministic typed styling, and original SVG icons. Each package is browser-tested, validated through installed-tarball consumer fixtures, and designed to make serious technical interfaces faster to build and easier to use.
Encounter Lab (5-minute review) is a server-authoritative full-stack combat system — React/TypeScript, ASP.NET Core, GraphQL, SignalR, and SQLite — where the backend owns all authoritative state (HP, resistance, dice, versioning, persistence) and the client only sends intent and renders committed results. The interesting part isn't the game mechanics; it's keeping that client/server boundary enforceable across the domain, API, persistence, realtime sync, and UI.


