The idea
Fuel apps show today’s price. But what people want to know is whether to fill up now or wait. PumpCast uses the station’s price history, the oil price, holidays and school breaks to estimate the next 7 days. All the data comes from official open data.
I built it to learn technologies I had never used: Go, GraphQL, MongoDB, Redis, Next.js and machine learning.

How it is built
- A Go program downloads the official price feed and stores the prices in MongoDB.
- A GraphQL API in Go gives each page only the data it needs. Redis keeps the current prices in cache.
- The model is trained every week with scikit-learn and the forecasts are made every day by GitHub Actions.

Being honest about the model
Most days a station does not change its price. So guessing that the price stays the same is already very accurate. At 3 days my model is wrong by 1.579 cents on average and this simple guess by 1.580 cents. That is almost the same.
I chose to show it. The app only draws the days where the model does better. An advice is shown only if it would have saved money in the past. A page of the site explains all the figures.
