The ice cream shop that makes money when it's cold
28 Wishes sells ice cream in Los Angeles. Below 70°F, sales fall about 20%. The weather is out of their hands. Rent isn't.
So the owners started putting about $20 a day into Kalshi weather markets, taking the cold side. The days that keep customers away now pay something back.
This is hedging. Big companies have done it for decades, buying protection against bad weather, fuel spikes and rising rates. It used to take a broker, a trading desk, and an order size no corner shop could meet.
Kalshi opens it up. Contracts on weather, fuel prices, inflation, tariffs and regulation, starting at a few dollars. Take a position on the outcome that would hurt you. If it hits, the payout softens it. If it doesn't, the contract expires and the good month was the point.
On March 9, 2023, the NBA announced a partnership with Sony’s Hawk-Eye Innovations to bring 3D optical tracking to the league beginning with the 2023–24 season. Instead of working with a single x/y position representing each player, we now have x/y/z coordinates for 29 points on each player’s body, captured 60 times per second, along with the ball.
That opens up an enormous number of possibilities. It also creates a pretty basic problem: how do you actually look at the stuff?
A full game can mean gigabytes of compressed data spread across millions of files. Before you can start answering basketball questions, you have to figure out how to load it, organize it, and turn all those coordinates into something understandable.
Hopefully, this makes that part a lot easier.
Presenting NEIL.VISION.
NEIL.VISION is a free website that lets you upload basketball tracking data and replay the movement in 3D. The basic idea is simple: drag in your data, let the site reconstruct it, and explore the game from whichever angle helps you understand the play. Think of an NBA 2K replay, with the players’ movements driven by the tracking data you supplied.
You can watch from above, follow the action with a broadcast-style camera, or move down near a player’s perspective. Pause, slow things down, step through individual frames, and loop the same sequence while changing your view. That last part is what makes this interesting to me.
On a broadcast, you get the angle the camera operator gives you. In a reconstruction, you can keep moving around the play. Watch a screen from behind the defender. Look at a closeout from the shooter’s side. Get overhead to understand the spacing, then move closer to inspect the footwork.
The basketball questions come pretty naturally:
Where were the defender’s feet and hips when the offensive player changed direction?
How did the screener’s position affect the defender’s route?
Where was the contesting hand relative to the ball?
How did the other eight players move while everyone was watching the ballhandler?
You can also select individual players, inspect supplied joint positions and geometric measurements, pin poses for comparison, and add bookmarks or annotations. If you have the game video, you can load and synchronize it alongside the reconstruction.
For people building models from this data, there’s another useful application: checking your own work. A suspicious number in a spreadsheet is much easier to investigate when you can jump to the corresponding moment and look at the underlying movement. The same goes for checking an importer, a coordinate transformation, or an event you’ve detected.
The reconstruction follows the available data. Player models are illustrative, and missing tracking remains missing. Simpler position-only data can still be useful, but full-body replay requires the source to contain those observations.
Compatibility is an ongoing project. Hawk-Eye pose feeds are a starting point, and I’m expanding support for other tracking formats and export structures. If your files don’t load correctly, please let me know how they’re organized and what happens when you try. A small representative sample is especially helpful.
A few practical details: you’ll need your own tracking data, but I’ve upload one game as an example.
Individual uploads currently have a 2 GiB limit, so larger games may need conversion or segmentation. Uploaded tracking files are retained privately by neilball for logging and troubleshooting. There’s plenty I still want to improve. But I wanted to get this into people’s hands so those improvements can come from actually using it. You shouldn’t have to build your own replay engine just to ask a basketball question.
Try NEIL.VISION, and let me know what breaks, what’s missing, and what you’d like to do with it.
-neil


