Inspiration

Embarking on a new adventure is simultaneously exhilarating and frightening. Upon onboarding to the MCIT program, I was eager to learn as much as possible from students already in the program. When I noticed it was somewhat cumbersome to scroll through previous posts to find answers to questions, the idea for a chatbot struck. FAQBot can reduce redundancy and save time by enabling students to directly engage and obtain answers to Frequently Asked Questions.

What it does

FAQBot provides answers to common questions from new students.

How I built it

FAQBot was built with Slack API and Bolt, which uses Node.js. Using Glitch to host the project, bot interactions were coded with JavaScript.

Challenges

The initial project was a Java build that suffered a bug upon cloud deployment, and I could not properly engage the bot except for incoming webhooks. After three days of troubleshooting and trying to isolate the bug source, I began to consider submitting the project as-is (incomplete). However, I decided to switch to JavaScript using Node.js and was able to complete a Minimum Viable Product.

Accomplishments that I'm proud of

Completing my first software project

What I learned

Normally I wouldn't recommend brute force learning as a first choice, but I leaped blindly into the unknown to emerge with a completed project and new knowledge of multiple software development tools. This endeavor taught me a great deal about syntax and how to use IntelliJ, Node.js, Ngrok, Heroku, Apache Maven, and Spring Boot, none of which I ever worked with prior. I may have been able to resolve the first draft's bug issues had I been part of a team, and I plan to team up for the next hackathon. Moving quickly from Unconscious Incompetence to Conscious Incompetence in a matter of hours was a humbling experience, but it only solidified the desire to press forward on this engineering journey. [1]

What's next for FAQBot

Continue working on the bot until it has a robust library of knowledge, refine the code with code blocks, REGEX and other ways to aid in conversation flow. Finally, request acceptance into the Penn-MCIT Slack workspace for real-world use.

  1. 4 Stages of Competence
Share this project:

Updates