AboutF&B and gym ops, then MLBandung, ID
What I've built, what I haven't, and how I work.
The questions I already had were ranking questions.
Over a decade running food and beverage businesses in Bandung, then operations for a gym on contract — scheduling, trainer management, the forecasts that decide staffing. I moved into ML because the questions I already had were ranking questions.
The work on this site is that transition: a refresh-risk scoring model built during the FlyRank internship, a demand forecast that runs against real bookings, a lead scoring pipeline built under a zero-cost constraint.
The first version looked good until I checked which pages it was ranking. Most of the separation came from pages that could not decline at all — no prior impressions, so the outcome was settled before the model saw anything. Scored only on pages where decline was arithmetically possible, the ranking showed no advantage over picking at random.
I withdrew the figure I'd published and left the retraction in the report.
No model of mine has run continuously in production.
- One has informed a real decision — a client ranking a gym manager used to set priority — but as advice, not as a system anyone depends on.
- No testimonial. The internship isn't finished, and the model has had one user, and it's me.
- No live demo.
- I've never trained anything at a scale where infrastructure was the hard part.
If you need someone who has shipped ML into a product team, that isn't me yet.
I look for the leak before I look for the score.
A number that survives checking is the only kind worth sending you. When I find a failure mode I can't fix, it goes on the failure modes page instead of quietly out of the report. I work in English, Indonesian, and Mandarin.
Before the subdomain for this site exists, I wrote out what happens when someone types the address — an explanation behind the scene, and the notes work as a checklist.
if you have data