Overview of My Submission
When this hackathon opened, I was ploughing through the excellent book Atomic Habits by James Clear.
Good habits are key for us to build happy lives and, conversely, bad habits can ruin them. But good habits are hard to build and bad habits hard to break - seems like we need a helping hand.
The purpose of this hackathon entry was to build a helpful chatbot to coach you through building or breaking habits. Habot (your friendly habit-bot) will keep you on track, monitor your progress and give you helpful advice when you begin to falter - all a little "tongue in cheek" of course.
https://habot.azurewebsites.net/
Let's take a look at some of the key features of Habot:
1. Single Signon with Outlook Credentials
Using your Outlook OAuth credentials you can easily sign up with Habot, and it'll greet you by name and with a smile.
2. Creating your first habit
The first thing you'll be asked to do once you log in is to create a habit.
Habot is intelligent, and can infer one of a number of habits from what you say. For example, it can understand that "I want to begin going to the gym" is the same as "I want to start exercising more".
Once your habit is confirmed, you'll get a cheery dance until next time.
3. Check-in and Progress
Each day you'll need to check in with Habot (I had hoped to use push notifications here, but alas no spare time). When you check in, Habot will keep track of your metrics.
Habot will also give you charts to more clearly demonstrate your progress. It also has emotions, so will feel a little sad if you aren't doing as well as hoped.
4. Getting Help
If you're having a hard time keeping up with your habits, Habot has some advice for you depending on the problem that you're facing.
Habot will also show you inspirational videos to help you get back on track.
Submission Category:
Wacky Wildcards
Link to Code on GitHub
Additional Resources / Info
The project has a number of parts to it, and is built with the following technologies:
The Azure Bot Framework, to drive the chatbot.
A Vue.js application for the UI, with the web-chat control built in.
A Rust with Rocket backend to collect metric information and build charts.
Azure CosmosDB (Mongo flavour) to store metric information.
Top comments (0)