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.

The Problem

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:

  • "Wait, how many times did I bike to work this month?"
  • "Which day was it raining again?"
  • "Oh crap, I forgot to log my trips again..."

Result: I was easily losing 50-100€ per month because I forgot to declare half of my commutes.

The Solution: Ultra Simple

I created the simplest mini-app in the world:

Tech Stack

For something this simple, I chose the most efficient combo possible:

Features

βœ… Simple Trip

One big green button. One press. The trip is recorded with date and time. That's it.

πŸ“Š Monthly Statistics

The app displays in real-time:

  • Number of trips this month
  • Amount to be received (automatic calculation)
  • Number of km traveled

πŸ“₯ Excel Export

A "Generate Report" button. It downloads an Excel with all dates of the month. I send it as-is to my employer.

πŸ—‘οΈ Error Correction

Clicked by mistake? A "Delete Last Trip" button. Simple and effective.

The Unexpected Effect

I showed the app to my teaching colleagues who also bike to work. Result:

Why It Works?

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.

Lessons Learned

This project reminded me of something important:

The Code

The complete app is:

  • Frontend: ~200 lines of HTML/CSS/JS
  • Backend: ~100 lines of Google Apps Script
  • Total: One afternoon of dev

No need for more. It's been doing the job for months without a single bug.

Conclusion

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. πŸš΄πŸ’°

Try it

Published in September 2024. Written by Emmanuel Lemal. Report an error