Inspiration
In June 2026 a Manhattan bar bought \$5,000 of Kalshi "Knicks win" contracts so a free-tab promotion couldn't sink it. Owners clearly want insurance for a single night. The hard part is knowing which nights are actually risky, and by how much. Most "obvious" event risk turns out to be noise, and insuring noise is just betting.
What it does
Offset gives a small business the risk desk a big company has, built on four principles:
- #1 Measured, not guessed. Every number comes from our analysis tools, and anything estimated or simulated is labeled. Upload daily revenue and Offset tests each event (rain, cold, heat, Knicks home games, Knicks wins) on one year, then again on a year the model never saw, with multiple-testing correction and placebo dates. Most hypotheses fail, and Offset focuses on this transparency.
- #2 Built for steady income. The goal is to provide stability and protect businesses from factors outside control. Hedges are sized to cancel a measured risk, not to make money. For a risk that holds up, Offset finds a Kalshi contract that settles on that event and buys protection up to the measured loss and no more.
- #3 Owner's call, every time. Offset is human-first. Only the owner can approve a hedge; Offset can never approve its own. Six decline rules (no market, illiquid, overpriced, loose basis, unstable, over budget) run first, and only what survives reaches the owner.
- #4 Interpretable, human-facing. Every accepted or declined hedge comes with its data and its reasoning in an append-only log. Approved hedges are booked in a Beancount ledger and reconciled three ways (books, Kalshi payouts, bank), which caught a deposit \$0.89 short and named the fee as the cause.
On our sample bike shop (synthetic sales on real NOAA weather), the live protocol finds rain (−\$1,923/day in 2024, −\$2,488/day on unseen 2025–26 data), cold days and warm days, and rejects heat and both Knicks hypotheses.
How we built it
- Backend: Python, FastAPI, pandas, DuckDB and statsmodels (OLS on log revenue with robust HC3 errors); money in Decimal, never floats.
- Markets: a read-only Kalshi client with an offline cache, so the whole demo runs with no network; Polymarket quotes for comparison.
- Agent: Claude in a tool-use loop chooses markets and explains decisions. A validator rejects any text with a number that didn't come from a tool, so Claude never produces a figure. A deterministic fallback runs without it.
- Books and integrations: Beancount and SQLite; QuickBooks and Increase bank sandboxes, with synthetic stand-ins offline.
- Frontend: Next.js, React, Tailwind, SWR and Recharts.
- Research: about 40 experiments on public data (NYC TLC, MTA, Citi Bike, NOAA, ERCOT, Kalshi history) and licensed Dewey/Advan foot traffic.
Challenges we ran into
The honest answer kept being "no." A taxi zone near Madison Square Garden showed +\$2,080/day on rainy days, then +\$228 on recent months. Knicks and Rangers wins never moved nearby revenue in any dataset. So we built a product whose best moment is a decline. We also found that weather reanalysis disagrees with the Central Park station about one day in eight, enough to misprice a contract, so everything uses the settlement station's record.
Accomplishments that we're proud of
- A desk that turns down its own hedge and shows why.
- A research protocol that finds planted effects and rejects pure noise.
- Three-way reconciliation that names the cause of a short deposit.
- A research appendix that publishes the nulls with the hits.
What we learned
Hedge game dates, not game results. Playoff home nights lift foot traffic near MSG by about 5.7%, replicated on unseen data, and a rolling hedge on Kalshi's playoff contracts removed about 87% of that swing for 2–3% of the expected gain. Daily weather insurance barely moves most businesses; bike share is the exception.
What's next for Offset
- Save uploaded businesses so research hands off to the desk automatically, run the desk on a schedule, and alert owners when a hedge needs approval.
- Settlement stations and teams beyond New York.
- Point-of-sale and bank feeds in place of CSV uploads.
Data: NYC TLC, NOAA GHCN, Kalshi public API, and Advan foot traffic via Dewey (aggregates only). No real money moves: hedges are paper trades, optional orders go only to Kalshi's demo exchange, and settlements and the bank statement are simulated from real settled Kalshi results. The bar's revenue is estimated from foot traffic; the bike shop's sales are synthetic.
Log in or sign up for Devpost to join the conversation.