In mid-March, I participated in the Facebook Hackathon: Messaging 2020, one of the trio of Facebook’s online hackathons hosted on Devpost which are open to developers of all ages. I signed up individually with the intention of building and learning something new. 

I decided to work on an AI-powered interactive messenger bot which allows one to click pictures of textual material and then generate a quiz based on that which can either be taken live or be mailed as a question paper with the answer key. The intention was to not only provide users with a safe and convenient environment to revise their coursework but also to allow for educators to effectively utilise the tool. With little time left to submit a solution, and the idea narrowed down, I spent the last day and a half coding up the solution. Nearly 2000 registrations made winning seemed like a far fetched idea but nevertheless, I was keen on giving it my best shot. In the bot I wrote, Node.js does most of the heavy lifting to provide an interactive experience and a bunch of other APIs to churn out the questionnaire. The platform works using webhooks, ie, any event such as a message from a user automatically triggers a HTTP request to the configured bot server. Now the challenge lies in the process of maintaining the state of a given user otherwise it would not be possible to “carry on” the conversation which can get quite tedious. Also, I used UI components like buttons to make the experience hassle-free. Graceful error handling is also something I focused on to make the interaction more humane and to not let any server or client-side mistakes to unexpectedly interrupt the process. Having never worked on the Messenger platform and being relatively new to web development, it was quite challenging yet exhilarating to get everything working end to end. I picked up on lots of minute technicalities involved in it on the way. With the clock ticking away, I hurriedly completed my submission application a mere few hours before. A few days later, I was over the moon when I found an email that said I had been declared the winner of the hackathon. The submission can be found here. Winning can indeed be lucrative but above everything, the knowledge and skills I picked up on the way were what I valued the most from the experience.