PumpWitness

Jackie's first app: log a fill-up from three photos at the pump, get honest MPG for every car, and find out which station's gas keeps running bad.

Android · fuel log · Jackie's first app

PumpWitness

Take three photos at the pump and the fill-up is logged: gallons, price, grade, mileage and the station. It works out the MPG for every car in the garage, and flags a station when its gas keeps running bad.

3photos per fill-up
10%below usual flags a station
0accounts
0ads
Get PumpWitness

PumpWitness is in Google Play testing, so it won't show up in a search. Two steps, both signed in with the Google account on your phone. Android 8.0 and newer.

1 Join the test group

Open to anyone, no approval.

Join the group
2 Get the app

About 10 minutes after joining, tap Become a tester, then install from Google Play.

Get the app

Google takes about 10 minutes to give a new group member access. If Play says the app isn't available, wait a few more minutes and check you're signed in with the same Google account that joined the group. The website and the privacy policy are at pumpwitness.geekopolis.com.

PumpWitness is my wife Jackie's app. It was her idea, and it's her first app. The name is what it does: every fill-up keeps its photos of the pump and the odometer, so there's a record of what went in the tank and where it came from.

Every screenshot here is from my phone, with our family's real cars and fill-ups.

Three photos at the pump

Photograph the pump, the price sign and the odometer. PumpWitness reads them and fills in the fill-up for you to check.

Edit fill-up for the X5, a 2011 BMW X5 xDrive35d, on 7 October 2026: the pump and dashboard photos, with 269426 miles, 14.801 gallons, 6.099 a gallon and 90.27 paid filled in from them
The X5's fill-up on 7 October, read off its pump and dashboard photos.
  • The pump gives the sale, the gallons and the price per gallon. The odometer gives the mileage.
  • The price sign is optional. When the pump's price matches exactly one of the posted prices, it names the grade.
  • Every number is checked before it reaches the form: decimals where a pump puts them, sensible ranges, and gallons times price matching the total. Then it's yours to fix. Nothing is saved until you tap Save.
  • It picks the car from the odometer: the one whose last mileage is a sensible amount lower. "Not this car" changes it.
  • It names the station from your location: a station you've used before by the name you gave it, otherwise the nearest one on OpenStreetMap, checked against the brand on the price sign.
The pump photo behind that fill-up: a Shell diesel pump display showing 90.27 and 14.801, with glare across the readout and a cracked, sun-faded face, price 6.099 a gallon
The pump photo behind it: glare across the digits and a cracked face, read right.

The photos are the witness. Tap any photo on a fill-up to see it full size, long after the receipt is gone.

On Android 10 and newer, saving a fill-up also copies its photos to your phone's gallery, in a PumpWitness album. Each copy has the date, the location and a one-line summary of the sale written into the photo's details: car, station, gallons, grade, price, total and odometer. They're ordinary photos, so they stay even if the app is uninstalled. If a tank of bad fuel ever ends in a repair bill, that's the record.

Settings, Read photos with AI: on, with your key. Explains that with your own Google Gemini API key the pump, prices and odometer are read by Google's AI, and without one the phone reads them itself, then four steps for getting a free key from Google AI Studio
Reading the photos, with or without your own key.

On the phone. Out of the box the photos never leave your phone. Phones with Gemini Nano (the Pixel 9 and 10, and recent Galaxy flagships) read them with it. Everything else uses Google's on-device text reader, plus a decoder written for the segmented digits on pump displays.

With your own key. Paste a free Gemini API key from Google AI Studio and the pump, prices and odometer go to Google's Gemini to be read. It gets the hard ones right far more often: glare, faded LCDs, dot-matrix odometers. Your location never goes with them. Settings walks you through getting a key in four steps.

Every car in the garage

One garage for the whole household, with every car's MPG beside it.

PumpWitness dashboard: Log a fill-up, then 7 cars, 18.4 average MPG and 1,064 dollars spent, and the garage: X5 at 24.6 MPG, the Bronco at 18.6, Jackie's MINI, the Winnebago at 7.7, the JCW and the Toyota 86 at 28.6
Our garage. A dash means a car with no measured tanks yet.

The dashboard is the garage at a glance: how many cars, the average MPG across all of them, and what the fuel has cost. Below it, every car with its own MPG.

"Log a fill-up" is the big button at the top, because that's the thing you open the app for, standing at the pump.

The Bronco's page: its photo on a log in the woods, Log a fill-up, takes midgrade, your MPG 18.6, EPA 17.0, 199 dollars spent, and its history
Each car has its own page.

Each car gets a page with its photo, the grade it takes, your MPG next to the EPA's figure, what you've spent and every fill-up. There's an MPG trend chart too, with the EPA rating drawn across it.

Moving from another fuel app? Import history from another app (CSV) takes any log with a date, odometer, gallons and a price or total. Column names are matched loosely, rows it can't use are listed with the reason, and importing the same file twice adds nothing.

Add a car: start typing and the app suggests cars from the EPA's list so it can compare your MPG with the official figure, a car photo from the camera or gallery, then year, make, model, trim, nickname and license plate
Adding a car.

Start typing a year, make and model and it suggests cars from the EPA's own list at fueleconomy.gov, down to the trim and engine. Pick one and the car comes with its official MPG rating.

Anything else works too. Our Winnebago isn't on the EPA's list, so it just skips the comparison.

MPG you can trust

A fuel log is only as good as its worst tank. PumpWitness spots the one that can't be right and keeps it out.

The X5's page: takes diesel, your MPG 24.6, EPA 22.0, 369 dollars spent, and the MPG over time chart with the EPA rating as a dashed line
The X5: 24.6 MPG on diesel, against an EPA 22.0.
  • Measured between full tanks. A partial fill is logged for the price history but never divides anything.
  • Averaged by the gallon. Total miles over total gallons, so one odd tank can't pull a car's figure around.
  • Against the EPA. Your MPG sits beside the official rating for your exact trim, and the trend chart draws it as a dashed line.
The X5's history: the 7 October fill-up marked Out of MPG, way off this car's usual; 25.0 MPG on 24 September; 24.1 MPG on 17 September
A fill-up before 7 October wasn't logged. That tank is out, and says why.

Forget to log one fill-up and the next one covers two tanks' miles on one tank's gallons. The X5's 7 October fill-up came out at 53.8 MPG. Left in, that one number would put the X5 at 33.9 MPG instead of 24.6.

PumpWitness leaves a tank out of the average when it covers more miles than a tank can, or lands far from the car's usual. The usual is the middle of all the car's tanks. A car with fewer than three tanks is checked against its EPA rating instead: the Bronco's 529-mile tank worked out at 28 MPG against an EPA 17, and it's out too.

The fill-up stays in the history with a note saying why, so you know what happened.

Bad gas

Every tank's mileage is charged to the station the fuel came from. When one station keeps coming up short, you hear about it.

The right station

A tank's mileage is charged to the station that filled it: the one at the previous full fill-up, whose fuel you were burning.

Against your own car

Each tank is compared with that car's own usual MPG, so a truck and a MINI are each judged against themselves.

Flagged at 10%

When two or more tanks from a station average 10% or more below usual, it's flagged: a card on the dashboard, the Stations list, and a warning when you're standing at that station again.

Your log, on your phone

No account to make, nothing to sign in to.

No account, no ads

No sign-in, no advertising, no analytics. Your cars and fill-ups live in the app on your phone.

Location only while it's open

Used to name the station when you log a fill-up. Turn it off and you type the station in.

Backed up by Android

With Android backup on, your cars and fill-ups come back on a new phone, and the photos are already in your gallery.

The full privacy policy lists every service the app talks to and why.

PumpWitness app icon: a white fuel pump inside orange camera-viewfinder corners, with a red recording dot, on a dark blue background

The PumpWitness icon: a fuel pump in a camera's viewfinder, recording.