I build the software businesses run on, and the AI that makes it smarter. For over a decade I've turned ideas into products that ship fast, scale when they need to, and drive real results, always choosing the right tool for the problem instead of the trendiest one.
I'm a full-stack engineer who thinks like a founder. My work sits at the intersection of clean code and real business outcomes, building products that ship fast, scale when they need to, and actually solve problems people have.
These days most of that work is machine learning. I fine-tune small language models, build gradient-boosted predictors, and wire them to optimizers that turn a forecast into an actual recommendation. The skill I care most about isn't any one technique, it's diagnosis: knowing when a problem wants a fine-tuned model, a tree ensemble, a solver, or just a well-designed prompt.
The two halves reinforce each other. A model that never leaves the notebook isn't worth much, and the hard part is usually getting it into software people actually use, with the evaluation and plumbing to keep it honest.
Most AI work fails for unglamorous reasons: the wrong technique for the problem, or a good model that never makes it into production. Here's how I avoid both.
Before any model, I get clear on what decision this is supposed to change and what it costs to be wrong. Half the time that conversation reveals the real problem isn't a modeling problem at all.
Data volume, latency budget, interpretability requirements, and cost narrow the field fast. A fine-tuned small model, a tree ensemble, a solver, and an LLM call are very different answers, and the constraints usually pick one.
If you can't measure it honestly, you can't improve it or defend it. I set up backtesting and offline evaluation up front, which is what makes it possible to tell real gains from noise.
A notebook isn't a product. The model has to live behind an API, in a pipeline, in a UI someone uses, with monitoring for when the data shifts underneath it. That's where full-stack experience earns its keep.
Sometimes the right answer is a 200-line model that runs in milliseconds instead of an LLM call. Knowing when to reach for the simpler tool is most of the job.
An open-source knowledge graph mapping the connections between every domain of human understanding, combining Neo4j graph traversal with pgvector semantic search so the connections stay navigable through AI.

A decision documentation tool built on a semantic retrieval pipeline: FastEmbed embeddings over pgvector surface the 'why' behind past decisions by meaning rather than keyword match. Live at whyyy.app.

An end-to-end ML system that turns race predictions into lineup decisions. XGBoost predicts driver and constructor performance, validated walk-forward across historical races so results reflect what the model actually knew at the time. An ILP solver then picks the optimal lineup under budget and roster constraints, with a greedy solver as the fast fallback and Monte Carlo simulation for price trajectories.

Developed the TripleBlind Router, the core service powering authentication, data sharing permissions, and multi-party compute orchestration between organizations within the Privacy Suite platform.
Graduated with degrees in Business Management and Marketing and certification in Nonprofit Management.
After working in marketing and teaching myself web development in my spare time, I started working at a small development agency as an engineer.
Cofounded and ran a nonprofit (Code the Block) to help bring computer science education to underserved communities in Kansas City. We ran several in and out of school programs, winning the Brave IT award along the way.
Joined TripleBlind as a core engineer, which went on to raise $32mil before being acquired by Selfiie. I built the Router: the service powering authentication, data-sharing permissions, and multi-party compute orchestration for their enterprise Privacy Suite platform. Produced enterprise level software for a highly regulated industry.
Launched Pollex (pollex.studio) a technical partnership studio that helps non-technical founders build MVPs through a hybrid cash + equity model. We handle discovery, product roadmap, development, and brand design end-to-end.
Joined NREIG to implement custom ML and AI systems in production: fine-tuning small language models for domain-specific tasks. Currently going deep on Bayesian methods. The through-line is matching the technique to the problem instead of reaching for the same tool every time.
Shipping AI systems at NREIG, and continuing with PressurePro as a contractor on their tire management platform. Whyyy is live at whyyy.app. Still partnering with early-stage founders through Pollex. Always shipping something new.
XGBoost, scikit-learn, PyTorch, SLM fine-tuning, Bayesian methods, ILP / optimization, RAG, pgvector, FastEmbed, LLM APIs
Python, Django, Django Rest Framework, Flask, PostgreSQL, MongoDB, Neo4j, Celery
React, Next.js, TypeScript, Tailwind CSS, NextUI, ReactNative, MaterialUI
Docker, AWS, Vercel, Git, Stripe, Bash Scripting
Have an idea that needs to ship? Looking for an engineer who gets the business side too? I'd love to hear about it.