AI-Powered Learning Companion Platform - Transform your learning experience with personalized AI tutors for various subjects.
- Voice Interactions: Real-time conversations with AI tutors using VAPI
- Multiple Subjects: Mathematics, Economics, Coding, Science, History, Language
- Personalized Learning: Adaptive AI responses based on your learning style
- Session History: Track your learning progress over time
- Custom Companions: Create personalized AI tutors for specific topics
- Session Tracking: Monitor learning time and progress
- Transcript Downloads: Export learning sessions as professional PDFs
- Bookmarking: Save favorite learning companions
- Responsive Design: Optimized for desktop, tablet, and mobile
- Real-time Feedback: Live transcription during voice sessions
- Progress Analytics: Detailed learning journey tracking
- Plan-based Features: Tiered access to premium functionalities
- Next.js 15.3.4 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- React Hooks - Modern state management
- Lottie React - Animated interactions
- Supabase - Database and authentication backend
- Clerk - User authentication and management
- VAPI - AI-powered voice interactions
- Sentry - Error monitoring and performance tracking
- ESLint - Code linting
- PostCSS - CSS processing
- Zod - Schema validation
- React Hook Form - Form management
- Node.js 18+
- npm or yarn
- Git
git clone https://github.com/Sebastian-Rothe/learn-with-ai.git
cd learn-with-ainpm installCreate a .env.local file in the root directory:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
# Clerk Custom Routes
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_FALLBACK_REDIRECT_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_FALLBACK_REDIRECT_URL=/
# Supabase Database
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
# VAPI Voice AI
NEXT_PUBLIC_VAPI_WEB_TOKEN=your_vapi_token
# Sentry (Optional)
SENTRY_AUTH_TOKEN=your_sentry_tokennpm run devOpen http://localhost:3000 to view the application.
learn-with-ai/
βββ app/ # Next.js App Router pages
β βββ companions/ # AI companion management
β βββ my-journey/ # Learning progress tracking
β βββ datenschutz/ # Privacy policy (German)
β βββ impressum/ # Legal notice (German)
β βββ api/ # API routes
βββ components/ # Reusable React components
β βββ ui/ # UI component library
β βββ ... # Feature components
βββ lib/ # Utility libraries
β βββ actions/ # Server actions
β βββ utils/ # Helper functions
βββ types/ # TypeScript type definitions
βββ constants/ # Application constants
βββ public/ # Static assets
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
# Deployment
vercel deploy # Deploy to Vercel- Connect your GitHub repository to Vercel
- Configure environment variables in Vercel dashboard
- Deploy automatically on every push
Ensure all environment variables from .env.local are set in your deployment platform.
- Clerk Integration: Secure user authentication with social logins
- Protected Routes: Middleware-based route protection
- Data Encryption: Secure API communication
- Privacy Compliance: GDPR-compliant data handling
- β Basic AI companions
- β Limited voice sessions
- β Basic progress tracking
- β Extended voice sessions
- β Transcript downloads
- β Advanced progress analytics
- β Unlimited voice sessions
- β Premium transcript features
- β Priority support
- β Advanced customization
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Privacy Policy:
/datenschutz(German) - Legal Notice:
/impressum(German) - GDPR Compliant: Full data protection compliance
- Email: mail@sebastian-rothe.com
- GitHub Issues: Report bugs or request features
- Next.js Team - Amazing React framework
- Vercel - Deployment platform
- Clerk - Authentication service
- Supabase - Backend infrastructure
- VAPI - Voice AI technology
Made with β€οΈ by Sebastian Rothe