Inspiration
Our inspiration for this project came from discussions on what had been the biggest issues facing our world over the last few years. Despite the devastating impacts of the Covid-19 pandemic, one positive thing it brought about was the gradual recovery of natural habitats for fauna and flora worldwide. It was the recognition that human action on a mass scale can positively impact the environment which led us to the idea to create an app that incentives users to make environmentally conscious decisions when going about their day-to-day lives.
What it does
EcoTrack allows users to take a quick survey that asks them about their routine habits, and converts these answers into an environmental-assessment profile. Based on the results of the survey, users are recommended a tailored set of tasks that they can complete to help take more environmentally friendly actions. These tasks are refreshed daily, and are tracked by completion each week.
How we built it
We first started with front-end design using Figma. After UI design was completed, we used FlutLab to convert our design into Flutter code which was used as the foundation of our project. From here, we spent a great deal of our time learning about how stateful and stateless objects in Flutter work, how to construct buttons that are user-interactive and process the data provided to us from the user. We used AndroidStudio for development, and GitHub for tracking our project progress.
Challenges we ran into
Some challenges we ran into were unexpected, while others we had anticipated before beginning development. Firstly, the scope of the project was a bit overwhelming for us as we were, for the most part, new to android app development and had no experience with Flutter, AndroidStudio, or Figma. However as we continued to work through our ideas it became easier to visualize what goals we needed to work towards.
The use of FlutLab greatly expedited our conversion of prototype into code, however this also came with the caveat of creating an extremely complicated and hard to read repository structure (file and directory names were unintuitive). We ran into the filename GeneratedLoremipsumdolorsitametconsecteturadipiscingelitseddoeiu which was impossibly hilarious and jarring to figure out when we initially saw it.
Similarly, we found that the positioning of many elements such as the "Back" button and the navigation bar ended up being hidden, because they were positioned beyond the viewport — the repository structure made it extremely difficult to adjust the positioning such that all elements were visible and nicely aligned as planned.
Additionally, as is common with everyone using GitHub for the first time, we ran into several issues trying to work around merge conflicts using Git. At one point we had to revert a revert, leaving us with a commit called Revert "Revert "Merge pull request #1 from elishaMaquiling1369/main"".
Accomplishments that we're proud of
The biggest accomplishment that we have achieved during this project is being able to learn new skills such as a new programming language and a new design software. A cohesive app UI was built using Figma, a design software that most of us had little to no experience with. The team also managed to learn the basics of the Flutter framework, and Dart, its programming language, to translate the Figma design into interactive mobile app UI. Overall, it was an insightful learning experience.
What we learned
Throughout the creation of EcoTrack, we learnt numerous things. For one, a 36-hour hackathon is a lot less time than we thought! That being said, collaborating with people from different backgrounds, whom have different experiences, is an eye-opening experience as bringing together various insights is what helps to make a strong project. As this was the first hackathon experience for the majority of our members, it was interesting to see how work distribution and goal-setting amongst takes place. Building a great product takes communication, patience, collaboration, and dedication.
What's next for EcoTrack
We would like to implement the following in the future:
- Make the habit tracker functional
- Add a login/registration page so user can create their own user profile
- Create a point system in conjunction with the habit tracker
- Make the app compatible with iOS devices
- Upload app to the PlayStore and AppStore
Log in or sign up for Devpost to join the conversation.