Full-stack software engineer | Greater Kansas City Area

I build and modernize full-stack software across .NET and React.

I have 5+ years building enterprise web applications with C#, ASP.NET Core, React, TypeScript, SQL, and Azure. The work has included CMS modernization, member-facing systems, authentication services, and Salesforce integrations, with an emphasis on maintainability, clear tradeoffs, and software that still works when the happy path ends.

I am currently looking for my next software engineering role.

01 | Selected work

Work that shows how I think

The technologies matter, but the decisions around them matter more.

Current independent project | Source available

Warple

A manually launched, tray-resident desktop companion with animated behavior, physics-based movement, dragging, throwing, climbing, and a transparent desktop overlay.

View the source on GitHub

Browser to native

React mounts a Phaser scene while Tauri and Rust own native lifecycle, display geometry, tray behavior, and narrow desktop integration.

Security boundary

Versioned, validated, data-only companion profiles cannot execute code, choose arbitrary paths, or grant themselves permissions.

Delivery evidence

JavaScript and Rust tests, compiler and lint checks, dependency auditing, build validation, and Windows installer generation keep the release path honest.

  1. 01 React Mounts the application surface
  2. 02 Phaser + Matter.js Own animation, behavior, movement, and physics
  3. 03 Tauri + Rust Own native lifecycle and desktop integration

Tauri | React | TypeScript | Phaser | Matter.js | Rust

Warple began as a re-architecture of WindowPet. Its current Blooky definition and artwork remain credited placeholder material, not original Warple artwork or the project's permanent identity.

Recent production work

Selected examples from production systems, without the corporate victory lap.

01

Content platform modernization

Contributed to key parts of a transition from a traditional Sitefinity CMS to a headless Next.js 15 and Storyblok architecture while continuing to ship production features.

02

Member-facing systems

Built an end-to-end member dashboard with 12+ integrated modules covering certifications, company rosters, demographics, and support services. Connected Salesforce and Pardot workflows with role-aware access and CSV/XLSX exports.

03

Search and identity integrations

Built an accessible Mapbox GL certification search for desktop and touch kiosks, and contributed to a .NET 8 authentication service using Salesforce OpenID Connect, claims, and role-based authorization.

02 | Experience

A practical path through modern and legacy systems

Full-stack Software Developer

Built and modernized member-facing web applications across React, Next.js, TypeScript, Node.js, Sitefinity, Storyblok, Salesforce integrations, and .NET.

AI Trainer

Evaluated software-engineering and language-model outputs, then provided structured feedback to improve correctness, intent alignment, and reliability.

Software Engineer

Maintained React applications and legacy Ruby on Rails systems, built a recruiting-focused single-page application, and contributed to API and database modernization for property-rental software.

03 | Approach

Understand the system. Make the tradeoff. Leave it better.

I like to understand a system before changing it, but production work rarely waits for perfect context. My job is to find the important information, make a clear decision, and ship something that fits the system around it.

01

Orient first

Learn the shape of the product, its constraints, and the people who depend on it before choosing a solution.

02

Prefer the smallest useful change

Solve the actual problem without building a platform for hypothetical future requirements.

03

Design for the unhappy path

Loading, failure, stale data, conflicting records, and maintenance are part of the product, not cleanup for later.

04

Communicate the tradeoff

Make decisions understandable to technical and non-technical collaborators so the work can be trusted and maintained.

Field note

Working toolkit

Frontend systems
React, TypeScript, JavaScript, Next.js, Vue.js, accessible HTML, CSS, and SCSS
Backend and integrations
C#, .NET, ASP.NET Core, Node.js, Express, REST APIs, SQL, Salesforce, and OpenID Connect
Platforms and delivery
Storyblok, Sitefinity, Azure, Git, automated testing, Agile delivery, and AI-assisted development

04 | About

A crooked route into software

My route into software was not direct. I studied political science, worked in international trade, and took programming courses while driving trucks and later a tour bus. That background left me comfortable learning unfamiliar systems, talking with different kinds of people, and caring whether a tool works in the real world.

Away from a keyboard, I am usually happier outside: hiking, camping, or building something with my hands. The Sandbox is where the less restrained experiments live.

05 | Contact

Looking for the next useful problem

I am currently looking for my next software engineering role. If you need someone who can work across the stack, learn an existing system, and make it easier to live with, I would like to hear from you.