Sensei is an interactive AI-powered tutor that turns any text into an engaging audio lesson. It uses advanced LLMs to structure content into digestible "nodes" of scripts and interactive questions, and employs Text-to-Speech (TTS) to deliver a lifelike learning experience.
- Interactive Learning: Converts static text into a dynamic lesson with scripts and check-for-understanding questions.
- Difficulty Selection: Choose your preferred explanation style:
- ELI5: Simple analogies and language for beginners.
- Common: Standard explanation for general audiences.
- Professional: Technical depth and terminology for experts.
- Dual TTS Engine:
- Cloud (Minimax): High-quality, ultra-realistic voice generation (requires API key).
- Local (WebGPU): Privacy-focused, offline-capable TTS running entirely in your browser using Supertonic-TTS-WebGPU.
- Modern UI: A beautiful, responsive interface featuring glassmorphism design.
- Library: Save and revisit your generated lessons.
- Node.js 18+ installed.
- API Keys for:
- Google Gemini (for content generation and evaluation).
- Minimax (optional, for cloud TTS).
-
Clone the repository:
git clone https://github.com/RealHacker/sensei.git cd sensei -
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
- Click the Settings (gear icon) in the top right corner.
- Enter your Gemini API Key.
- Select your TTS Provider:
- Minimax API: Requires a Minimax API Key.
- Local (WebGPU): Runs locally.
If you select Local (WebGPU):
- In the Settings panel, you will see a "Local Model (Supertonic)" section.
- Click Download & Initialize Model.
- Wait for the download (~300MB) to complete.
- Once ready, all subsequent audio (scripts and feedback) will be generated locally.
- Paste any text, article, or topic into the input box on the home page.
- Click the Generate button (arrow icon).
- Select your desired Difficulty Level.
- Sensei will generate the lesson and start the interactive player.
This project is licensed under the MIT License - see the LICENSE file for details.