-
Notifications
You must be signed in to change notification settings - Fork 0
Home
A free, open-source companion app for cutting the running cost of your car — 17 countries, 23 languages, privacy-first, no ads, no tracking.
Pay less per litre. Burn fewer of them per kilometre. See exactly what you spent.
A car loses you money in three places: at the pump, on the road, and in everything you forgot to track. Sparkilo attacks all three.
The repo, bundle id (de.tankstellen.fuelprices), and internal package name remain tankstellen — that's the project's technical identity. Sparkilo is the public-facing brand on the App Store, Play Store, and the app's home-screen tile.
Google Play is the public production release. Already a beta tester? Open Testing keeps serving beta builds (shown with a (beta) tag) — leave the programme and reinstall to switch to production, or stay in beta to get new features first. F-Droid: add
https://fdittgen-png.github.io/tankstellen/fdroid/repofor the Google-free build. iPhone: in TestFlight beta until Apple's first-build review clears. See Getting Started for the full install guide.
Every feature in the app ladders up to the same goal — reduce what your car costs you, per kilometre driven — through three layers, in priority order:
| Layer | What it does | Pays out |
|---|---|---|
| 1. Buy cheaper | Live cross-country price + EV-charging comparison; one central Search button (raised in the bottom-bar notch) owns search across every tab; route-aware "best stops" planning with partial-results streaming; per-station and radius drop alerts with stats; a fuel-cost calculator; 30-day price history with a "best time to fill" model. | Every fill-up |
| 2. Burn less | OBD-II + GPS-only trip recording (adapter optional), per-trip driving score, eco-coaching (wasteful-behaviour breakdown, throttle/RPM histograms), GPS diagnostics. The PiP overlay's approach mode flips to a huge-price layout when you cross a station's radius — testable in-app from the Privacy Dashboard. | Every kilometre |
| 3. See what you spent | Fill-up log (manual / pump-OCR / receipt-OCR), consumption + cost stats, the Trips logbook, the Carbon dashboard (cost + CO₂ by trip length and speed band). | Every month |
Cheap fuel is the easiest win. Lean driving pays out forever. Transparency is what stops you fooling yourself.
Pick your language:
| Language | Covers countries |
|---|---|
| 🇬🇧 English | UK, Australia (default) |
| 🇩🇪 Deutsch | Germany, Austria |
| 🇫🇷 Français | France |
| 🇮🇹 Italiano | Italy |
| 🇪🇸 Español | Spain, Argentina, Mexico |
| 🇵🇹 Português | Portugal |
| 🇩🇰 Dansk | Denmark |
Every language version includes the same 10 pages:
- Home — what the app does and why
- Getting Started — install, country setup, first search
- Finding Stations — search by city, GPS, or radius; the map view
- Favorites & Alerts — save stations, swipe actions, price thresholds, notifications
- Route Planning — cheapest, balanced, uniform strategies, best stops
- EV Charging — connectors, power levels, OpenChargeMap
- Consumption & OBD2 — fill-up log, trip recording, eco-coach, driving score, adapter pairing, learning phase
- Price History & Predictions — 30-day charts, "best time to fill"
- Privacy, Profiles & Sync — local-first data, optional TankSync, GDPR
- Troubleshooting & FAQ — common issues, no prices, API key errors, adapter won't connect
- Architecture — Overview · Project Structure · Flutter & Platform Independence
- Code patterns — Dart Best Practices · State Management (Riverpod) · Service Layer & Fallback · Caching Strategy · Storage & Sync
- Quality — Testing & TDD · Error Reporting & Tracing
- Deep dives — OBD2 Implementation · Fuzzy Logic Price Predictions · Localization (ARB)
- Workflow — CI/CD Pipeline · GitHub Workflow · Creating Issues · Contributing · Adding a Country
- Reference — Official Docs & SDKs — every external API, SDK, and country data source we use
- Framework: Flutter 3.41 / Dart 3.11
- State: Riverpod 3 (code-gen)
- Storage: Hive (encrypted, local-first) + optional Supabase (TankSync cloud)
- Maps: flutter_map + OpenStreetMap
- OBD-II: any ELM327-compatible adapter (BLE classic + dual-mode) — optional; GPS-only trajets work without an adapter
- Countries: DE, FR, AT, ES, IT, DK, PT, LU, SI, UK, AR, AU, MX, KR, CL, GR, RO
- Languages: 23 (BG, CS, DA, DE, EL, EN, ES, ET, FI, FR, HR, HU, IT, LT, LV, NB, NL, PL, PT, RO, SK, SL, SV)
- Privacy: No Firebase, no Google Play Services, no Apple analytics SDKs, no tracking, no ads
- Platforms: iOS (TestFlight today, App Store soon) and Android (Google Play). iOS and Android share the same Dart codebase; platform-specific surfaces (BLE OBD2, background tasks, widgets) live behind plugin interfaces.
- License: MIT
- Source: github.com/fdittgen-png/tankstellen
- Issues: GitHub Issues
- Releases: GitHub Releases
👤 User Guide
🛠️ Developer Guide
Architecture
Code patterns
Quality
Deep dives
Reference
Workflow