When Helena and Jeremy from SmartCar were presenting the SmartCar API at the beginning of the Hackathon, one of the things they mentioned was the fact that the quantity of cars on the road will likely go down in the next 5-10 years. We thought about this for a bit and agreed, it's likely that more people will opt to carpool in the near future. However, when we thought about the concept of carpooling, some of the aspects popped out to us as issues. This is where the issue of the driver paying for gas came in.

What it does

CarGo calculates the distance travelled with others in the app, and splits the cost of the fuel expenditure by car without needing any input about your car. The only thing that's needed to start is a login to your car manufacturer website and an input of how many other passengers are in your car. and their names From then, it tracks the odometer reading of the car, looks up the fuel efficiency of the model, and checks local gas prices to determine how much each person owes you after the ride.

How I built it

The frontend was built in Android Studio, while the backend was implemented by Java.

Challenges I ran into

Often times, it was difficult to keep track of the app flow. Since our app features an add and drop function that allows you to add or remove any passenger in the case that you're making multiple pickup/drop destinations, we had a difficult time keeping track of the state and flow diagram of each feature.

Accomplishments that I'm proud of

This was the first time I've made an app in Android Studio.

What I learned

I learned a lot about the syntax of Android Studio and the interactions between a front-end and back-end developer. It really gave me a deeper understanding of what each of these roles mean, as well as experience.

What's next for CarGo

If possible, it would be great to partner up with an online payment service such as Venmo to truly connect the interface of paying your portion of the gas prices. That way, we could also import user profiles instead of having the driver input the names and having a generic avatar. If this was the case, we'd likely have to make a passenger interface as well.

Share this project: