A language learning platform that transforms speech from native languages into English using AI. This is an experimental project to learn how to build AI-powered applications with good UX.
The project contains carefully crafted AI prompts in /src/services/openai/tasks/
. These YAML files demonstrate effective prompt engineering with extensive examples that work better than instructions alone. Each task file shows real-world transcreation examples for multiple languages.
The /docs/
folder contains valuable documentation for AI-assisted development:
- Design principles for building user-friendly interfaces
- Color guidelines for consistent visual design
- Mobile-first development approach
- Architecture patterns and folder structure
- Middleware implementation examples
- Functions include
@purpose
documentation explaining why they exist - Database schema files in
/src/services/supabase/tables/
for easy database cloning - Comprehensive type definitions throughout the project
- Next.js 14, React, TypeScript, Tailwind CSS
- OpenAI GPT-4, Whisper, ElevenLabs
- Supabase (PostgreSQL)
- Deepgram, Web Audio API
- Vercel
Create a .env
file with the following variables:
NEXT_PUBLIC_SUPABASE_URL
- Supabase project URLNEXT_PUBLIC_SUPABASE_ANON_KEY
- Supabase anonymous keySUPABASE_SERVICE_ROLE_KEY
- Supabase service role key (server-side only)SUPABASE_ADMIN_USER_ID
- Admin user ID for special operations
Note: This application now uses user-provided API keys for security. Users configure their own OpenAI and ElevenLabs API keys through the application interface. No environment variables needed for AI services.
DEEPGRAM_API_KEY
- Deepgram API key for speech recognition (if enabled)ELEVENLABS_PLAN_ID
- Your ElevenLabs plan (starter/creator/pro)ELEVENLABS_VOICE_ID
- Default voice IDELEVENLABS_TTS_MODEL_ID
- Text-to-speech model IDELEVENLABS_STS_MODEL_ID
- Speech-to-speech model ID
GOOGLE_CLIENT_ID
- Google OAuth client IDGOOGLE_CLIENT_SECRET
- Google OAuth client secret
NOTION_CLIENT_ID
- Notion integration client IDNOTION_CLIENT_SECRET
- Notion integration client secretNOTION_REDIRECT_URI
- Notion OAuth redirect URITELEGRAM_BOT_TOKEN
- Telegram bot token (if using bot features)TELEGRAM_ADMIN_USER_ID
- Telegram admin user IDCRON_SECRET
- Secret key for cron job authentication
NEXT_PUBLIC_APP_URL
- Your application URL (e.g., https://yourdomain.com)
The project includes SQL schema files in /src/services/supabase/tables/
. You can use these to set up your own Supabase database with the same structure.
This project is licensed under the Educational Use License - see the LICENSE file for details.
For educational and non-commercial use only.