Daily brain games for memory and focus, with Supabase auth and procedurally generated daily content.
A modern, accessible brain training web application that helps users improve their cognitive abilities through engaging daily games. Built with Next.js, TypeScript, and Supabase for a seamless user experience.
- Memory Match - Flip and match pairs to improve visual memory
- Sequence Recall - Remember growing sequences to boost working memory
- Attention Grid - Spot the odd one out to enhance focus and attention
- Daily streaks and progress tracking
- Achievement system with unlockable badges
- Personal statistics and best scores
- Scientifically designed scoring algorithms
- Beautiful glassmorphism design with liquid glass background
- Fully responsive design for all devices
- High-contrast colors and large touch targets for accessibility
- Smooth animations and transitions
- Secure user authentication with Supabase
- Persistent user data and progress
- Server-side rendering for optimal performance
- Node.js 18+
- npm or yarn
- Supabase account
-
Clone the repository
git clone https://github.com/charaschoe/mindmender.git cd mindmender/mindmender-web -
Install dependencies
npm install
-
Set up Supabase
- Create a new project at supabase.com
- Copy your project URL and anon key
- Create
.env.localin the project root:
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
Database Schema: The project includes automatic database setup with:
- User profiles with XP and leveling system
- Game scores with automatic XP calculation
- Achievements system
- Social features (friends, challenges)
- Row Level Security (RLS) enabled for all tables
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
- Sign Up - Create your account to track progress
- Choose a Game - Select from three brain training exercises
- Play Daily - Each game generates new content daily
- Track Progress - Monitor your streaks, scores, and achievements
- Improve - Watch your cognitive abilities grow over time
- Next.js 15.5.3 - React framework with App Router
- TypeScript 5.0 - Type-safe development
- Tailwind CSS 4.0 - Utility-first styling
- React 19.1.0 - Latest React features
- Supabase - Backend-as-a-Service
- Supabase Auth - User authentication
- Supabase SSR - Server-side rendering support
- ESLint - Code linting
- Turbopack - Fast bundling (dev mode)
mindmender-web/
โโโ src/
โ โโโ app/ # Next.js App Router
โ โ โโโ (auth)/ # Authentication pages
โ โ โโโ dashboard/ # Main dashboard
โ โ โโโ games/ # Game pages
โ โ โโโ progress/ # Progress tracking
โ โโโ components/ # Reusable UI components
โ โ โโโ AchievementBadge.tsx
โ โ โโโ GameCard.tsx
โ โ โโโ GlassCard.tsx
โ โ โโโ LiquidGlassBackground.tsx
โ โ โโโ Sidebar.tsx
โ โโโ lib/ # Utility libraries
โ โโโ prng.ts # Pseudo-random number generator
โ โโโ scoring.ts # Game scoring algorithms
โ โโโ supabase/ # Supabase client configuration
โโโ public/ # Static assets
โโโ package.json
- Objective: Find matching pairs of cards
- Skills: Visual memory, pattern recognition
- Scoring: Based on time and number of moves
- Objective: Remember and repeat growing sequences
- Skills: Working memory, attention span
- Scoring: Based on sequence length achieved
- Objective: Find the highlighted square in a grid
- Skills: Focus, visual attention, processing speed
- Scoring: Based on accuracy and response time
MindMender is designed with accessibility in mind:
- High contrast colors for better visibility
- Large touch targets for easy interaction
- Simple instructions with minimal distractions
- Keyboard navigation support
- Screen reader compatible
- Push your code to GitHub
- Connect your repository to Vercel
- Add your Supabase environment variables
- Deploy!
The app can be deployed to any platform that supports Next.js:
- Netlify
- Railway
- DigitalOcean App Platform
- AWS Amplify
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Next.js
- Styled with Tailwind CSS
- Powered by Supabase
- Icons and emojis for visual appeal
If you have any questions or need help, please:
- Open an issue on GitHub
- Check the documentation
- Review the code examples
Happy Brain Training! ๐ง โจ
Made with โค๏ธ for cognitive enhancement and mental wellness.