Skip to content
This repository was archived by the owner on Aug 6, 2025. It is now read-only.

yemreak/translearn-public

Repository files navigation

TransLearn AI

⚠️ ARCHIVED PROJECT - NO LONGER MAINTAINED

TransLearn AI Homepage

Overview

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.

What's Valuable in This Project

1. OpenAI Task Prompts

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.

2. Development Instructions & Principles

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

3. Well-Documented Codebase

  • 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

Features

Voice Recording

Voice Recording Interface

Translation Interface

Translation Interface

Learning Interface

Interactive Learning

Mobile Views

Mobile Interface 1 Mobile Interface 2

Tech Stack

  • Next.js 14, React, TypeScript, Tailwind CSS
  • OpenAI GPT-4, Whisper, ElevenLabs
  • Supabase (PostgreSQL)
  • Deepgram, Web Audio API
  • Vercel

Environment Variables

Create a .env file with the following variables:

Core Services

  • NEXT_PUBLIC_SUPABASE_URL - Supabase project URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY - Supabase anonymous key
  • SUPABASE_SERVICE_ROLE_KEY - Supabase service role key (server-side only)
  • SUPABASE_ADMIN_USER_ID - Admin user ID for special operations

AI Services

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 ID
  • ELEVENLABS_TTS_MODEL_ID - Text-to-speech model ID
  • ELEVENLABS_STS_MODEL_ID - Speech-to-speech model ID

Authentication

  • GOOGLE_CLIENT_ID - Google OAuth client ID
  • GOOGLE_CLIENT_SECRET - Google OAuth client secret

Optional Services

  • NOTION_CLIENT_ID - Notion integration client ID
  • NOTION_CLIENT_SECRET - Notion integration client secret
  • NOTION_REDIRECT_URI - Notion OAuth redirect URI
  • TELEGRAM_BOT_TOKEN - Telegram bot token (if using bot features)
  • TELEGRAM_ADMIN_USER_ID - Telegram admin user ID
  • CRON_SECRET - Secret key for cron job authentication

Application Settings

Database Setup

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.

Screenshots

Desktop View 1

Desktop View 2

Features 1

Features 2

Learning Interface

Practice Mode

Settings

Progress View

Achievement View

License

This project is licensed under the Educational Use License - see the LICENSE file for details.

For educational and non-commercial use only.

About

Learn language with YOUR VOICE and unique segmentation

Topics

Resources

License

Stars

Watchers

Forks

Languages