Skip to content
Let's talk

AdBlue, paid right at the pump.

CrossChem makes AdBlue in Latvia and runs its own self-service stations. We built the app drivers use to pay at the dispenser: no cashier, no queue, no terminal.

CrossChemiOS and AndroidSelf-service AdBlue, Latvia

steps from pump to paid
3
to start filling after you pay
2min
held for a full tank, the rest goes back
€20
languages, switched without a restart
3
2023: first commit to first release
FebMay

Three steps. No cashier.

  1. Pick the station.

    The app puts the nearest station on top. Already at the dispenser? Scan its QR code and you are on the right pump.

    1. Scan the QR on the dispenser
    2. Nearest station on top
    3. Then the pump
  2. Choose the amount.

    Full tank, or type litres or euros. The other number works itself out as you type.

    1. Full tank or your own amount
    2. Type the litres
    3. The euros follow
  3. Pay and fill.

    One tap with the card you saved once. Start filling within two minutes, hang the nozzle back when you are done.

    1. €20 held for a full tank
    2. Card saved once, safely
    3. One tap, then fill
    Fill up screen with Full tank selected: 20 euros will be reserved for the transaction, add a payment card, Make payment

Pay for what you pump.

For a full tank the app holds €20 on the card. You pay only for what goes into the tank. The rest goes back to the card by itself.

Held on the card
€20.00
Pumped: 20 litres
€11.40
Back to the card
€8.60
Example: 20 litres at the price the app showed when we recorded it.

One card. Partner deals.

Your profile is a loyalty card with a customer number, a QR code and a barcode. Show it at the till: at KOOL stations it takes 10 cents off every litre of fuel.

  • Fuel, food, tyres and car care at partners
  • A badge counts the offers you have not seen
  • CrossChem adds offers and sends push messages from its own admin panel
  • Offers picked for each driver, not one list for everyone
My profile: the loyalty card with name, customer number, QR code and barcode, shown here with placeholder data
Placeholder data

Made for drivers.

Sign in once, pay with a tap. A short tutorial walks you through the first fill-up.

  • Apple, Google or emailSign in the way you already do
  • Face ID and fingerprintBack in without a password
  • English, Latvian, RussianSwitched any time, no restart
  • HistoryAn e-receipt for every fill-up
  • Everything in the appEdit profile, change password, delete account
Profile settings in the light themeThe same settings in the dark theme
Dark and light theme, same screen
  • Profile settings in EnglishEN
  • Profile settings in LatvianLV
  • Profile settings in RussianRU

The app is the easy part.

The hard part is everything behind one tap: a card, a pump and a price that all have to agree. Here is how it works, in plain words. Two developers built all of it.

Flutter appiOS and Android
Go APIStations, orders, cards, offers
  • Station systemPumps, prices, start and track a fill-up
  • Card paymentsHold, capture what was pumped, release
  • Sign-in serviceEmail, Apple and Google, in Laravel
  • Firebase and SentryPush messages, crash reports

The app

One Flutter codebase for iOS and Android: map and station list, QR scanner, litres or euros, saved card, history, offers, three languages, two themes, biometric sign-in.

The money

Card details stay with a certified payment operator; the app never stores them. The API holds the amount, then captures only what was pumped and releases the rest.

The pumps

The API reads stations, pumps and prices from CrossChem's station system, opens the order on the right pump once the payment is held, and the app follows it live until the nozzle goes back.

The upkeep

A web admin panel from the same Flutter code for offers, partners and push. It lives in one repository with the app and calls the same API. Then two years of releases, including a move from Pusher to Firebase push when Pusher's limits got in the way.

  1. Feb 2023First commit
  2. Apr 2023Card payments and QR scanning
  3. May 2023First release, with Apple and Google sign-in
  4. Late 2023Offers, push and loyalty codes
  5. Jul 2024Push moved to Firebase
  6. Mar 2025Flutter 3.29 upgrade

Selling something people pay for in person?

Put the till in their pocket. Payments, hardware and loyalty in one app that just works at the pump. We do what it takes to make it.

Tell us about your product

Let's make something together.

No overengineering. No wasted time. Just straight-up execution.

Or book a call with Eryk (opens the booking calendar)[email protected]
Who are you?
Budget