baturyilmaz/wordpecker-app: A personalized language learning tool that combines Duolingo-style lessons with your own curated vocabulary list. Continuously add words from books, articles, or videos, and repeat them through interactive quizzes and LLM-generated lessons.

A personalized language learning app that brings the magic of Duolingo-style lessons to your own curated vocabulary list and context.
Learning a new language can be straightforward, but mastering it is the real challenge. While it is easy to understand the basics, developing strong communication or reading skills depends on having a strong vocabulary. To build it, you need to learn words and phrases at different levels, however exposure is important. For example, if you study English but don’t live in an English-speaking country, improving your skills will be more difficult. You can read books, watch movies, or browse blogs, but fully immersing yourself in the language is still difficult. Real progress often requires more effort—studying and revising words and phrases you encounter in your daily life.
However, this process can be inconvenient. You have to stop whatever you are doing to learn new words, look up their meanings, record them, and then review them later. This is time consuming and tiring. As a result, even though you may improve, the learning process may feel slow and ineffective.
To solve this, I have an idea for an app that combines personalized learning with the efficiency of flashcards—a combination of Duolingo-like lessons and regular study lists.
Imagine you’re reading a book—say, Harry Potter. When you find unfamiliar words, you open the app and create a new list with details such as:
- Name: Harry Potter Book
- Description: The first book in the series
- Context: Harry Potter
Once the list is created, you add the words or phrases you find. The app automatically provides their definitions in context after you save them, so you can continue reading without stopping.
Later, you go back to the list and choose one of two options: Learn or Test.
- Learning: This mode delivers structured lessons in a Duolingo style. Text, visuals, and exercises are dynamically created using LLMs.
NOTES: Text-based multiple-choice questions are at the moment the only type of question there is.
- Quizzes: When you’re ready, you can test what you’ve learned through interactive quizzes. They join and play, give points and show your progress. For example, it might show that you have mastered 75% of your list.
NOTES: The feature that shows something like “You’ve heard 75% of your list” is planned but not yet built.
The key advantage is that the app keeps your learning tied to the context in which you see the words. By returning them to their original state, you strengthen specific neural pathways, facilitating retention and making learning more effective.
In short, it’s like having a personalized Duolingo where you can create and learn from your own lists. This is a powerful way to immerse yourself in the language and make steady progress.
- Meeting New Words: While reading or watching something, open the app and add new words or phrases to a contextual list (eg, Harry Potter Book, Science Blog, Netflix Show, etc. ).
- Automatic Definition: The app automatically retrieves word definitions (in context) after you save them.
- Learning: Dive into Learn Mode, practice exercises—just like Duolingo, but tailored to your words.
- QUIZ: Switch to Quiz Mode anytime to check your stay.
- Review and Repeat: Visit your lists.
- Additional Question Types: Currently, only text-based multiple-choice questions are supported. In the future, I plan to introduce more Duolingo-style exercises such as fill-in-the-blank, listening comprehension, and visual matching.
-
Progress Tracking: Show detailed statistics—such as mastery percentage—and possibly introduce daily goals or streaks to keep students motivated.
-
List Sharing: Allow users to share their custom vocabulary lists with others.
-
Improved Onboarding: Provide a quick tutorial or sample list for new users, helping them understand the app’s features and workflow more easily.
-
Integration with Other Platforms: Connecting to e-readers?, browsers, or note-taking apps so users can add new words without leaving those platforms.
- Node.js >= 16
- npm or thread
- A Supabase account
- An OpenAI API key
Clone the repository:
git clone https://github.com/baturyilmaz/wordpecker-app.git
cd wordpecker-app
Installing dependencies:
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd frontend
npm install
make .env
files:
Back end .env
:
PORT=
OPENAI_API_KEY=
SUPABASE_URL=
SUPABASE_SERVICE_KEY=
Front end .env
:
VITE_SUPABASE_URL=
VITE_SUPABASE_ANON_KEY=
VITE_API_URL=
Start the backend:
Start the frontend:
- Frontend: React.js with TypeScript
- Backend: Express.js
- Database: Supabase (PostgreSQL)
- Auth: Supabase Auth
- AI: OpenAI API
Contributions are welcome!
- Fork the repo
- Create a feature branch
- Commit changes
- Push to your branch
- Open a pull request
https://opengraph.githubassets.com/10096cfa353fc25cf2130f14e2458e85a879f67a0cfc34c02d03bc26ac294a02/baturyilmaz/wordpecker-app
2025-01-20 19:27:00