When you hear «web app,» you usually imagine a server in a distant data center storing your passwords and routes. BikeNote flips the script. Let’s look under the hood and see how your browser can store thousands of rides without ever sending them to the internet.

What is IndexedDB?

Think of your browser (Chrome, Firefox, or Safari) as having a small but powerful private vault inside. This is called IndexedDB.

Unlike typical websites that just display content, BikeNote uses this vault as a professional-grade database. When you upload a GPX file into the app:

  1. The browser reads the file locally.
  2. The code processes the data points and calculates stats.
  3. The results are saved to IndexedDB on your own hard drive.

Why is it safe? (For the privacy-conscious)

  1. Sandboxing: browser security rules prevent one website from reading another’s data. No other site can «peek» into your BikeNote database.
  2. Zero Outbound Traffic: if you open the Developer Tools (F12) and check the «Network» tab, you’ll see that zero bytes are uploaded when you import tracks. The app works perfectly even without Internet connection.
  3. No Accounts Required: we don’t need your email or password because we don’t need to identify you on a server. Your database is tied to your local browser instance.

Are there any trade-offs?

Yes, and honesty is key. Since the data lives in your browser:

  • Cache Clearing: if you «Clear all site data» in your browser settings, the BikeNote database will be wiped as well.
  • Device Portability: If you open BikeNote on a different computer or in a different browser, it will be empty.

The Solution: This is why BikeNote includes a «Export» feature. I recommend making a backup once a month and keeping it in your personal archives.

The Bottom Line

Choosing IndexedDB was a deliberate engineering decision. It allows for a high-performance analytics tool that remains 100% private. Your data is your property — it belongs on your machine, not on «someone else’s computer» in the cloud.