AsianBot

By Andrew Chen

💡 Inspiration

Students gaming Caption: Students playing games when they are supposed to be doing homework Planning Caption: My initial planning & idea for AsianBot

Gaming during class and homework time is quite the problem at Tyee Middle School. I personally am fed up with Oh, we had homework last night? and I did this at 3am yesterday because I was gaming. These days, students simply don't care much about homework, an essential part of education. As some teachers have complained, students nowadays are used to giving the bare minimum that will hold up their grades.

🤔 What it does

At least at Tyee, there is the cultural stereotype of Asian parents are extremely strict and will mercilessly punish students for not getting straight 100% A's. Although this is obviously untrue, I felt it would be humorous and effective to combine this with an educational website like Google Classroom to motivate students to do homework to make AsianBot. AsianBot essentially acts as a "virtual Asian parent," using techniques to motivate you into doing homework. Examples include emailing your parents and playing an irksome noise when a student leaves the tab when on a homework assignment. Feel free to explore the features!

⛏️ How we built it

AsianBot is built using an HTML-CSS-JavaScript (with jQuery) paired with a Python Flask backend server. In this project, I experimented with Flask's built-in templating engine (Jinja2), something that's quote new. Although I didn't implement a signup system due to the time limit, I used JSON Web Tokens (JWTs) for secure authentication, something that is fairly new to me. In order to synchronize data across my local development environment and the production server, I used Google Firebase's Realtime Database.

⛰️ Challenges we ran into

Time was a big issue with this project. At the start, I had a lot of ideas in mind for features, but I was only able to get so many in on time. Furthermore, a key feature of AsianBot is the Email Home. At the start of the project, I assumed it would be pretty easy to implement, but it ended up taking over 2 hours with an unsatisfactory result. I simply couldn't get anything to work, so I ended up resorting to an API in the interest of time. Regardless, I'm happy it still works.

😎 Accomplishments that we're proud of

This project was definitely overambitious. I thought there was going to be a large chance that I would not finish this in time. I'm quite surprised and proud that I managed to pace myself to finish in time. Furthermore, although not related to programming, I am quite proud of making the video at the top of this page. This was only the second time I've made a video and the first for something not for school. I'm definitely proud of the editing and the humor.

📚 What we learned

I took this project as a time to explore new concepts like JWTs, programmatically emailing (though unsuccessful), and Jinja2. Furthermore, I learned through the rough time limit that a hackathon project is meant to be a rough prototype, instead of a polished application. This will definitely help me in future hackathons, for I will be more focused on getting the basic features in instead of scrambling for perfection.

🌇 What's next for AsianBot

This is a project that I am willing to continue after the hackathon is over. This project is more or less a buggy prototype that has not been raised to its full potential. After the hackathon is over, I would like to bring this project up to its full potential! For example, I will actually implement a sign-up feature.

Built With

Share this project:

Updates