Portrait of Doni Wirawan

I build small, free web tools.

Three of them are live: a Strava analytics dashboard, a browser-based bike fit analyzer, and a Latin-to-Balinese script transliterator. All of them run in your browser, all of them are free, and none of them upload what you put into them.

See the apps GitHub LinkedIn

Projects

Things I built because I wanted them to exist. The web tools are free and run client-side.

Ascent Strava

A personal Strava analytics dashboard: stats, charts, a ride heatmap, segment PRs, gear tracking, trophies, and shareable 9:16 story cards for your rides. Connects to your own Strava account with your permission — your tokens and activities stay in your browser.

Bike Fit Analyzer Cycling

Upload a side-on video of yourself pedalling and get automatic joint-angle analysis (knee, hip, back) graded against bike-fitting research, to help you fine-tune saddle height and reach. The video is analyzed on your device and never uploaded. It is not a professional bike fit and not medical advice.

SPMB Bali 2026 Data

An analysis of the academic-track entry scores at all 88 public high schools across Bali's nine districts, ranked into tiers so a student can see where they realistically stand. It also makes the regional gap hard to look away from — the distance between Denpasar's schools and those on the outer islands is not small.

Terrafarms Agritech

An AI and IoT platform for Indonesian farmers: soil analysis, crop recommendations, plant disease detection, real-time nutrition monitoring, and a route to market for seed and fertiliser supply. Built with a team, out of the conviction that smallholders deserve the same decision-making tools that large operations already have.

Aksara Bali Culture

Converts Latin text into Balinese script in real time, with Sanskrit support and V=W equivalency — an educational tool for reading, writing and preserving Aksara Bali.

About

The short version.

Portrait of Doni Wirawan

I am Doni Wirawan. I am the person behind the web side of Studio Five Group: the planning dashboards, delivery trackers and website builder its wedding clients use, and the sites for each company in the group — Weddings, Spaces, Corp, Pixels and Printhouse — along with the marine fuel side: Straits Bunkering in Singapore and Dubai, Eng Hua and Sirius Oil. I build them, and I keep them running.

Before that I graduated from Bangkit Academy — the career-readiness programme led by Google and backed by GoTo, Tokopedia and Traveloka — where my team and I built Terrafarms — an AI and IoT platform that gives farmers soil analysis, crop recommendations and disease detection. I also founded the Google Developer Student Club at INSTIKI and led it as its first chapter lead, which is still the thing I am proudest of: it outlived my involvement, which is the only real test of whether you built something or just ran it.

The rest of the time I build small free tools for the things I care about: my own riding data with Ascent, my own bike fit with Bike Fit Analyzer, and the Balinese script I grew up around with Aksara Bali. They all run in the browser, they are all free, and none of them upload what you put into them. That is a deliberate choice, not a limitation — I would rather ship something small that respects you than something big that does not.

Cycling

The reason two of these apps exist.

I ride road and gravel around Bali — early mornings, long climbs, and the odd sprint for a segment I have no business chasing. It is where I do my best thinking, and it is also where most of my ideas for tools come from.

Ascent started because I wanted to see my own Strava data the way I actually think about it. The Bike Fit Analyzer started because I kept fiddling with my saddle height and wanted numbers instead of guesses. If you ride too, both of them are free — and I would genuinely like to know what they get wrong.

Riding a road bike on a tree-lined road in Bali On a gravel bike, throwing a peace sign at the camera Riding out of the saddle on a morning road ride

Connect

Say hello, or tell me what to fix.

Find me elsewhere