AI-Powered Learning Community Platform
MindMesh is a Next.js application that connects learners with study partners using AI-driven matchmaking. Join communities, set learning goals, and find accountability partners who share your interests and learning objectives.
- Intelligent Partner Matching: AI analyzes your learning goals and matches you with compatible study partners
- Community-Based Matching: Find partners within specific learning communities
- Direct Messaging: Connect with anyone through user search and direct match requests
- Join Learning Communities: Browse and join communities focused on different topics (Full Stack, Leadership, AI/ML, DevOps, etc.)
- Create Communities: Start your own learning community
- Community Goals: Set and track learning goals within each community
- One-on-One Messaging: Chat with your matched study partners
- Polling-Based Updates: Currently uses polling for real-time message updates
- Match Management: Accept or decline match requests
Note: Chat currently uses polling for updates. WebSockets and group chat functionality will be implemented in future releases.
- Learning Stats: Track your active matches, pending requests, and learning goals
- Quick Access: Easy navigation to communities and conversations
- Powered by Clerk for secure user authentication
- Support for multiple sign-in methods
- Framework: Next.js 16 (App Router)
- UI Library: React 19
- Styling: Tailwind CSS 4
- Components: shadcn/ui + Radix UI
- State Management: TanStack Query
- Forms: React Hook Form + Zod
- API: Hono (lightweight web framework)
- Database: PostgreSQL with Drizzle ORM
- Authentication: Clerk
- AI: Vercel AI SDK with Google Gemini
- Runtime: Bun
- Language: TypeScript
- Linting: ESLint
- Bun installed
- PostgreSQL database
- Clerk account for authentication
- Google AI API key (for AI matchmaking)
-
Clone the repository
git clone <your-repo-url> cd mind-mess
-
Install dependencies
bun install
-
Set up environment variables
Create a
.env.localfile in the root directory:# Database DATABASE_URL=your_postgresql_connection_string # Clerk Authentication NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up # Google AI (for matchmaking) GOOGLE_GENERATIVE_AI_API_KEY=your_google_ai_key
-
Set up the database
# Generate migration files bun run db:generate # Run migrations bun run db:migrate # (Optional) Seed with sample data bun run db:seed
-
Run the development server
bun run dev
-
Open your browser
Navigate to http://localhost:3000
bun run dev # Start development server
bun run build # Build for production
bun run start # Start production server
bun run lint # Run ESLint
# Database commands
bun run db:generate # Generate Drizzle migrations
bun run db:migrate # Run migrations
bun run db:push # Push schema changes
bun run db:studio # Open Drizzle Studio
bun run db:seed # Seed database with sample datamind-mess/
├── app/ # Next.js app directory
│ ├── (main)/ # Main app routes
│ │ ├── chat/ # Chat pages
│ │ ├── communities/ # Community pages
│ │ └── dashboard/ # Dashboard
│ ├── api/ # API routes (Hono)
│ └── server/ # Server-side logic
├── components/ # React components
│ ├── ui/ # shadcn/ui components
│ └── communities/ # Community-specific components
├── database/ # Database schema and migrations
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
└── public/ # Static assets
The AI matchmaking system uses Google's Gemini model to:
- Analyze user learning goals and interests
- Compare compatibility between users
- Generate match recommendations based on:
- Learning objectives alignment
- Skill level compatibility
- Community overlap
- Availability preferences
-
Free Tier:
- Join 1 community
- Set 1 learning goal
- 2 AI match requests
-
Pro Tier:
- Unlimited communities
- Unlimited learning goals
- Unlimited AI matching
- WebSockets Integration: Replace polling with real-time WebSocket connections
- Group Chats: Multi-user chat rooms within communities
- Video Calls: Integrated video chat for study sessions
- Calendar Integration: Schedule study sessions
- Progress Tracking: Detailed learning progress analytics
- Mobile App: Native iOS and Android applications
Contributions are welcome! Please feel free to submit a Pull Request.
This project is private and proprietary.
- Built with Next.js
- UI components from shadcn/ui
- Icons from Lucide
- AI powered by Google Gemini
Made with ❤️ for learners everywhere