OpenSportTaxonomy

The sport vocabulary your app was missing.

This is OST inside an app: tag each activity with its canonical sport string, and hierarchical filtering comes for free. A filter matches a sport and every sport beneath it in the dot hierarchy, so cycling selects cycling.road, cycling.gravel, cycling+stationary, and the rest; cycling.road narrows to road rides, and cycling+stationary to the indoor variants. The log below filters this way; a flat list of sport names cannot.

Loading the demo…

Artificial sample data, generated for this demo. Not a real activity log.
Date Sport Duration Distance