I build the interfaces and infrastructure that make complex systems usable — from Fortune 200 capital allocation platforms to agentic workflow engines with LLM integration. 15 years in UI, currently deep in the agent layer.
|
Hierarchical agentic workflow engine |
Declarative form logic as configuration |
|
What it is: A TypeScript workflow orchestration engine with LLM agent integration, hierarchical task composition, and full observability. What I built:
import { createWorkflow, createAgent, createPrompt } from "groundswell";
import { z } from "zod";
const agent = createAgent({ name: "AnalysisAgent" });
const prompt = createPrompt({
user: "Analyze this code",
responseFormat: z.object({
bugs: z.array(z.string()),
severity: z.enum(["low", "medium", "high"]),
}),
});
const response = await agent.prompt(prompt);
// response.data.bugs — fully typed, Zod-validated |
What it is: A multi-package form logic library that replaces scattered What I built:
npm install @formality-ui/react react-hook-form// Before: useEffect spaghetti
useEffect(() => {
setTotalPrice((quantity ?? 0) * (unitPrice ?? 0));
}, [quantity, unitPrice]);
// After: one config object
const config = {
totalPrice: {
type: "number",
conditions: [
{
selectWhen: "quantity && unitPrice",
selectSet: "quantity * unitPrice",
},
],
disabled: true,
},
}; |
⌨️ QMKonnectCross-platform Rust desktop daemon that watches the active window and streams it to your QMK keyboard over Raw HID, so the board can switch layers or run commands per app. Windows, macOS, and Linux (Arch/Hyprland), with zero-config auto-discovery and host-side cargo build --release && ./qmkonnect
# auto-discovers any QMK board via Raw HID (usage page 0xFF60 / 0x61)# rules.toml — switch layers per app; hot-reloads on the next window change
# (no firmware rebuild, stacks on top of your board's DEFINE_SERIAL_* rules) |
🔧 Jin32-command Rust CLI for layered developer configuration management. 9-level merge precedence system built on Git internals ( cargo install jin
jin init && jin mode create dev && jin apply |
🚀 RESTstopGenerates a complete REST API from a PostgreSQL schema — controllers, routes, models, CRUD endpoints, smart faker seeding, migration splitting, and OpenAPI spec generation. Docker-first. docker compose up -d
./yii setup/generate-all --seed=100
# Full API running with 100 records per table |
| Role | Company | What I Shipped |
|---|---|---|
| Senior Engineer | WestRock (Fortune 200) | Sole UI engineer for $10B/yr capital allocation platform. Rebuilt failed Angular system into high-performance React app with zero-lag data grids across 40+ plants. |
| Frontend Engineer | DoctorDirectory ($65M acquisition) | Owned entire Angular frontend for platform serving 500K+ physicians and consumers. Search, profiles, market research portal, pharma dashboards. |
| Full-Stack Engineer | Wide Open Tech | Built UsedEquipmentGuide.com in 3 months. Acquired within 12 months. |
TypeScript (7yr) · React (10yr) · Node.js (5yr) · Next.js
Zod · Vitest · Anthropic SDK · Docker · Rust
AWS · Azure · CI/CD · SQL · Redis · PHP · Python
I'm available for full-time remote engineering roles. Look at that commit history, don't you want that in your life? Let's talk.

