I'm a Full-Stack Engineer with 18+ years building digital products end-to-end, currently architecting Train5D — a self-built digital health platform delivering coaching content on movement, nutrition, sleep, posture, and mindset for adult beginners.
I combine hands-on full-stack engineering (React, Node.js, Python/Flask, PostgreSQL, DigitalOcean) with a practicing wellness-coaching background — giving me a genuine, lived understanding of the health-behavior-change products I build, not just a theoretical one. I currently work inside a hospital system (Saint Francis Health System) in a coaching capacity, adding direct clinical-environment context to my digital health work.
Read the Train5D case studyDashboards, data views, admin panels, and app interfaces designed around actual user workflows — not around what's easiest to build.
Component libraries, token architecture, and pattern documentation. The layer that keeps everything consistent as the product scales.
Landing pages and marketing sites that hold the brand and drive action — built to work at every screen size, every time.
Multi-step flows and onboarding sequences that reduce friction where users typically drop off — transitions, empty states, first-use moments.
Visual language that travels — typography systems, color, and identity that works across every surface, at every size, in every context.
Before any screen is opened, I need to know what the user is actually trying to do, why the current solution doesn't work, and what done looks like. A well-defined problem makes every design decision faster and easier to defend. Jumping to screens before this is done is the most expensive shortcut in design.
Multiple directions — not just variations on one idea. The goal is to find the edge of the solution space before committing to anything inside it. That exploration is where the real design thinking happens. Picking a direction is straightforward once you've seen them all laid out honestly.
The explorations collapse into rules: color, type, spacing, interaction, component patterns. That system is what gets built. Individual screens are just instances of it. When the system is right, implementation is fast and predictable — and the product stays consistent as it grows.