Wes  ·  Product Engineer / Frontend Developer

I turn operational friction into clear, tested, shippable products.

I work from the workflow outward: find the repeated workaround, define the product, build the interface and system around it, test the risky paths, and stay accountable for what actually ships.

Product strategyInterface designFrontend engineeringDeployment

Active projects

Explore by category

Swipe to explore categories

Showing all 7 active projects

Production Platform

Garage‑Pass

A production-facing vehicle identity platform spanning digital garages, records, ownership context, events, awards, and community.

SvelteKit Express Firestore
Production gated Behind the Build Public Gate →
Marketplace Prototype

Pock-IT

An invite-only everyday-carry prototype connecting community, collections, simulated transactions, carry logs, and demo lineage records.

EDC Marketplace Private Beta Demo Lineage
Private beta Behind the Build Open Preview →
Workflow UI

PrepFlow Dashboard

Every vehicle. Every handoff. One dashboard. From check-in to admin sign-off — nothing falls through the cracks.

React Workflow UI Dealership Ops
Live Behind the Build Live Demo →
Dealership Operations

Lot Control

Merge site planning, constraint-aware layout generation, live vehicle placement, and bounded morning reorganization into one portable app.

Lot Operations Constraint Aware Capacity Planning Lot Planning
Live Behind the Build Live Demo →
Commerce + Brand UI

Teal Leopard

A boutique storefront where brand-led merchandising, product discovery, cart flow, and customer-care details work as one shopping experience.

Storefront Commerce UX Brand UI
Live Behind the Build Live Demo →
Game Lab

Game Lab

A hands-on lab for proving one interaction or complete gameplay loop before a game earns full scope. Midnight Circuit, a native racing build, is the first game in development here.

Interactive Gameplay Racing
In development Behind the Build
Read-only Market Planning

Trader

An NQ planning workspace that makes daily bias, confluence, entry, a 20-point target, and invalidation explicit, with manual fallback and a conditional read-only data bridge.

Fintech Manual Fallback Read-only Feed
Working demo Behind the Build Open Planner →

Status language is literal: production means a deployed product; working demo means runnable demo behavior; private beta means access-controlled; completed and parked means preserved without planned development; prototype and concept mean incomplete; estimates are labeled as modeled; conditional integrations are not described as active without live verification.

Product thinking, frontend craft, and ownership through release.

I am a product engineer and frontend developer focused on operational software: the places where unclear status, repeated questions, or a fragile workaround cost people time.

My work spans product definition, interface architecture, implementation, testing, deployment, and iteration. I use demos to make behavior reviewable, tests to make the risky paths explicit, and candid status labels so the portfolio never asks a reviewer to confuse potential with production proof.

Start with the workaround. It usually points to the real problem.

The extra spreadsheet, the repeated question, the step everyone warns you about — these are clues. Following them back to the source reveals what people actually need and where a better way can make the greatest difference.

  1. 01
    Watch the work

    See where people pause, repeat themselves, switch tools, or invent a workaround just to keep moving.

  2. 02
    Trace the friction

    Look past the obvious symptom to find the missing information, constraint, or decision creating it.

  3. 03
    Design a better path

    Remove unnecessary steps and shape a practical solution around how people actually think and work.

  4. 04
    Prove it in practice

    Put a working version in real hands, watch what changes, and refine it until the improvement holds.

Let’s build
something.

Have a project idea, a problem worth solving, or just want to see how something gets built? Drop a message — I read everything.

new‑message
0 / 500