Inspiration
A large office consisting of thirty or more employees can become a chaotic environment if not well managed. Lack of systematic workplace collaboration systems can lead to low company morale and increased stress levels.
Extensive bureaucratic management styles can help mediate the chaos and bring order to an office even with a large number of employees by systematically conducting meetings and such.
However, micromanagement and excessive restrictions can hinder creativity and therefore innovation.
We tried to develop a product that can help bring some order to the chaos of the office while also providing a platform where everyone has a voice. We wanted to do all of this while also not creating barriers to individual creativity.
Enter Alfred - A personal chatbot that helps everyone stay on schedule and on top of their work game by answering any workplace questions they might have.
Alfred can help make a manager’s life much easier, allowing them to focus on getting work done leading the team rather than focusing on mundane tasks such as setting up meetings according to everyone’s schedules, collecting daily stats from everyone and coordinating with IT to fix everyone’s malfunctioning printers, for instance.
What it does
Alfred is a messenger chatbot, a personal assistant catered to the needs of every employee of the office that it’s setup for. Alfred initially needs to connect to the company employees’ database to gather information on everyone’s roles and schedules in the office.
The chatbot will presumably also have access to the company’s policy info, so that it can answer relevant questions. The bot acts as a secretary, scheduling meetings and maintaining reminders on your behalf. It also acts as your very own personal HR manager, so you can ask about your payments, bonuses, holidays and various company policies, all without having to leave your comfy desk.
Alfred provides personalized answers to all these questions so you can freely ask how much you’re getting paid this Christmas as many times as you want without getting judgmental looks from “HR Toby”.
The bot also provides a portal for submitting anonymous employee complaints to HR.
Furthermore, the bot can help report stats and info to a manager on a regular basis. This can be useful in sales for instance, where an employee might have to submit daily sales reports to their managers. Finally, Alfred can provide answers to basic questions regarding IT, Company Finance, HR policies and employee training.
How we built it
We used the messenger platform to host the chatbot. Various features such as WebViews, Templates and Messenger Profile API helped our bot to be more dynamic and personalized. We also used the Handover Protocol API to allow users to get help from a human for more complex tasks. We hosted our message response server on Heroku. We used AWS DynamoDB for maintaining the company database. For natural language processing, we used wit.ai.
Challenges we ran into
Learning about the messenger platform and how it all tied together with our response web server Careful thought had to be put in the designing of the flow of conversations of the bot. Since the bot has a modest amount of features, tying it all together in an intuitive flow was a significant challenge We also had to spend quite some time on features such as reminders, where we had trouble setting up the WebViews properly.
Accomplishments that we're proud of
One feature that we’re proud of is the complaint submission feature. We believe it’ll empower employees to stand up for their rights since it removes the awkward barrier of physically obtaining a form and submitting it to HR or sending an email that isn’t anonymous.
This is the first time we’ve developed for the facebook messenger platform on such a large scale. We’re proud that we’ve taken the time to learn it successfully and build a fully functioning and utilitarian chatbot from the ground up
What we learned
We learnt a great deal about the messenger platform. We also learned about NLP on wit.ai and how we can implement fully functioning NLP models for various applications.
We learnt about good chatbot design principles through feedback from various peers after using our chatbot and also articles on messenger’s documentation online
What's next for Alfred
There’s a lot of features we wanted to implement but couldn’t due to lack of time. Some of these are:
Ability to schedule interviews with potential candidates who’re applying for vacant jobs in the company. It can ask candidates about commonly asked interview questions and record their responses to save interview time.
Start team projects involving shared tasks with task splits between involved members, all managed by Alfred.
Adding time based to-do lists and functionalities for the bot to send a notification to the attendees a few minutes before any scheduled meetings
More extensive natural language support for existing functionalities.
Answering customer service questions from customers of the company’s services/products to save Customer Service staff’s time on basic questions.


Log in or sign up for Devpost to join the conversation.