fit.zkbro.com is live
2026-02-28 23:59
A little nudge, and fit.zkbro.com is now at a stage I'm happy enough for it to be online:
It's far from over, but the hard yards are done.
About the data
I've got 16 years of recorded activities up, back to 2010. It took a bit of data wrangling, but I eventually got it all into the one duckdb database. I then created a bunch of related tables for custom data and metric conversions. Now ALL the data sits in that database, including notes, map and graph filenames, and when I build the activity pages for the website, the relevant data is pulled into the markdown frontmatter, which is then handled by Zola and Tera to be presented on the website. Nothing sits in the body of the markdown files. I can edit the database locally using the activity-editor:
About the site
The site is built with Zola. It's what I know the most, and it was an opportunity to learn more parts of it I hadn't delved into before. I didn't use a pre-built theme, just built from scratch, learning slowly as I went. The underlying Tera framework is proving very useful.
Some funky things I've added which got me into new territory:
The side-data-bars (not visible on mobile) are just empty padded flexboxes, each representing an activity, the length depicting distance on the left side and elevation on the right. They have clickable links to the corresponding activity page, which may be some fun random browsing. There is random transparency which gives it a cool neon effect, and which I will link to some other metric later down the track (heart rate or difficulty or something). It is in cronological order. I used Tera arrays to build the data.
Tags. Endless possibilities. Tags here are either activity types or events.
Pagination. I did this at the bottom of the individual tag pages only. I used the w3 schools example for the look, but came up with my own structure. Struggled to get it going on the main page because I'm concatenating sections there.
Redacted maps. Activities close to sensitive areas (home, family homes etc) don't have maps. Just an outline. A map would typically be pretty useless here anyway. I kept maps for everything else though, as they can be a handy reference.
Todo
- Tidy the HTML and CSS. It is an utter mess.
- Fix the pagination page numbers next to the ... more ... elements not set correctly.
- Add the dynamic header image that I use on this site, or a variation of.
- Photos - thumbnails on main page and activity pages. Option for inline photos?
- Notes to be able to include linebreaks. Had to remove linebreaks to get into frontmatter. Probably just a script update required.
- Articles look janky on the main page when there is the small location redacted image. Need something to fill the space, or remove the map.
- Equipment (shoes, bikes etc) - displayed on activities, specific pages for, stats etc.
- Archive page - update list style, what metrics to show etc.
- Stats page - calendar view, heatmap, latest peaks, latest etc.
- Activity charts - HR, splits, etc.
- Fix the stats/notes flexing in the activity pages.
- Not completely in love with my colour scheme...
- Box styling will probably change too.
- WTF is a favicon?
- And so on...

