As 4 high school students with Asian immigrant parents, we all know too well the strong emphasis that is placed on success in our studies. With the school year starting back up as well, we knew we had to get hustling again. We wanted to challenge ourselves by building a fun and interesting machine that would imitate some of the familiar, Asian tactics of discipline that we have gotten accustomed to throughout our lives.
What it does
In layman’s terms, we made a machine that yells at you or slaps you if you start losing focus or falling asleep while working, kind of like your immigrant mother.
Using a Brain-Computer Interface, we collect brainwave data and run it through a focus/relaxation machine learning model to determine a person’s level of concentration and alertness while they are working or in a study session. When it detects that they are losing focus, there are 2 different levels of increasing consequence that the machine will take:
- An insult yelled at them
- A slap in the face
The machine will simply yell at them first with an insult, bringing them back to alertness. After getting yelled at 3 times, they will receive a slap in the face.
To go along with this, we also created a web app with a fully functioning login page such that every user has their own account and dashboard where they can view their study sessions and see statistics such as their average attention span, most productive time, maximum time focused, and the number of slaps.
How we built it
We used a Brain-Computer Interface (BCI) to get brainwave data and the Brainflow python library to classify the signals using a machine learning model to determine the person’s level of focus. Because the electrical activity of the neocortex of the brain changes when we focus our attention, we’re able to determine how focused an individual is. Using this input data from the BCI, we then classify the signals using a focus/relaxation machine learning model from the BrainFlow python library. If it determines that they aren’t focused, it will play back one of the insults from our curated collection. For the slap on the 3rd time they lose focus, we simply send a command through the Arduino to a servo motor that rotates the arm.
Using python, we collect statistics from the study sessions, then send it to React to be viewable on the web app, which we made with Bootstrap. Essentially, Flask acts as the backend vehicle between our hardware and user interface. All the data including login credentials and stats are stored in a database as well, managed with SQLite, and the frontend fetches data from it via Flask.
Challenges we ran into
Some challenges we ran into included coordinating where we would meet up to build the project together, which proved to be quite difficult given COVID restrictions and limited spaces with good quality WiFi. We also had some trouble figuring out how to make the arm both firm enough so that the motor could rotate it, yet soft enough so that it would not cause any serious physical harm. In moving around so much, we also ended up losing one of the essential parts we needed, and had trouble finding a motor that could provide a strong enough force, so we had to scale down the size of our parts. We also encountered some troubles with connecting React to Flask and integrating React with Bootstrap.
Accomplishments that we're proud of
We’re proud that we were able to recognize each of our talents and put them together to make something unique, including BCIs, IoT, craftsmanship, AI, and web development. We’re mainly proud of the fact that we were able to learn skills that are transferable, given how powerful React is. Overall, we’re glad we chose something we wanted to build because we found it fun and interesting, as it really captured the essence of participating in a hackathon - the sheer joy of building something cool while learning new skills.
What we learned
We learned how to use React for our web app, how to connect React with flask, using React bootstrap, and databasing, which are skills we’re proud of gaining given their transferability.
What's next for My Immigrant Mother
We hope to add even more features to create a more interesting experience, including:
- Unlocking specific achievements through your study sessions
- Following different friends and seeing their stats
- Using computer vision to account for posture as well
- Using machine learning to create more personal attacks