tennistrim
toolFinds the rallies in an hour of tennis footage and throws the rest away.
I play. Cutting a match down to the actual points by hand is miserable, and the apps that do it for you want a subscription.
- Python
- YOLOv8
- OpenCV
- uv
A property dashboard because I was house-hunting. A rally trimmer because I play tennis. Mostly small, mostly weekends, mostly for an audience of one.
Seremban, Malaysia
01 / Things
Finds the rallies in an hour of tennis footage and throws the rest away.
I play. Cutting a match down to the actual points by hand is miserable, and the apps that do it for you want a subscription.
Malaysian property transactions, mapped and charted.
I was trying to work out whether I could afford a house, and every honest answer was buried in a PDF or sat behind a valuation firm. The data is public. It just was not usable.
The pipeline underneath mpd — raw transaction dumps turned into something a browser can query.
The dashboard needed clean data and nobody publishes it clean. Parquet and GeoJSON on R2 means the querying happens in your browser and the whole thing costs me nothing to run.
02 / Work with me
Everything above was made for an audience of one. Client work is a different thing — it goes through my consultancy, where there is a scope, a contract, and someone who answers email.