tl;dr: I built (and open sourced) an iPhone X app to track my car’s fuel usage.
I bought my current car in 2016 (Volkswagen Jetta ❤️) and was interested in knowing how long (if at all) the advertised fuel efficicany of the car held up. To do this I’ve been recording the mileage everytime I stop to refuel. I have done this manually by recording the trip odometer, the amount of gas bought, what type of gas bought, etc and then entering it into a spreadsheet at home since I bought the car. I’ve now been able to automate this process by creating an app for my personal iPhone X.
Fuel is an app that allows me to record all the relevant fuel stop data while I’m at the gas station and then persist the data securely and privately in CloudKit. This is such a time saver in addition to helping avoid forgetting to enter data at a later date. It also lets me access these fuel stop records so I can track and compare the data over time.
I really like to explore new tools, libraries, and frameworks when I’m building personal projects and this was project was no different. This time out I got to work with RxSwift, CloudKit, and Carthage to name a few. In addition to those tools for the app I also got to dive deeper on using mock objects in Swift to test architectural patterns as well the asychronous actions of RxSwift with XCTest
Source Code Available
While I’m handling distribution of the app to select devices via TestFlight and not publishing this app publically on the App Store, I am happy to make the source code available for others to see.