Inspiration

The other day when I was scrolling through Instagram, I came across this post about something called a Cora Ball that was supposed to catch micro plastics. I had no idea what micro plastics were, so I did a bit of research on them and found out that they block the digestive tracts of fish and other sea creatures, seriously harming them. Learning about this relatively unknown issue that causes so much harm made me think about how much we harm the environment every day without even knowing it, so I started thinking about the ways I could make a change and came up with Natra.

What it does

Natra allows people to not only become educated on different environmental topics, but also make an immediate change that saves many gallons of water, tons of plastic and waste, tonnes of emissions and waste, and even money. Everyday, the app offers up either an important lesson on environmental issues or a quick tip or product that helps you make an immediate change. For instance, one of the quick tips is putting a plastic bottle filled with rocks(or something else heavy) in your toilet tank. With this single tip, you could save up to 18 gallons of water per day. After only a few minutes of effort that first day to put the bottle in, you would save 6,570 gallons of water in the year with just a single tip. These numbers would quickly add up with more and more users, and together we could make a huge change!

How we built it

To build this app, I used Flutter, a cross platform toolkit for creating natively compiled applications for iOS and Android all from a single codebase with the Dart programming language. I also used Firebase to partially build out the backend and get authentication fully working.

Challenges we ran into

While building the authentication, I ran into issues with Flutter's navigation system, as it pushes screens on top of each other and it was difficult to keep track of the screens and where they were. In fact, even making a sign out button took a while because I kept running into errors. However, I restructured the code and was able to find a simple solution to this problem by reducing the amount of routes that needed to be traversed to reach a screen. I also had some struggles with null safety, which was recently integrated in Flutter

Accomplishments that we're proud of

Getting the authentication + validation fully working alongside a nice UI with some animations! Designing a nice UI within a short timeframe was difficult for me, and I'm glad that the final product looks nice.

What we learned

I learned a lot about how to work with Firebase along with how to actually integrate it into the app(this caused more errors than you would expect (: ). I also learned a lot about design in Flutter as I was mostly a novice at the beginning of this weekend.

What's next for Natra

I will integrate Firebase Realtime Database with Natra in order to give users a new tip everyday and track their progress. After doing that and fine tuning the app, I hope to publish it to both the Google Play Store and the App Store because I think it can make a real change!

Built With

Share this project:

Updates