Read On is an interactive web application designed to enhance reading comprehension and learning through various AI-powered tools. The application processes user-provided text and offers multiple learning modalities to help users better understand and engage with the content.
- Identifies unique words from the input text
- Provides phonetic breakdowns using Merriam-Webster's dictionary API
- Includes audio pronunciation for each word
- Presents words as interactive flashcards with pronunciation guides
- Filters out common words to focus on vocabulary building
- Generates dynamic multiple-choice questions based on text length
- Creates one question per 200 characters (maximum 15 questions)
- Provides immediate feedback on answers
- Tracks progress with a scoring system
- Celebrates completion with congratulatory messages
- Uses Google's Gemini AI for intelligent question generation
- Creates visual representations of text using DALL-E 3
- Processes text by paragraphs or sentences
- Maintains context between generated images
- Provides a visual narrative of the text
- Helps visual learners better understand the content
- Converts text to speech using OpenAI's TTS model
- Highlights words in sync with audio playback
- Provides play/pause and skip functionality
- Maintains high-quality audio output
- Helps with pronunciation and reading flow
- Combines all features into one comprehensive learning experience
- Visualizes text with AI-generated images
- Provides word-by-word phonetic and pronunciation assistance
- Includes comprehension questions with instant feedback
- Creates an immersive learning environment
- Visit OpenAI's website
- Sign up or log in to your account
- Navigate to the API Keys section
- Click "Create new secret key"
- Copy the key (Note: it will only be shown once)
- Used for DALL-E 3 image generation and text-to-speech features
- Go to Google AI Studio
- Sign in with your Google account
- Click "Create API Key"
- Copy your API key
- Used for generating comprehension questions
- Visit Merriam-Webster's Developer Center
- Create a new account or sign in
- Navigate to "My Keys" in your account dashboard
- Request a key for the "Collegiate Dictionary"
- Copy the API key
- Used for phonetic breakdowns and pronunciations
- Create a
.envfile in the root directory of the project - Add your API keys:
OPENAI_API_KEY=your_openai_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here
MERRIAM_WEBSTER_API_KEY=your_dictionary_api_key_here- Clone the repository:
git clone https://github.com/yourusername/read-on.git
cd read-on- Install Node.js dependencies:
npm install- Install Python dependencies:
pip install -r requirements.txt- Create necessary directories:
mkdir -p public/audio_files- Run the development server:
npm run dev- Enter or paste text in the main input area (3500 character limit)
- Choose from one of five learning tools:
- Phonics Practice for word pronunciation
- Reading Comprehension for understanding
- Word Visualization for visual learning
- Read Aloud for audio learning
- Interactive Learning for a comprehensive experience
- Each tool provides interactive features to enhance the learning experience
- The OpenAI API is a paid service. You will need to add billing information to your account.
- The Gemini API is currently free but has usage limits.
- The Merriam-Webster API is free for non-commercial use with usage limits.
- Keep your API keys secure and never commit them to version control.
- Consider implementing rate limiting for production use.
- Audio files are automatically cleaned up in development
- In production, temporary files are stored in /tmp
- Updated to use requests>=2.32.0 to fix session verification issues
- Updated to Pillow>=10.3.0 to address buffer overflow vulnerability
- All Python dependencies use specific versions to ensure compatibility
- API routes use python3 command for better compatibility
If you encounter issues:
- Verify all API keys are correctly set in your
.envfile - Ensure all dependencies are installed with correct versions
- Check the console for error messages
- Verify your API keys have sufficient permissions and credits
- Check your internet connection for API access
- Ensure the public/audio_files directory exists
- Make sure python3 is installed and accessible from command line