8 ms·
Show HN: Personalized Duolingo (kind of) for vocabulary building
Hi! Wanted to share the project I really wanted to have. TLDR; this app lets you create your own list of words and you get a Duolingo-like experience (kind of, still needs a lot of features) practicing those words in their context.
My English is not the best but not the worst either. But I realized I can't boost it up after a certain level! In my belief, in order to truly learn a language, you need to be exposed to that language often. Vocabulary is the key factor here if you really want to improve in any language.
My experience is that when I read a book to improve my English vocabulary, I encounter words that I don't know so often and my reading gets disturbed. I go look for the meaning, come back, put it in context, re-read it, etc. It didn't work for me. So I tried listening to audiobooks - I listen to the book and read along, and whenever I encounter a word, I write it down. I get these 50 words in 2-3 pages and I ask ChatGPT to give me their meanings. I read them, take the book, and now read it myself. That helps for sure, but still after a while I lose those words because I never encounter them again. Well then, in order to not forget those words, I need some kind of exercise, right? A flashcard app maybe? Well, I still need to go out there, ask ChatGPT to create questions, put them in a flashcard app, etc. It's still time-consuming and this is supposed to be fun!
I need to be exposed to English in my daily life. I just need to save the words somewhere and whenever I want, I need to be able to practice them in a fun way, in Duolingo style maybe? So then I realized would it be better to store words in their own context? I mean, say I read Harry Potter and have a list of words I encountered in it, say I watch Breaking Bad and have a list of words I encountered watching it. I believe seeing those words together and practicing together makes it easier to remember them.
But I shouldn't be the one adding the meaning of the word and the one to generate exercises, right? It all should be automated. The exercise part will be handled by LLM for sure, but for the meaning of the word, I can fetch from a dictionary? But I really don't like the dictionary definitions and one word can have multiple meanings in their own context. So then I need to use LLM for this task too and have the word's meaning in its own context.
You create a list for your context, you add words, meanings get added automatically, and I see the word added in a different color (coloring is also a method used to remember words). It all takes seconds. And whenever I want to practice these lists, I can use learn mode to learn and test my knowledge in quiz mode. So I basically built this app ((thanks to Claude 3.5 Sonnet)). I want it to be like Duolingo, but of course I still have a way ahead to go, but wanted to share it in hopes of getting contributors.
You can read more in the repository. I would love to get your thoughts on this.
- markvdb 2y agoThank you for your contribution to the FOSS learning space. Here's a few random suggestions: - spaced repetition. Again, anki style. - audio. Can you make it easy to record a phrase, anki style? Or maybe even make AI pronounce them correctly? I would something like that.
- arbayi 2y agoThank you so much! I will definitely add those ideas to the roadmap in the README (pointing out this comment). I believe the spaced repetition feature must be prioritized because that's the most important thing in this app. I mean, what's the purpose of seeing the words over and over again if I already have confidence with them? For the pronunciation feature, I had similar work before and there are great open source tools and libraries we can build upon that analyze your pronunciation and spot where you made mistakes. We can use open source TTS libraries to pronounce the correct version. I also would definitely want to see audio questions in exercises similar to Duolingo, and it would be great to work on those features.
- learning-tr 2y agoI am learning Turkish so I built something like that for me. You can highlight any word online and it will translate colloquially so you can actually use it irl. It also has audio and pronunciation. It is around the halfway mark in the demo. demo: https://imgur.com/a/full-demo-so-far-O2fzBJn https://imgur.com/a/full-demo-so-far-O2fzBJn
- arbayi 2y agoHarika görünüyor! Are you planning to share it open source? Not: Bu benim en sevdiğim şarkılardan biridir!! (it's one my fav songs)
- learning-tr 2y agoTeşekkür ederim! Evet, inş.(Thanks. Yes I will opensource it.) Ben de aşık ya! (Mine too!)