Skip to content
VSValter Silva
Back to projects
In development

EiTanol

Fuel price comparison platform by region, designed to answer where it actually pays to fill up. Built in stages, with architecture decisions recorded as ADRs.

Problem

Many drivers always fill up at the same station out of habit, without knowing whether one a little farther away would be worth it. Price information is scattered, outdated or depends on a single source.

Solution

Aggregate multiple price sources and turn them into a simple decision: find stations, check prices by fuel type and compare options, considering price and distance.

Architecture

  • Modular monolith in Spring Boot, organized by domain (station, price, location, user, vehicle…), with no microservices before there is a need for them.
  • PostgreSQL with PostGIS for geographic queries such as nearby stations and distance to the user.
  • Multiple price sources supported from the data model up: each observation stores its source and confidence level.
  • Monorepo with backend, web, docs and infra; local environment with Docker Compose.

Key features

  • Foundation complete: Spring Boot backend with a health check, Next.js frontend and PostgreSQL + PostGIS via Docker Compose.
  • Domain model with Station, FuelType, PriceSource, PriceConfidence and PriceObservation as immutable classes covered by unit tests.
  • Price history preserved: an observation is never overwritten.
  • Public, staged roadmap, from ANP data integration to a mobile app.

Technical challenges

  • Modeling price as a historical observation with source and confidence, rather than a field on the station.
  • Deferring tools like Redis, queues and observability until there is a real need, recording each decision in ADRs.