Inspiration

BrainCheck was inspired by the realization that our typing patterns change as we become mentally fatigued. I wanted to create a tool that could help people monitor their cognitive state in a simple, privacy-friendly way—using only their keyboard, without the need for wearables or invasive tracking.

What it does

BrainCheck analyzes your keystroke dynamics in real time to predict whether you are alert or fatigued. It provides instant feedback, visual explanations of the model’s decisions, and lets users track their results over time. There’s also an optional research mode to contribute anonymized data for science.

How we built it

The project uses a FastAPI backend to serve a trained RandomForestClassifier, which predicts fatigue based on features like dwell time, flight time, backspace count, and total typing duration. The frontend, built with Next.js, captures typing data, communicates with the backend, and displays results and explanations to the user.

Challenges we ran into

We faced challenges with noisy and highly individual typing data, ensuring the model generalized well, and providing real-time, low-latency feedback. Making the model’s predictions explainable and user-friendly was also a key hurdle, as was coordinating deployment across both frontend and backend .

Accomplishments that we're proud of

We’re proud of building a fully functional, privacy-conscious app that gives users actionable insights into their mental state. The integration of explainable AI and real-time feedback, along with a smooth user experience, are accomplishments we value highly.

What we learned

This project deepened our understanding of keystroke dynamics, machine learning deployment, and fullstack development. We learned how to balance model accuracy with user experience, and how to make AI predictions transparent and accessible.

What's next for BrainCheck

Next, we plan to improve the model with more diverse data, add personalized baselines for each user, and expand the app’s features—such as mobile support and more detailed analytics. We’re also interested in collaborating with researchers to further validate and enhance BrainCheck’s capabilities.

Built With

Share this project:

Updates