Cap Buffet
A laboratory for salary-cap systems, and home to a small family of sports-rules tools.
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. 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 at capbuffet.com, with Lottery Lab alongside it at lottery.capbuffet.com.
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 design the way an engineer treats a load-bearing structure, as something you can measure and iterate before you build it. A rule is a module. A cap is a stack of modules. The consequences are a table you can read.
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.