An ultra-simple mini-app to track my bike commutes and get reimbursed. One button, one press, done. My colleagues love it.
My employer reimburses my bike commutes. Great! Except I'm a distracted person and I systematically forgot to log my trips. Result: I was losing money every month.
Like many developers, I'm perfectly capable of creating complex systems for others, but incapable of managing my own administrative tasks. Every end of month, it was the same struggle:
Result: I was easily losing 50-100€ per month because I forgot to declare half of my commutes.
I created the simplest mini-app in the world:
I arrive at school by bike → I take out my phone → I press a big green button → That's it.
End of month? The app generates a complete Excel report with all dates. I send it to my employer. Done.
For something this simple, I chose the most efficient combo possible:
One big green button. One press. The trip is recorded with date and time. That's it.
The app displays in real-time:
A "Generate Report" button. It downloads an Excel with all dates of the month. I send it as-is to my employer.
Clicked by mistake? A "Delete Last Trip" button. Simple and effective.
I showed the app to my teaching colleagues who also bike to work. Result:
1. Minimal friction
One button. No form. No account. Just one click.
2. Immediate gratification
The app immediately shows how much money you'll get this month. It's motivating.
3. Zero maintenance
Google Apps Script, Google hosts it. No server. No database to manage. It runs on its own.
4. Progressive Web App
Install it on phone home screen like a real app. But it's just web.
This project reminded me of something important:
đź’ˇ The best tools are those we actually use.
I could have created a React Native app with Node.js backend, PostgreSQL database, OAuth authentication, push notifications, etc.
But nobody would have used it. Too complicated. Too much friction.
One green button + Google Sheets = everyone uses it.
The complete app is:
No need for more. It's been doing the job for months without a single bug.
Sometimes, the best solution isn't the most sophisticated. It's the one that really solves the problem with minimum friction.
One button. One function. Zero excuse to forget. And 80€ more per month. 🚴💰