Brain Fit is an interactive web application designed to train short-term memory and cognitive focus through two dynamic games:
๐ง Visual Memory
๐ข Number Memory
Users can log in with just a name or email, track their best performances, and enjoy real-time feedback.
The project is built using HTML, CSS, and JavaScript.
Live Site:
๐ https://sori678.github.io/Brain-Fit/
GitHub Repository:
๐ https://github.com/Sori678/Brain-Fit
- Project Overview
- Strategy
- Target Audience
- User Stories
- Design
- Features
- Future Features
- Technologies Used
- Testing
- Data Model
- Deployment
- Cloning the Repository
- Acknowledgements / Attribution
Brain Fit challenges users to memorize patterns and numbers while tracking their best scores.
User accounts require only a name or email, and all progress is saved using LocalStorage.
The interface is lightweight, responsive, and accessible across all devices.
The purpose of this project is to help users improve memory and concentration through short, engaging brain-training exercises.
The structure encourages repeated play and reward through progressive difficulty and score tracking.
- Students wishing to improve cognitive performance
- Users who enjoy memory games
- Anyone looking for simple brain-training activities
- As a user, I want to start a game easily so I can play without confusion.
- As a user, I want minimal login steps so that I can quickly begin.
- As a user, I want to track my best scores to monitor progress.
- As a user, I want immediate feedback after each round.
- As a user, I want the app to be responsive and accessible on all devices.
- Light, minimal background
- Blue accent colours
- Feedback indicators:
- Green = correct
- Red = wrong
- Yellow = warning
- Open Sans โ main UI font
- Bitcount Grid Single โ digital-style headings
- Header navigation
- Main gameplay section
- Scoreboard panel
- Authentication modal
- Footer
- Highlights a random sequence of squares
- Grid expands every 7 levels
- User repeats the pattern
- Lives system provides fairness
- Top 3 scores saved via LocalStorage
- Displays a number briefly
- Each level adds more digits
- User must type the exact number
- Top 3 scores saved for each user
- Requires only name or email
- User remembered automatically (LocalStorage)
- Displays top 3 scores for both games
- Shows highest level reached
- Highlights current user
- Works on all screen sizes
- Fluid layout and buttons
- Semantic structure
- ARIA attributes
- Keyboard navigation support
- Online global leaderboard
- Sound effects
- Difficulty settings
- Player avatars and profiles
- Score export/import
- HTML5
- CSS3
- JavaScript (ES6)
- LocalStorage API
- Google Fonts
- Font Awesome
- Git / GitHub
- GitHub Pages
- W3C Validators, JSHint
| Language | Validator | Result |
|---|---|---|
| HTML | W3C Markup Validator | โ 0 errors |
| CSS | W3C Jigsaw | โ 0 errors |
| JS | JSHint | โ no major issues |
| Feature | Expected Result | Outcome |
|---|---|---|
| Login Modal | Blocks gameplay before login | โ Passed |
| Visual Memory | Pattern displays correctly | โ Passed |
| Number Memory | Digits increase each level | โ Passed |
| Scoreboard | Shows top scores | โ Passed |
| Reset buttons | Restart level 1 | โ Passed |
| Error Handling | Feedback messages work | โ Passed |
| Responsive Layout | Functional on all devices | โ Passed |
| Accessibility | Works with keyboard navigation | โ Passed |
The player data structure stored in LocalStorage:
{
"email:john@example.com": {
"id": "email:john@example.com",
"name": "John",
"records": {
"visualMemory": { "highLevel": 7, "top": [7, 6, 5] },
"numberMemory": { "highLevel": 5, "top": [5, 4, 3] }
}
}
}The project was deployed using GitHub Pages.
- Open the repo:
https://github.com/Sori678/Brain-Fit - Go to Settings > Pages
- Under Source, select:
- Branch:
main - Folder:
/root
- Branch:
- Click Save
- GitHub generates the live link:
https://sori678.github.io/Brain-Fit/
Clone the repository:
git clone https://github.com/Sori678/Brain-Fit.git
Then open index.html in your browser.
git clone https://github.com/Sori678/Brain-Fit.git
External resources used:
- Google Fonts โ typography
- Font Awesome โ icons
- MDN Web Docs โ documentation for JavaScript behaviour
- StackOverflow โ conceptual help (no direct code copied)
- YouTube tutorials โ inspiration for memory game mechanics (no code copied)
All HTML, CSS, and JavaScript code in this project was fully written by me.
No external code has been copied without attribution, in accordance with Code Instituteโs academic integrity policy.






