In our Chinese class, our teacher began using a gridded paper or "stamp card" to mark off each time we answered a question or participated in class. The idea was to require 30 stamps or times we participated each month for full participation credit. Although the class was wary about having participation requirements, the stamp card quickly became a great method of increasing participation and even inadvertently created competition between classmates to achieve the most stamps. I realized that the tangible progress made in the class and the ability to compare it with others was adding a game-like component to learning and participating, even if only with stamps and a piece of paper! Stampify is inspired by this experience and is meant to push the game paradigm further into the classroom to increase engaged learning.

What it does

In a non-intrusive way, Stampify allows students to login to a simple screen where it shows a simple grid that collects stamps or stickers over time at the teacher's discretion. The teacher-facing side of the application allows for an easy way to tap to add a stamp to students' cards to mark off their participation. A leaderboard is shown throughout for top participation that day, week, or all-time as students participate in class to meet their required quotas set by the teacher (currently not able to change quota, update coming soon that will change this). In this way, Stampify is intended to augment classroom learning rather than replace it - it is not an online learning application.

How I built it

Stampify is built entirely with JavaScript, with frontend and backend parts communicating with WebSockets to make the "stamping" live-updating. A Node backend handles persistent data by taking WebSocket events and syncing them to a Parse database, where student information and scores are stored.

Challenges I ran into

One of the issues I faced while building Stampify was making sure that the data sent by the teacher was consistently being pushed out to students. I am currently considering switching to Firebase or GunDB to make it an easier, more integrated solution to sync and store the data while handling exceptions like Internet downtime.

Accomplishments that I'm proud of

I am proud of the fact that I built the entire application without much need to learn new frameworks or technologies, since I was already familiar with working with Socket.IO and Parse's database API. I am also hoping that this can be used in classrooms soon to stimulate real participation!

What's next for Stampify

An idea to take Stampify further is to create a teacher's mobile application that utilizes augmented reality and facial recognition to overlay the current students' scores above their faces and the ability to assign scores just by pointing and tapping on their face. There are also more game-like mechanics that you can implement with the score systems of Stampify, and I hope to continue to update it to make it even more engaging and fun.

Share this project: