Slack was designed to be used in the workplace, and it has completely changed the way coworkers interact and perform work in the virtual office.

We wanted to bring some of that magic into the classroom.

What it does

Pupil is designed to augment the teacher’s classroom and aims to make the teacher’s life easier in everything s/he does in the classroom. By delegating some for their work to an intelligent bot, teachers would be able to keep the class more attentive and engaged by utilizing realtime feedback tools and analytics. With Pupil, Slack would be the teacher’s top companion while teaching in the classroom.

Here's the full feature list:

  • /anon [question] Asking questions anonymously to the teacher

Sometimes students get lost during class and they would like to ask a question back to the teacher but they don’t because they are shy or fear being called out for asking a bad question. Pupil solves this by allowing any student to post an anonymous question at anytime. Anonymous questions are sent as private DMs to the teacher for them to address immediately.

  • /randomgroups [size] Automatically create private groups among the students with a predefined size

Let’s imagine it’s the first day of lecture and everyone in this biology class has already settled into the lecture theater and they’ve logged into our Slack team. The first thing the teacher would like to do for the first class would be to randomly group everyone in class into equal groups of 4s. Pupil provides a convenient method to assign random groupings automatically.

  • /classfeedback Gathering feedback about the pace and difficulty of the class

Teachers can use this command to quickly check with the class if everyone is following the lecture adaquetly. For example, we are 1 hour into our 2 hour biology lecture right now and the teacher would like to quickly check in with the student to see if they have any quick feedback on the pace of the class.

  • /askquestion Launching quick questions to the students with result collation.

Pupil can also be used by the teacher to launch really quick polls. Teacher types /askquestion 3 Why is sky blue? 1. Because 2. After 3. Then and this question would be DMed to all students and the results would get collated and posted in #general with relevant pie charts.

  • /stats Statistics and gamification

The teacher can get an idea of how well each student is participating in class by referring to the points system built with Clusterpoint in the backend. All of the student's activities (messages, answers, questions asked) are tracked by the bot and points are given out as activity increases. /stats will provide a quick overview of the activity in the class.

All messages are also logged into a Clusterpoint database for analytics.

  • WolframAlpha integration.

The bot is also hooked up to the WolframAlpha engine to provide instant computation help for students.

  • /emailblast Making email announcements directly from Slack.

Pupil even has email integration. For example, when the teacher announces a new assignment to the class, they can write a new email immediately from Slack with the /emailblast command. We’ve designed Pupil to be the one stop place for everything the teacher needs to do in class.

How we built it

Built with

  • node.js
  • node-slack-client
  • express
  • Slack, Clusterpoint, WolframAlpha APIs
  • Singaporean Chicken Rice

Deployed on a DigitalOcean instance with GitHub webhooks for continuous deployment.

What's next for Pupil

Share this project: