Duncan AndersonIndependent systems
Back to selected work

Sports analytics · Live product

The Lineup

A live sports product that connects projections, market prices, subscriptions, and recorded results.

The result

Customers can compare a projection with current prices, make their own decision, and return later to see the recorded result.

What can be verifiedFounder, product owner, solo builder

Before the product existed, the models, sportsbook prices, and final results lived apart. The Lineup puts them in one customer journey and records the result instead of ending at the prediction.

  1. 01Public web product
  2. 02Published iOS application
  3. 03Automated grading and public result history
How the system worksIllustrated example

The Lineup

Live customer product

Live

01

Live inputs

Current market context

02

Model view

Projection and confidence

03

Recorded result

Automatically graded

One decision, full context

ML

The context stays attached to the decision through the final result.

What stays attached

PriceTimestamped
Model contextAttached
Final resultRecorded

Illustration based on the live product · public results remain available on The Lineup

What changed

Before

  1. 01Sports data, model output, and sportsbook prices lived in separate systems.
  2. 02A prediction had no useful product loop without price context and a recorded result.
  3. 03Billing, customer access, data freshness, and result grading all had to work around the model.

After

  1. 01Live prices are normalized and compared against model context.
  2. 02Customers can review the projection and current price on web and iOS.
  3. 03Final results are graded automatically and kept in a public history.

What I owned

I built and run every layer of the product: sports-data imports, projection models, market comparison, customer-facing tools, billing, automatic grading, and the checks that keep the service usable.

  • 01Projection and market data pipelines
  • 02FastAPI, Next.js, PostgreSQL, and Redis application stack
  • 03Web and iOS product delivery
  • 04Subscriptions, analytics, monitoring, and operational tooling

What still needs a person

A projection is never shown on its own. The current price, timestamp, model context, and final result stay attached. The customer still decides whether any opportunity is worth acting on.

Public proof

Technical detail

PythonFastAPINext.jsPostgreSQLRedisLightGBMStripeRevenueCat

Have a similar operating problem?

Bring one recurring process and the point where it keeps breaking. We will decide whether it has a clear enough finish line for a sprint.