The problem that is facing online classrooms today is that students are lacking attention. Also teachers are having trouble finding out what the best way to regain that attention is. One humorous example is Weschler complaining that a student’s ‘attention span was lacking and the student would keep running outside to get chickens’. Many examples such as this exist and we’ve seen it in our online classrooms as well. Current solutions require the teacher to be paying attention to the students’ screens, which is not always possible to do in the middle of a lesson. Also, to get the attention of the student back, class must be interrupted which wastes a lot of time. Some other solutions for this use pictures or require video to be watched again. Seeing these problems on a day to day basis inspired us to make a solution.

What it does

To keep the load off of the teachers, we present to you FaceAnalyzer, a web application that utilizes Affectiva, a cross-platform real-time face recognition toolkit. Affectiva is used to analyze the students' face and provide real-time statistics of their mood and attention. In the end, they also receive more statistics such as their overall distraction time, and average happiness. FaceAnalyzer's main function is that it plays a sound when the student is not looking at the screen. This alerts the student to get back on task and pay attention to the teacher.

How I built it

We used Javascript and HTML along with the Affectiva library to build this application. Affectiva provides lots of data, so we had to carefully select the ones that we wanted and had to present it to the user in a presentable way where they wouldn't be overloaded with information.

What I learned

We learned how to use external libraries and basic HTML and Javascript from our knowledge of Java to create this web application.


We tried to utilize Google App Engine to automatically make it scalable for the growing usage of servers and students so that there wouldn't be too much load on any one client machine. But we had trouble trying to get it to work, so we had to save this idea for future extensions.

What's next for FaceAnalyzer

The current FaceAnalyzer is a proof of concept as we did not have enough time to extend it further. This can be built on by creating a server to communicate between the teacher and student so that the teacher receives updates when the student is not paying attention. Also, we were planning on using Google App Engine to host the servers and connect the teacher with the student. The advantages of Google App Engine are that it automatically expands to meet the growing usage of servers and it allows there to not be too much load on any one client machine.

Built With

Share this project: