Project Overview: Project documentation and setup instructions
Tether is an innovative AI-powered learning platform that combines personalized tutoring, mastery learning, spaced repetition, and AI-facilitated study groups. Our mission is to replicate the benefits of one-on-one tutoring (addressing Bloom's 2 Sigma Problem) while incorporating community-based reinforcement learning principles.
- Intelligent Chat System: Conversational AI tutor that adapts to your learning style
- Multi-Modal Learning: Support for text, voice, file uploads, and drawing/whiteboard
- Personalized Explanations: Adaptive responses based on your understanding level
- Subject Agnostic: Learn any topic with AI-generated tailored learning plans
- Smart Flashcards: Create your own flashcards with AI-powered suggestions
- Anki-Style Algorithm: SM-2 spaced repetition for optimal long-term retention
- Performance Tracking: Detailed analytics on your learning progress
- Bulk Operations: Import/export flashcards for efficient study management
- Smart Matching: Find study partners based on subject, skill level, and goals
- Real-Time Collaboration: Live group chat and collaborative problem-solving
- AI-Generated Prompts: Structured discussion topics and exercises
- Peer Teaching: Assignments that reinforce learning through teaching others
- Visual Dashboards: Charts and analytics showing your learning journey
- Achievement System: Badges and rewards for consistent effort and milestones
- Skill Trees: Visual learning pathways showing concept mastery
- Social Features: Share progress and celebrate achievements with the community
- No Barriers: Access all features immediately without creating an account
- Seamless Migration: Easy transition from guest to registered user
- Data Persistence: Your progress is saved and synced across sessions
- Frontend: React 18+ with Next.js 14+ and TypeScript
- Backend: Supabase (Database, Authentication, Real-time features)
- Styling: Tailwind CSS with custom design system
- State Management: Zustand for lightweight global state
- AI Integration: Cost-effective AI APIs with fallback systems
- Deployment: Vercel (recommended) or any Next.js-compatible platform
- Node.js 18+
- npm or yarn
- Supabase account (free tier available)
-
Clone the repository
git clone <your-repo-url> cd tether
-
Install dependencies
npm install # or yarn install -
Set up environment variables
cp .env.example .env.local
Fill in your environment variables:
# Supabase Configuration NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key # AI Provider Configuration (Primary: Gemini - Free!) NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key # Optional: Additional AI Providers for Fallback OPENAI_API_KEY=your_openai_api_key ANTHROPIC_API_KEY=your_anthropic_api_key HUGGINGFACE_API_KEY=your_huggingface_api_key
-
Set up Supabase
- Create a new Supabase project
- Run the database migrations from
supabase/migrations/ - Configure Row Level Security (RLS) policies
-
Set up AI Integration (Recommended)
- Get a free Gemini API key from Google AI Studio
- Add
NEXT_PUBLIC_GEMINI_API_KEY=your_key_hereto.env.local - Test the integration:
node scripts/test-gemini.js - See
AI_SETUP.mdfor detailed AI provider setup
-
Start the development server
npm run dev # or yarn dev -
Open your browser Navigate to http://localhost:3000
tether/
βββ app/ # Next.js App Router pages
β βββ api/ # API routes
β β βββ chat/ # AI chat API endpoint
β βββ (auth)/ # Authentication pages
β βββ dashboard/ # Main dashboard
β βββ tutor/ # AI tutor interface
β βββ flashcards/ # Flashcard management
β βββ groups/ # Study groups
β βββ progress/ # Progress tracking
βββ components/ # Reusable UI components
β βββ ui/ # Base UI components
β βββ chat/ # Chat interface components
β βββ flashcards/ # Flashcard components
β β βββ FlashcardLibrary.tsx
β β βββ FlashcardStudy.tsx
β β βββ index.ts
β βββ study-groups/ # Study group components
β βββ progress/ # Progress tracking components
βββ lib/ # Utility libraries
β βββ ai/ # AI integration system
β β βββ providers/ # AI provider implementations
β β β βββ gemini.ts # Google Gemini (Primary)
β β β βββ openai.ts # OpenAI GPT
β β β βββ anthropic.ts # Anthropic Claude
β β β βββ huggingface.ts # Hugging Face
β β β βββ ollama.ts # Local Ollama
β β β βββ fallback.ts # Fallback responses
β β βββ service.ts # AI service orchestrator
β β βββ tutorService.ts # Tutor-specific AI logic
β β βββ types.ts # AI-related type definitions
β βββ supabase.ts # Supabase client
β βββ types.ts # TypeScript definitions
βββ hooks/ # Custom React hooks
βββ stores/ # Zustand state stores
βββ scripts/ # Development and testing scripts
β βββ test-chat-api.js # Chat API testing
β βββ test-gemini.js # Gemini API testing
βββ supabase/ # Database migrations and types
βββ tasks/ # Development task management
β βββ prd-tether.md # Product Requirements Document
β βββ tasks-prd-tether.md # Implementation task list
βββ AI_SETUP.md # AI provider setup guide
This project uses the AI Dev Tasks workflow for structured development:
- PRD-Driven Development: All features start with a Product Requirements Document
- Task-Based Implementation: Features are broken down into granular, actionable tasks
- Iterative Development: One task at a time with review checkpoints
- Progress Tracking: Visual task completion and git commit integration
-
Start a new task:
# Reference the process-task-list.md file in your AI assistant Please start on task 1.1 and use @process-task-list.md -
Review and approve: Check each completed task before moving to the next
-
Track progress: Tasks are automatically marked complete and committed to git
# Test Gemini API integration
node scripts/test-gemini.js
# Test chat API with Gemini
node scripts/test-chat-api.js# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverage# Build the application
npm run build
# Start production server
npm start- Adaptive Learning: AI adjusts explanations based on your responses
- Learning Style Adaptation: Supports visual, auditory, kinesthetic, and mixed learning styles
- Multi-Provider Support: Primary Gemini integration with fallback to other AI providers
- Context Awareness: Remembers previous conversations and learning progress
- Subject Expertise: Handles any topic with tailored learning approaches
- Free AI Integration: Powered by Google Gemini (no credit card required)
- SM-2 Algorithm: Proven spaced repetition for long-term retention
- Performance Analytics: Track ease factors, intervals, and success rates
- Smart Scheduling: Optimal review timing based on your performance
- Bulk Management: Efficient creation and organization of flashcards
- Intelligent Matching: Find compatible study partners
- Real-Time Collaboration: Live chat and shared whiteboards
- AI Moderation: Automated prompts and discussion facilitation
- Progress Sharing: Track group achievements and individual contributions
- Accessibility First: Works for all learning abilities and devices
- Minimal Friction: Guest mode eliminates signup barriers
- Visual Feedback: Clear progress indicators and achievement systems
- Clean Interface: Rich features without cognitive overload
- Mobile-First: Optimized for learning on any device
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Follow the AI Dev Tasks workflow for development
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the 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.
- Inspired by Bloom's 2 Sigma Problem research
- Community learning principles from Ecclesiastes 4:9-12
- UI/UX inspiration from Khan Academy, Duolingo, and other leading educational platforms
- Built with the AI Dev Tasks workflow for structured development
- Documentation: Check the
/tasksfolder for detailed PRD and implementation guides - Issues: Report bugs or request features via GitHub Issues
- Discussions: Join community discussions in GitHub Discussions
Happy Learning with Tether! πβ¨