A journal for mental strength training
This is a personal project based on the research and methodologies of Dr. Craig Manning, Sports Psychologist and Mental Strength Consultant. A huge part of improving mental strength and performance comes from paying attention to thoughts and mental patterns. Improvement also comes from focusing on relavent cues—two to three word phrases—that embody a physical or mental skill.
Headboard is a journal for planning, recording, measuring and tracking these thoughts and cues.
I did not conduct the research that lead to this practice, but I have benefitted from keeping a similar journal on paper and wanted to create an application that would make this process seamless, enjoyable, and insightful.
- React
- HTML5
- CSS3
- JavaScript (ES6)
- Redux
- GitHub
- Node JS
- Express
- MongoDB
- Webpack
- Babel
- ChartJS
I started this project by creating a low-resolution wireframe in Figma to plan out the general layout of the app and the Frontend routes the app would require. I then added additional layers of complexity (typography, color, layout) to reduce the time I would need to spend fussing with those things during the building phase.
Since this project was meant (at least in part) to be a learning exercise, and since I have worked exclusively with relational databases in the past, I chose MongoDB—a noSQL, document-based database—as my database.
I'm really pleased with the the simple way I implemented visualizing the individual and summary performance data. That can be hard to do in a way that is both simple and interesting and I think I nailed it.
Additionally, I'm really happy with the experience I gained with MongoDB and writing APIs.
If I was to build this app again, I would focus on ways to make repetitive tasks less repetitive.
For example, writing the same goal each and every day is a repititive task. If I were to implement an autocomplete feature that would suggest goals based on frequently used past goals I believe that would dramatically improve the recording process.
I would also put more time and thought into ways to use collected performance data to offer insights and recommendations for how the user could improve or things to watch out for.