We built an AI fuel price oracle during Australia's worst fuel crisis
Petrol hit $2.60 in Sydney. Over 600 stations ran dry. Every fuel app tells you the price right now. None of them tell you what it will be tomorrow. So we built one.
Try it at shoulditopup.com →The Crisis
Last week, petrol hit $2.60 a litre in Sydney. Diesel cracked $3 on the northern beaches. Over 600 stations across the country ran completely dry. The government started releasing emergency fuel reserves for the first time since the program was created.
The Strait of Hormuz closure had been building for weeks, but when it actually hit supply chains, things moved fast. Australia imports roughly 90% of its refined fuel. We have about 36 days of reserves. The IEA recommends 90. So when global shipping routes get disrupted, we feel it before almost anyone.
People were panic buying. Group chats were full of photos of $2.80 bowser prices and "out of fuel" signs. The question everyone kept asking was the same one: should I fill up now, or is it going to come back down?
Nobody had a good answer. Every fuel app in Australia shows you what the price is right now. None of them tell you what it will be tomorrow.
So we built one.
What It Does
ShouldITopUp is a fuel price prediction tool. You open the site, and it tells you whether to fill up or wait. That is the entire product.
It pulls live prices from every state government fuel API in Australia. Over 6,500 stations, updated every 15 minutes. It tracks Brent crude, the AUD/USD exchange rate, Singapore MOGAS 95 (which is actually the benchmark Australian wholesale prices are set against, not Brent), and prediction market odds from Polymarket.
All of that feeds into a scoring system we call the Top-Up Index. It runs from 0 to 100. Zero means no rush, prices are dropping, wait it out. One hundred means fill your tank, fill your jerry cans, fuel is about to get worse or disappear entirely.
Right now the index is sitting in the high 80s nationally. That tracks with reality.
How The Prediction Works
Australian fuel prices follow well-documented weekly cycles. The ACCC has published extensively on this. Prices tend to bottom out mid-week and peak on weekends. In normal times, timing your fill around this cycle saves you 15 to 30 cents a litre.
We trained a LightGBM model on historical price data from WA's FuelWatch system, which has the deepest and cleanest dataset of any state. WA is the only state where retailers have to lock in next-day prices by 2pm, which essentially gives you pre-labelled training data. The model predicts 3-day and 7-day price movements with confidence intervals.
But the raw model prediction is only 40% of the final forecast. The other 60% comes from live macro signals and supply conditions. Brent crude at $104 a barrel creates upward pressure. A weak Australian dollar (currently around 0.69) makes imports more expensive even when oil prices are flat. And when 8% of stations are reporting outages, that pushes the forecast up regardless of what the cycle model thinks.
The weighting matches the Top-Up Index itself: 40% price momentum, 25% macro signals, 25% supply risk, 10% weekly cycle. During a crisis like this one, the cycle becomes almost irrelevant. Crude oil movements and station outages completely dominate.
The Map
Every station on the site is real. We pull from CheckPetrol's aggregated feed, which stitches together NSW FuelCheck, QLD Fuel Pricing, WA FuelWatch, VIC ServoSaver, and Petrolmate for SA, NT, and supplementary coverage. You can switch between E10, U91, P95, P98, and LPG. Each dot on the map is colour-coded by price bracket, and grey dots are stations that have reported outages.
We also built a "is your price good?" distribution chart that shows where any given price falls relative to the national market. Right now, anything under about 255 cents a litre is in the bottom 15% of stations. If your local is showing that, it is genuinely a good deal in the current environment.
The Polymarket Integration
This was one of the more interesting pieces. Polymarket has active prediction markets on crude oil prices, and their Gamma API is free and unauthenticated. We pull real-time odds on questions like "will crude oil hit $100 by end of month" and feed that probability directly into the macro signal component.
The logic is simple. Thousands of traders betting real money on where oil prices are heading is a useful crowdsourced signal. If the market assigns 80% probability to crude hitting $110 in April, that gets reflected in the Top-Up Index before the price increase actually reaches Australian bowsers. It is a leading indicator, not a lagging one.
The Methodology Page
We published the full mathematics behind every component of the scoring system. Every sub-signal is explained. There are three worked examples showing how the score behaves in different market conditions.
The reason for doing this was partly transparency and partly because the methodology is genuinely interesting. The supply risk component uses a logistic curve to model outage severity. The confidence interval on the price forecast is produced by quantile regression at the 10th, 50th, and 90th percentiles. The crisis floor uses a sigmoid function so the score ramps smoothly as outages increase rather than hitting a hard cutoff.
If you care about how it works, it is all there. If you do not, you just get a number and a recommendation.
Why We Built It For Free
This was a side project. We saw a gap, had the tools, and wanted to see if we could ship something useful fast. We built it in a day using Claude Code. The AI handled most of the scaffolding, the API integrations, the component architecture. The interesting decisions were ours: what signals to weight, how to calibrate the crisis detection, how to make the forecast match the index, how to present a confidence interval in a way that normal people can actually understand.
Every existing fuel app in Australia is a price comparison tool. PetrolSpy, FuelTrack, FuelCheck, FuelRadar. They all show you what prices are right now. Some of them track outages. None of them predict what happens next. The ACCC publishes data on the weekly price cycle, but no consumer-facing product actually exploits it with a trained model.
The whole thing runs on Vercel. The data comes from free government APIs and free market data feeds. The model trains on publicly available historical data. There is no reason this needs to cost anything to run, so there is no reason to charge for it.
It is not financial advice. It is not a guarantee. The model was primarily trained on WA data and the same architecture runs for all cities, so accuracy varies by location. The forecast is a blend of a statistical model and live market signals, not a crystal ball.
But if you are standing at a bowser wondering whether to fill up or wait until Wednesday, it gives you a better answer than a guess. And right now, during the worst fuel crisis most Australians have experienced, that felt worth building.
Build something similar
If you have a data problem, a workflow that needs automating, or a side project idea that could ship fast, we can probably help.