Inspiration

The Italian government offers a public API that allows users to check fuel prices at every station across the country. I leveraged these APIs to create an intuitive app with a user-friendly interface, making it easier for everyone to access and benefit from this information.

What it does

Carburapp is designed for those looking to save on fuel and optimize their refueling routine. It helps users locate the cheapest gas stations nearby, view real-time fuel prices, and plan their trips more efficiently.

Key Features:

  • Real-time fuel prices: Access up-to-date prices for petrol, diesel, and other fuels at nearby stations.
  • Guaranteed savings: Quickly identify the most affordable gas stations in your area.
  • Customizable filters: Search by fuel type, distance, or price to find the perfect station.
  • Integrated navigation: Get directions directly from the app to your selected station.
  • Daily updates: Receive notifications on changing fuel prices to stay informed.

With Carburapp, saving on fuel has never been easier!

How we built it

Carburapp is built using public APIs. I explored several new technologies during the development process, including MapKit and CoreLocation, which became relatively straightforward to implement, especially with SwiftUI and its latest versions. I also developed widgets, including my first Lock Screen widget. Additionally, I wrote a custom CSV decoder to handle the data.

Challenges we faced

One significant challenge was handling notifications. I initially wanted everything to run on-device via background tasks, but I learned that these tasks do not run if the app is closed. As a result, I’m now building an Elixir backend to handle data processing and push notification dispatching. Also I lost quite some time because I couldn't setup the Lock Screen widget on my device, but it turns out it got fixed with a reboot of the system.

Accomplishments we're proud of

I'm particularly proud of how quickly I was able to build this app. As someone who tends to procrastinate, I don’t typically complete side projects this fast. The ship-a-thon provided the motivation I needed to push forward and deliver.

What we learned

I learned that background tasks do not run if the app has been forcefully closed, which was a valuable discovery. Additionally, I gained experience working with new APIs across various frameworks, and I got to explore the new @Observable property wrapper, which I hadn’t had a chance to use before.

What's next for Carburapp

Looking ahead, I have several features planned for future updates. First, I will finish properly implementing push notifications. I’m also considering adding a feature that allows users to switch between different vehicles they own. This way, users can see the most convenient gas stations based on the fuel type of the vehicle they're driving. Also add proper iPad support.

Built With

Share this project:

Updates