I build products that turn complex inputs into clear decisions.

PointYield is the clearest live example: a closed-loop decision engine for credit, points, and travel. It turns fragmented loyalty data into verified opportunities and next best actions. TOM is a deterministic tennis observation system in development, built to turn noisy video into auditable match facts through a truth layer. The Lab keeps the smaller utilities close at hand.

PointYield helps the user decide when to earn, transfer, hold, or book.

TOM turns tennis video into a deterministic event ledger and stays intentionally restrained on the public surface.

Closed-loop points strategy

live flagship

Points, value, and action

closed loop
PointYield decision surface for points strategy, value, and next best action

Award space + transfer paths

PointYield opportunity context showing award availability, transfer paths, and redemption value

Earn, transfer, hold, book

PointYield next best action view for earn, transfer, hold, or book decisions

fragmented loyalty data

verified opportunity

next best action

Verified opportunity first

flow
01

Collect

Earn paths, transfer options, award space, and value enter one loop.

02

Verify

Availability and value are checked before an opportunity is trusted.

03

Act

The user gets one next best action: earn, transfer, hold, or book.

The loyalty picture stays intact until the user can see what is available, what it is worth, and what to do next.

award availabilitytransfer pathsredemption valuenext best action

PointYield

Live closed-loop decision engine for credit, points, and travel.

Product + architecture

Truth layer, interface, and next best action designed together.

Decision clarity

Value should be legible and the next best action easy to find.

Live, in progress, retained

PointYield is live. TOM is in development. Smaller utilities stay in the Lab.

PointYield

PointYield is a closed-loop decision engine for credit, points, and travel. It helps the user decide when to earn, transfer, hold, or book by turning fragmented loyalty data into verified opportunities.

What it does

It connects credit cards, loyalty programs, transfer paths, award availability, and redemption value inside one working decision surface.

Why it matters

Points strategy is usually scattered across loyalty accounts, transfer math, and award searches. The hard part is knowing what is real, what it is worth, and what deserves action.

Why it is nontrivial

The engine has to verify opportunity, compare value across programs, preserve context, and surface a next best action without collapsing into a feed or generic assistant.

Closed loopPoints strategyVerified opportunityNext best action

Points, value, and action in one view

live flagship

One working decision surface

closed loop
PointYield decision workflow for points strategy, verified opportunity, and next best action
verified opportunity
PointYield context view for award availability, transfer paths, and redemption value

Award availability, transfer paths, and redemption value stay close to the decision so the user can judge whether an opportunity is real and what it is worth.

decision engine
PointYield action view for earn, transfer, hold, or book decisions

The engine has to decide whether the next best action is to earn, transfer, hold, or book, and it has to make that choice legible.

TOM is a deterministic tennis observation system.

TOM turns tennis video into a deterministic event ledger built around hits, bounces, and rally structure. Its job is observation to truth: convert noisy visual input into auditable match facts that analytics and downstream decision systems can trust. The public surface stays restrained for now, while the architecture is being developed to generalize beyond tennis.

in developmenttruth layerdeterministic event ledgernot shown in detail

PointYield

Live decision engine for credit, points, and travel.

TOM

Deterministic tennis observation system that turns noisy video into auditable match facts through a truth layer.

Lab

Small utilities that solved real problems well enough to stay in reach.

The work is product judgment applied to messy systems.

Keep what is true, decide what matters first, and make the result legible to the person using it.

Structure before polish

If the underlying model is loose, better visuals only hide the problem. The system gets settled before the styling.

Truth before comfort

The interface should tell the truth even when the truth is inconvenient. Confidence, ambiguity, and change need to show up cleanly.

One view can carry more

The goal is not panel sprawl. The goal is a view that keeps truth, context, and next best action close together.

Use decides what survives

I keep the work that stays useful after the first demo. Everything else is noise.

The smaller tools live in the Lab.

Schedulers, trackers, calculators, and side builds stay available there. They matter because they were used, not because they round out a portfolio.

See the Lab
SchedulingReady

Round Robin

Build round-robin draws, enter results, and keep standings current without spreadsheet drift.

Open app
Match reviewBasic

Tennis Tracker

Fast basic scorekeeping with point logging and match context in a browser-based tracker.

Open app
Match intelligenceNew

Tennis Tracker V2

Advanced live scoring with formats, No-Ad support, tiebreaks, undo, history, and derived match intelligence.

Open app

Open to a small number of product and systems conversations.

If the problem is technically messy, decision-heavy, and needs a better interface than the category usually gets, reach out.