← Back to Portfolio
evmodel.josephrajewski.dev
Caliber - Predictive Sports Analytics
Flagship Case Study

Caliber - Predictive Sports Analytics

Building a multi-sport predictive analytics engine from the ground up

LaravelReactSaaS

A full-stack SaaS platform for multi-sport predictive analytics, built with Laravel and React. Generates model-driven projections, grades them against closing lines, and surfaces pick recommendations with confidence grading.

ClientCaliber
IndustrySaaS / Sports Technology
TimelineOngoing development
Platformlaravel
$7/month
Infrastructure cost
React
Frontend framework
Laravel
Backend framework
Predictive modeling
Primary focus

Services Provided

Full-stack development
SaaS architecture
Data pipeline engineering
API design
Custom dashboards
Model grading & calibration
The Challenge

What we set out to solve

Caliber needed a purpose-built analytics engine that could ingest live scores and odds across more than a dozen sports, generate model-driven projections, and grade those projections against closing lines so the model's accuracy is measurable rather than asserted. Off-the-shelf tools either locked the data behind proprietary walls or stopped at raw stats without a modeling layer.

The budget constraint was real: the product had to prove its model before it earned real infrastructure spend. Every architectural decision had to hold up at validation scale, on validation money.

Our Approach

How we solved it

We built Caliber as a deliberately minimal Laravel 10 API with a React dashboard. The entire ingestion, projection, and grading pipeline runs as artisan commands on Laravel's scheduler: a per-minute live-score ingester during game hours, odds pulls through the day, and nightly grading and recalibration. No queue workers, no containers, no orchestration, because nothing in the workload needs them.

Every data feed is free and public (ESPN, the official MLB StatsAPI, MoneyPuck, Barttorvik), so data costs are zero. A summary-table layer rolls per-game results into daily model metrics and learned calibration parameters, so season-level accuracy questions get instant answers instead of heavy per-game aggregations.

Production runs on a single $7-per-month DigitalOcean droplet with native nginx and PHP, deployed as a git bundle over SSH. The engineering effort lives in the modeling layer; the infrastructure's job is to stay out of the way.

The Results

What we delivered

Caliber went from first commit to first production data in three days, and the pipeline has run unattended since: thousands of games tracked across 13 sports, thousands of projections generated and graded against archived closing lines, with pick recommendations surfaced through confidence grading. The server has run without a reboot since launch.

Because grading is built in, the model's accuracy is continuously measured against the market rather than taken on faith, and nightly recalibration feeds what the grades reveal back into the model. The platform's spartan footprint means the product can iterate on modeling, not infrastructure.

Technical Deep-Dive

Under the hood

The stack is Laravel 10 for the API and pipeline, React for the dashboard, and five production dependencies in total: guzzle, sanctum, tinker, phpspreadsheet, and stripe-php. Scheduled artisan commands replace a queue entirely. Production diagnosis happens through artisan tinker over SSH, and a data-quality guard alerts on degenerate inputs so silent feed failures surface instead of poisoning the model.

Need a project like Caliber - Predictive Sports Analytics?

Let's talk about how we can build something similar for your business.

Get in Touch