Cap Buffet
A laboratory for salary-cap systems, and home to a small family of sports-rules tools.
- Problem
- Sports reform proposals describe the outcome they want and skip the incentives their rules create.
- System
- A browser lab that builds salary-cap systems from reusable mechanics and tests a whole league against them.
- Mechanics
- Eighteen cap mechanics, from luxury taxes to amnesty, in a pure TypeScript engine. Fourteen leagues in eight currencies. A ruleset is plain JSON you can share as a link.
- Stack
- React, TypeScript and Vite; static on Vercel; everything runs in the browser.
- Result
- Change one rule and every team’s compliance recomputes at once.
Cap Buffet builds salary-cap systems out of reusable parts. You stack mechanics into a ruleset, point it at a whole league, and read what happens: which teams sit over the cap, who owes tax, who falls below the floor, and what penalties apply. Change one rule and the league-wide table updates at once.
The major leagues arrive as presets of one composable kit, so their mechanics travel between sports. Put a second apron on the NFL, or run NBA payrolls under the NHL hard cap. Financials are arbitrary, so a minor league or a fantasy world works the same way the majors do.
What it does
- 18 cap mechanics covering revenue formulas, hard caps, salary floors, luxury taxes, aprons, allocation money, max contracts, draft-pick penalties, and workarounds like amnesty and designated players.
- 14 leagues across five continents, each with real team names and generated depth, priced in any of eight currencies.
- A live compliance report for the whole league at once: illegal teams, tax collected, floor violations, and payroll balance, all recomputed the moment you change a rule.
The wider family
Cap Buffet shares a home with Lottery Lab, a draft-lottery simulator that runs fifteen lottery systems through Monte Carlo seasons across six leagues. Its original mechanism, the Chip Window, opens over a season’s final stretch: teams wager chips on nightly games, and the accumulated chips set draft position, so competing for picks means winning every night the window is open. Both tools follow the same idea, which is to model the rules of a sport as something you can test before anyone adopts them.
Stack & method
- Frontend
- React, TypeScript, and Vite. A single-page app that runs entirely in the browser.
- Engine
- A pure TypeScript cap engine, framework-free and unit-tested, that turns a league plus a ruleset into a compliance report. The same engine runs in a test and in the app.
- Data layer
- Rulesets are plain JSON. Save one to a file or share it as a link, and it reloads exactly. Every calculation happens client-side.
- Hosting
- A static build on Vercel, with Lottery Lab alongside it.
The design argument
Sports-reform proposals usually describe the outcome someone wants and move past the incentives their rules would create. Cap Buffet treats league rules as something you can measure and revise before anyone adopts them. In the app each rule is a module, and a cap is a stack of modules whose consequences appear in a table.
Cap hits are input data in this build. A transaction sandbox for proration, dead money, and buyouts, along with side-by-side comparison of two systems, are on the roadmap.