MCPcopy Index your code
hub / github.com/baturyilmaz/wordpecker-app

github.com/baturyilmaz/wordpecker-app @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
307 symbols 697 edges 128 files 12 documented · 4% updated 11mo ago★ 2,16910 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

WordPecker App

Every word has a story.

A personalized language-learning app that brings the magic of Duolingo-style lessons to your own curated vocabulary lists and contexts.

📱 Looking for Mobile App Testers!

We’ve started developing the mobile version of our web project 🚀 Right now, we’re in the beta testing phase and looking for testers to try the app and share their feedback.

If you’d like to become a tester: 📩 Send an email to [info@wordpeckerapp.com] with the subject "Tester Application".

In your email, please include:

Your name / username

A short note about yourself

Your feedback will help us make the app even better 💡 Thank you for your support! ❤️

📋 Table of Contents

🚀 Quick Start


WordPecker App

WordPecker App

📹 Watch on YouTube

The Idea

Learning a new language can be straightforward, but mastering it is the real challenge. While it's relatively easy to grasp the basics, developing strong communication or reading skills depends on having a solid vocabulary. To build this, you must learn words and phrases at various levels, yet exposure is key. For instance, if you've studied English but don't live in an English-speaking country, advancing your skills becomes significantly harder. You can read books, watch movies, or browse blogs, but fully immersing yourself in the language is still difficult. Real progress often requires extra effort—studying and revisiting words and phrases encountered in your daily life.

However, this process can be inconvenient. You have to pause whatever you're doing to note new words, search their meanings, record them, and then review them later. This is time-consuming and tiring. As a result, although you might improve, the learning process can feel painfully slow and inefficient.

To solve this, I had an idea for an app that merges personalized learning with the efficiency of flashcards—a blend of Duolingo-like lessons and custom study lists.

In the previous version, you'd read your book, encounter new words, create a list, manually add each word, and then practice. You'd open the app, create a new list with details like "Harry Potter Book," add the words you found, and the app would provide meanings so you could continue reading without interruption. Later you'd practice with exercises and quizzes. This worked great when you were actively reading or consuming content, but what about when you just wanted to expand your vocabulary anytime, anywhere?

But here's where it gets exciting – we've added a new feature to discover and encounter new words. Instead of manually hunting down vocabulary, you can now encounter words naturally with much less effort:

🌳 Vision Garden (My Personal Favorite!)

Imagine looking at images and describing them to discover new vocabulary. You can use LLM-generated images or real stock photos, describe what you see, and agent analyzes your description to suggest contextual vocabulary words you might not know. It's like having a personal tutor who shows you pictures and helps you expand your vocabulary naturally. The agent considers your current vocabulary and suggests words that fit your learning level and context.

Vision Garden

📹 Watch on YouTube

📚 Get New Words - Smart Vocabulary Discovery

Choose any context or topic you're interested in (like "space exploration" or "cooking techniques"), select your difficulty level, and let agent generate vocabulary words you don't already have. Then dive into interactive learning sessions where you can:

  • Know/Don't Know Interface: Simple binary choice for each word
  • Progressive Disclosure: Reveals definitions, examples, and visuals when you don't know the word
  • Context-Aware Generation: Excludes words you already know, focuses on your chosen difficulty level
  • Visual Integration: Generate images for words you're learning to create stronger memory connections
  • List Building: Add learned words to existing lists or create new context-specific collections

No more manually searching for words – just pick a theme and difficulty, and get learning experience that adapts to your knowledge.

Get New Words

📹 Watch on YouTube

🗣️ Voice Chat

This is where things get really interactive. Using OpenAI's voice agents you can have actual spoken conversations with an LLM tutor about your vocabulary words. Practice pronunciation, ask questions, and get instant feedback through natural speech. It's like having a language exchange partner available 24/7 who knows exactly what words you're learning. The voice agent has access to your list and help you learn the words you already have and it can add new words to your lists by using the tool.

Voice Chat

📹 Watch on YouTube

Once you've discovered words through these methods, you can:

  • Learn: Practice with 5 different question types (multiple choice, fill-in-the-blank, matching, true/false, and sentence completion) - all configurable in your settings
  • Quiz: Test your knowledge and track your progress with learned points
  • Voice Practice: Have conversations about your vocabulary with the LLM voice tutor
  • Light Reading: Generate reading passages that highlight your vocabulary words in context

Learn Mode

📹 Watch on YouTube

Exercise Types Settings

📹 Watch on YouTube

🔍 Word Detail Pages - Deep Dive Into Every Word

Each word in your vocabulary gets its own comprehensive page where you can: - Context Explorer: See how the same word appears across different lists with different meanings and track your progress in each context - Example Generator: Create contextual example sentences with translations and detailed usage notes - Visual Learning: Generate LLM images or find stock photos that represent the word in its specific context - Similar Words Discovery: Find synonyms and interchangeable words with examples and usage notes - Smart Collection: Add discovered similar words to your existing lists or create new context-specific lists

Word Detail Pages

📹 Watch on YouTube

🔊 Audio Pronunciation System - Every Word Has A Voice

Pronunciation for immersive learning.

Multi-Language

The app now supports learning any language using any language. Want to learn Japanese using Turkish? Or practice advanced English while getting explanations in Spanish? Just configure your native language (base) and target language in settings. The LLM even validates specific language variants like "Japanese with Hiragana" or "Brazilian Portuguese".

Language Settings

📹 Watch on YouTube

Template Library

Jump-start your learning with curated vocabulary lists. Browse templates by category, difficulty, and tags, then clone them to create your own customized lists.

📝 Classic Word Lists - The Original Power

Of course, the original way still works! Create your own context-aware lists the traditional way: - Create Custom Lists: Make lists with any name, description, and context (like "Harry Potter Book," "Business Meeting Vocabulary," etc.) - Add Words Instantly: Just type a word and - it's automatically defined in your chosen context - Context-Aware Definitions: Each word gets its meaning based on your list's context, so "bank" means something different in "Financial Terms" vs "Geography Vocabulary" - Manual Control: Perfect for when you encounter specific words while reading, watching movies, or in conversations - Flexible Organization: Organize your vocabulary exactly how you want it

This is still the most direct way to build your vocabulary when you know exactly what words you want to learn!

Light Reading

📹 Watch on YouTube

The key advantage is that the app keeps your learning tied to the context in which you originally saw the words. By returning to them in their original setting, you strengthen those specific neural pathways, speeding up retention and making learning significantly more effective.

In short, it's like having a personalized Duolingo where you can create and learn from your own lists, but with the added ehancements of natural word discovery and voice interaction. It's a powerful way to immerse yourself in the language and make steady progress.

WordPecker App

How It Works

🎯 Recommended Learning Flow

Choose the approach that fits your learning style and situation:

🚀 The Discovery Path - For Explorers Who Want Effortless Learning

Perfect when you want to expand your vocabulary without the effort of hunting for words:

  1. Discover Words Naturally:
  2. Vision Garden: Look at images in generated context, describe what you see, and get vocabulary suggestions based on what you missed or could express better
  3. Get New Words: Create a session with any context you're interested in, then go through interactive know/don't know sessions with LLM-generated vocabulary that fits your learning level

  4. Build Your Collection:

  5. Add discovered words to your existing lists or create new context-specific ones
  6. Use the Template Library to quickly start with professionally curated lists

  7. Explore & Expand:

  8. Click on any word to access its Word Detail Page for deep exploration
  9. Generate example sentences, find similar words, and create visual associations
  10. Add discovered similar words to expand your vocabulary further

  11. Practice & Reinforce:

  12. Use Voice Chat to have real conversations about your vocabulary
  13. Generate Light Reading passages that highlight your vocabulary words
  14. Go to Learn Mode and practice with various question types
  15. Take Quizzes to assess your retention and collect learned points

📚 The Traditional Path - For Focused Learners Who Know What They Want

Perfect when you encounter specific words and want to learn them immediately:

  1. Create Context-Aware Lists:
  2. Make Word Lists with specific contexts (Harry Potter Book, Business Vocabulary, etc.)
  3. Just type words you encounter and get instant context-aware definitions

  4. Deep Dive Into Words:

  5. Use Word Detail Pages to explore each word thoroughly
  6. Generate example sentences, find similar words, and create visual associations
  7. Add discovered similar words to expand your lists

  8. Practice & Master:

  9. Use Voice Chat to practice your specific vocabulary
  10. Generate Light Reading that uses your collected words
  11. Go to Learn Mode and Quiz to systematically master your curated vocabulary
  12. Return to Word Detail Pages anytime to review, find more similar words, or generate fresh examples

Both paths lead to the same comprehensive learning experience—you can even combine them! The key is that WordPecker adapts to however you prefer to learn.

Demo

Alt text

Roadmap

✅ Recently Implemented

  • Multiple Question Types: Now supporting 5 different exercise types - multiple choice, fill-in-the-blank, matching, true/false, and se

Extension points exported contracts — how you extend this code

User (Interface)
(no doc)
frontend/src/types/index.ts
ProcessEnv (Interface)
(no doc)
backend/src/types/environment.d.ts
WordList (Interface)
(no doc)
frontend/src/types/index.ts
WordList (Interface)
(no doc)
backend/src/types/index.ts
Word (Interface)
(no doc)
frontend/src/types/index.ts
WordContext (Interface)
(no doc)
backend/src/types/index.ts
WordContext (Interface)
(no doc)
frontend/src/types/index.ts
Word (Interface)
(no doc)
backend/src/types/index.ts

Core symbols most depended-on inside this repo

getUserLanguages
called by 12
backend/src/utils/getUserLanguages.ts
onClose
called by 8
frontend/src/pages/WordDetail.tsx
getCurrentProgress
called by 8
frontend/src/services/sessionService.ts
validateLanguage
called by 4
frontend/src/pages/Settings.tsx
answerQuestion
called by 4
frontend/src/services/sessionService.ts
completeSession
called by 4
frontend/src/services/sessionService.ts
generateAudio
called by 4
backend/src/services/elevenlabs.ts
transform
called by 4
backend/src/api/lists/routes.ts

Shape

Function 169
Interface 76
Method 44
Class 18

Languages

TypeScript100%

Modules by API surface

frontend/src/types/index.ts20 symbols
backend/src/services/elevenlabs.ts18 symbols
frontend/src/services/sessionService.ts13 symbols
backend/src/types/index.ts12 symbols
frontend/src/components/AudioPlayer.tsx11 symbols
frontend/src/agents/voice-agent/index.ts11 symbols
frontend/src/pages/WordDetail.tsx10 symbols
frontend/src/pages/VoiceChat.tsx10 symbols
frontend/src/pages/Settings.tsx10 symbols
frontend/src/pages/WordLearningSession.tsx8 symbols
frontend/src/pages/ListDetail.tsx8 symbols
frontend/src/pages/ImageDescription.tsx8 symbols

Datastores touched

SessionCollection · 1 repos
OldWordCollection · 1 repos
TemplateCollection · 1 repos
WordCollection · 1 repos
WordListCollection · 1 repos
(mongodb)Database · 1 repos
wordpeckerDatabase · 1 repos
wordpecker_testDatabase · 1 repos

For agents

$ claude mcp add wordpecker-app \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page