A PDF reader with text-to-speech capabilities. Upload PDFs, click sentences, and listen with synchronized highlighting.
- 📖 PDF Rendering with zoom controls
- 🎙️ Dual TTS: OpenAI API (premium) or browser fallback
- 🎯 Interactive Highlighting: Click any sentence to play
- 💾 Smart Caching: IndexedDB for instant replay
- 🎨 Dark/Light Theme with smooth transitions
- 🔊 Voice Selection from system voices
- ⚡ Prefetching for seamless playback
git clone <repository-url>
cd document-echo
npm install
npm run devFor premium TTS quality, add your OpenAI API key via the 🔑 icon in the audio bar.
- Next.js 16 - React framework
- PDF.js - PDF rendering
- Zustand - State management
- OpenAI API - Premium TTS
- IndexedDB - Client-side caching
- TypeScript - Type safety
- Tailwind CSS - Styling
- Upload PDF (drag & drop or browse)
- Click any sentence to start audio playback
- Use audio bar controls: ▶ Play/Pause, ↻ Previous, ↺ Next
- Adjust zoom, theme, and voice settings
├── app/ # Next.js app directory
├── components/ # React components
├── store/ # Zustand state management
├── utils/ # Text processing utilities
└── types.ts # TypeScript definitions
