💻 Domain Name
goodgrub.tech (registered with domain.com)
💡 Inspiration
For years I have needed to watch my diet closely to deal with medical issues. It was boring, time consuming and difficult to keep track of, for this reason I decided to build GoodGrub - the way to keep track of your meals in a rewarding and simple, routine manner!
I am also aware of other benefits a piece of software like GoodGrub could provide for people around the world. Many people are self conscious due to their weight and body image, GoodGrub's meal tracking would allow them to better track their eating, and with the reward of Hedera TinyBars, they would be more likely to want to. There is also a large portion of the population that
👷♂️ What it does
GoodGrub offers a solution to tracking your food intake - allowing you to log each meal you eat.
It may sound simple but GoodGrub takes a twist on a traditional food diary, making it a simple, no-nonsense, consistent and rewarding experience.
GoodGrub Supports logging in with Google - this makes it simple to login easily and get started, with no additional setup necessary! It also has a very simple easy to use interface to support easy logging of meals, making it accessible to all. Every meal logged provides an incentive to keep using GoodGrub - you get 3 Hedera TinyBar with each meal logged and it takes 0 extra effort from the user. GoodGrub generates a Hedera account for the user and assigns it to them - meaning that they don't have to do anything more than log their diet to earn the incentive - an important step to making the platform accessible to all.
GoodGrub is free - this is seen throughout all features and makes it accessible to all, meaning it is easy for anyone to keep track of their diet.
The strength GoodGrub truly has is allowing users to track their feelings alongside their meals - this allows users to notice patterns in how different foods affect their health, both physically and mentally. This feature will allow for people to improve their future's, being able to easier identify patterns early on and therefore reduce the affects of their diet on their health.
📑 TL;DR
- Login with google for easy onboarding
- Log your diet simply and consistently
- Log feelings alongside meals to identify the affects of diet on health
- Get rewarded with Hedera TinyBars with every meal logged
- Accessible UI and feature-set to make it open to all
- Free with no paid extras to make accessible to everyone
❓ How I built it
I used NextJS to build GoodGrub, allowing for me to build the web application simply and quickly. I used the Hedera JavaScript SDK to integrate with the Hedera API and provide rewards through Hedera to users upon logging their meals. I used Supabase to allow for Google Authentication Login. I used GitHub throughout the development of GoodGrub to help me fix bugs, being able to rollback to previous commits at any point!
💾 Technologies:
- NextJS
- Supabase
- Hedera SDK
- Git
- React
🚀 Use of Sponsor technology
Hedera
I added incentives to using GoodGrub regularly by allowing users to earn Hedera TinyBar every time they log a meal. This makes GoodGrub different to other traditional food diaries as it introduces a reason to log every meal, not just the good ones! GoodGrub creates each user a Hedera account which is used to credit them with TinyBar for their usage - they are then given their ID and balance whenever they visit the dashboard.
GitHub
I used GitHub to manage my code and give me an option to rollback if I needed to!
Fidelity
Fidelity are looking for accessible hacks and GoodGrub is designed to be exactly that. The simple UI makes it easy for anyone to use. Login with google saves the difficulty of remembering more passwords and allows an easy way in. There is not account setup beyond logging in, making it a really smooth experience.
Domain.com
I registered GoodGrub.tech with Domain.com
⚡ Challenges I ran into
When integrating the Hedera SDK I ran into a few different challenges. I learned new things in NextJS when working out how to get the necessary data from Hedera to show the TinyBar balance on the webpage with every reload. I faced many errors trying to use different React Hooks but eventually worked it all out and exported it separately!
I also faced a challenge using Google Authentication, making the authentication work across pages. I eventually discovered Supabase's Auth Helpers which enabled me to configure an easy piece of context to use within _app.js
to keep the user authenticated no matter what!
Issues were once again faced when trying to configure state for the meal log form - however looking back at tutorials I had learned React from, I was able to easily go back and correct my mistakes and get everything working.
My CSS was behaving unexpectedly at many points, not filling widths, etc. I was able to solve this after playing around in dev tools for a while.
🌈 Accomplishments that I'm proud of
I am extremely proud of how well I was able to problem solve.
I was able to fix long-lasting bugs within both my integration of Google Auth with Supabase and the Hedera SDK. These bugs were difficult to solve but I was able to keep going and eventually solve them, completing the creation of a great, helpful and future full product.
👨🎓 What I learned
I learned a lot throughout this project.
I learned about integrating and using the functionality of the Hedera SDK for JS - something that is very powerful for use in future projects as well as this one, being able to offer a token as an incentive here and as a payment option in others.
I also learned a lot more about NextJS and React - figuring out how to get data into a page on every load from an SDK, exporting it separately and passing it in as props.
Learning is a key part of every hackathon and there sure was no shortage of it, I learned a lot about SQL and databases when using Supabase - I managed to successfully integrate auth and link it dynamically to a profiling table where I store an array of logs for every user along with their user id and hedera ID and other important profiling data.
📅 What's next for GoodGrub
I would like to eventually add a recipe store that users can spend their Hedera TinyBars on, allowing users to better their diet with better recipes along with their logs on GoodGrub.
Built With
- git
- github
- hedera
- javascript
- nextjs
- supabase
Log in or sign up for Devpost to join the conversation.