Transform your voice notes into polished, on-brand tweets ready for social media posting.
- Real-time speech recognition using Web Speech API
- Visual feedback with animated waveforms during recording
- Continuous recording with interim results
- Cross-browser compatibility (Chrome, Edge, Safari)
- 6 different tweet styles generated from your voice notes
- Professional, Casual, Engaging, Thread-worthy, Quote-style, and Question-based variations
- Character count tracking to stay within Twitter's 280-character limit
- Hashtag suggestions and optimization
- Automatic saving of all voice notes to local storage
- Persistent history across browser sessions
- Easy browsing with timestamps and status indicators
- One-click loading of previous thoughts
- Delete functionality for managing your history
- Smart storage management (keeps last 50 thoughts)
- Glass morphism design with backdrop blur effects
- Responsive layout optimized for mobile and desktop
- Smooth animations and micro-interactions
- Intuitive navigation with sticky navbar
- Toast notifications for user feedback
- Framework: Next.js 13.5.1 with App Router
- Language: TypeScript
- Styling: Tailwind CSS with custom animations
- UI Components: Radix UI primitives with shadcn/ui
- Icons: Lucide React
- AI Integration: OpenAI GPT-3.5-turbo API
- Speech Recognition: Web Speech API
- Storage: Browser Local Storage
- Notifications: Sonner toast library
Before running this project, make sure you have:
- Node.js (version 18 or higher)
- npm or yarn package manager
- OpenAI API Key (Get one here)
- Modern browser with Web Speech API support (Chrome, Edge, Safari)
git clone https://github.com/yourusername/thoughtcast.git
cd thoughtcastnpm install
# or
yarn installnpm run dev
# or
yarn devNavigate to http://localhost:3000 to see the application.
- Click on the API key input field in the app
- Enter your OpenAI API key (starts with
sk-) - The key is securely stored in your browser's local storage
- Click the microphone button to start recording
- Speak naturally - the app will transcribe in real-time
- Click again to stop recording
- Edit the transcript if needed in the text area
- Enter your OpenAI API key in the designated field
- Click "Generate Tweet Options" after recording
- Choose from 6 different styles:
- Professional: Formal, business-like tone
- Casual: Friendly, conversational tone
- Engaging: Interactive with questions
- Thread-worthy: Designed to start conversations
- Quote-style: Formatted as inspirational quotes
- Question-based: Ends with thought-provoking questions
- Click the History button in the navbar
- Browse your saved thoughts with timestamps
- Click any thought to reload it
- Hover and click the trash icon to delete thoughts
The app uses client-side API calls, so no server-side environment variables are needed. Your OpenAI API key is stored securely in your browser's local storage.
You can customize the app by modifying:
- Tailwind config (
tailwind.config.ts) for styling - Component styles in
app/globals.css - Tweet generation prompts in
app/api/generate-tweets/route.ts
- Chrome (desktop & mobile)
- Edge (desktop & mobile)
- Safari (desktop & mobile)
- Firefox: No Web Speech API support (manual text input only)
- Local-first approach: All data stored in your browser
- No server storage: Voice notes never leave your device
- Secure API calls: Direct browser-to-OpenAI communication
- No tracking: No analytics or user tracking implemented
- Push to GitHub
- Connect to Vercel
- Deploy automatically
npm run build
npm run startnpm run build
# Upload the 'out' folder to NetlifyWe welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow TypeScript best practices
- Use Tailwind CSS for styling
- Maintain responsive design
- Add proper error handling
- Write descriptive commit messages
Speech Recognition Not Working
- Ensure you're using a supported browser (Chrome, Edge, Safari)
- Check microphone permissions
- Try refreshing the page
API Key Issues
- Verify your OpenAI API key is correct
- Check your OpenAI account has sufficient credits
- Ensure the key has proper permissions
Build Errors
# Clear Next.js cache
rm -rf .next
npm run devThis project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for the GPT API
- Vercel for Next.js framework
- Radix UI for accessible components
- Tailwind CSS for styling system
- Lucide for beautiful icons
If you have questions or need help:
- Open an issue on GitHub
- Check the troubleshooting section above
- Review the documentation in this README
Made with β€οΈ by the Thoughtcast team
Transform your thoughts into tweets, one voice note at a time! π€β¨
