
Show HN: Building an open-source language-learning platform - kantord
https://librelingo.app/
======
LaurentS
Hi kantord, congratulations on the site! I tried something similar about 10
years ago, called wikibabel. I then joined with another site called
wikiotics.org. We were very focused on libre everything. In the end, we gave
up after several years, but our content is still up and we've been looking for
a new home for it. Please take a look and see if any of it would be useful for
you (we had built a bunch of cards very similar to your demo lesson). We had
stuff in a few dozen languages, including audio recordings (mostly of low
quality). I've moved on, but I still love the goal, and would be happy to
share some feedback on the experience if you want (contact on my profile
page).

In short:

\- focus on what the user wants, not the tech.

\- is English->Spanish the best language pair to start with? You're directly
competing with the giants like Duolingo. I tried to learn Burmese a few years
back, I would have loved to find something like this for that niche.

Good luck!

~~~
rjeli
Cantonese also has a ton of speakers across the world, and the best I could
find a few years back was the FSI tapes

~~~
fartcannon
I would also love Cantonese in a Duolingo style, please!

~~~
computerfriend
Can't agree more. It is amazing how few resources there are for learning this
amazing language.

------
petargyurov
As someone who is learning Spanish at the moment, here is some feedback.

\- I think a single click is sufficient to choose the correct answer and
submit it; alternatively let me double click to choose and submit.

\- I don't think a "Continue" step is necessary

\- Without selecting an answer and pressing Back on the browser, the UI freaks
out for a moment (Firefox 72.0.2)

\- I love cheatsheets, so having a section for these would be awesome (finding
good, consistent cheatsheets on the web is hard)

It is understandably a little sparse at the moment. Take a look at an app
called Memrise - I think the style of its exercises would fit well here. I
particularly like the "Fast Review" exercise which lets me do a speed review
of all the words and phrases I have learned so far.

As others have mentioned already, it would be nice to be able to mark words
you already know and stop them from showing. Additionally, being able to mark
words you find difficult could appear more frequently.

I will keep an eye on this project; good work so far!

~~~
melling
I built a cheatsheet for my iOS language app for Spanish:

[http://h4labs.org/100-words-app-spanish-pdf/](http://h4labs.org/100-words-
app-spanish-pdf/)

I’ve also created some Spanish Word Search PDF’s. Most are on Github:

[https://github.com/melling/Sopa_de_Letras](https://github.com/melling/Sopa_de_Letras)

I was going to create a little book of 20 Spanish Word Search puzzles.

What’s your idea for Spanish Language cheatsheets? I’ve tossed around a few
ideas myself.

Verbs, ser/estar, por/para, saber/conocer

~~~
petargyurov
I find grammar cheatsheets quite useful, for example:

[https://i.pinimg.com/736x/0c/b6/81/0cb681ce3173c647a39b12db8...](https://i.pinimg.com/736x/0c/b6/81/0cb681ce3173c647a39b12db88344207.jpg)

Anything that explains grammatical rules and gives me a "template" of sorts is
great because it doesn't give me the answer straight away but it engages my
brain to adapt the word I want to the given rule. Topics like tenses,
conjugation, pronouns are what I like having cheatsheets for.

------
songzme
When my wife and I first met, we tried to build a language learning app (don't
sign up, we stopped working on it) -
[https://llip.io/landing/](https://llip.io/landing/)

To get users, we started a meetup group to teach people Korean.
[https://www.meetup.com/San-Jose-Korean-Language-and-
Culture-...](https://www.meetup.com/San-Jose-Korean-Language-and-Culture-
Meetup/)

We stopped working on the app, but continued with the meetup group (3 years
now and almost 1000 members).

Our conclusion is that the most effective way to learn a new language is a
simple commitment to showing up regularly to language events. Meetup.com or
your local public library will usually have regular (and free) events. Once
you have that commitment, picking a great app will help expedite your
learning.

Excited to see an open source language learning app!

~~~
generalpass
What if you live in a region where you can't people speaking or learning the
language you want to learn?

~~~
elliekelly
I've had a lot of success using a Discord server to learn French. The big gaps
in my self-learning knowledge were pronunciation and conversation. (It's one
thing to be able to read/write the language at your own pace but different to
be able to "think" and react in that language in conversation.) Discord chat
rooms are great and thanks to the voice channels I've almost got the 'r' down.
Most of the servers even have user "flair" so you can let others know if you'd
like to be corrected on your mistakes or if you prefer others let them slide.

------
melling
I’ve been working on my own iOS language apps for quite some time:

[http://appstore.com/h4labs](http://appstore.com/h4labs)

My original idea was to do lots of little games in one app to keep it
interesting: Hangman, Word Search, 4 Pics 1 Word, ...

Recently, I’ve been breaking out the games into smaller apps. I think that’s
better. Take your data and try to make some fun little games.

Also, I think noun gender is important. Should learn it at the same time as
the noun. It can change the meaning of the word.

Finally, is anyone doing verbs? I have a simple Spanish verbs app. There are
usually many rules to help make it easier.

I was going to open source the rules that I have but there doesn’t seem to be
much interest:

[https://github.com/melling/Spanish_Verbs](https://github.com/melling/Spanish_Verbs)

Need to extract the data from my site:

[http://www.h4labs.com/lang/es/index.html](http://www.h4labs.com/lang/es/index.html)

------
RobAley
One small piece of feedback : My (UK) keyboard doesn't have accented
characters on it, and I don't know how to type them (well, I do, but many/most
users won't), so typing "leon" instead of "león" for Lion wouldn't let me
continue as there was a spelling mistake. Ideally, have an on-screen keyboard
for accented characters, or instructions on how to type them, or less ideally
allow spelling mistakes on such characters.

~~~
kantord
thanks! If you have a GitHub account, feel free to create an issue for that!
[https://github.com/kantord/LibreLingo/issues/new](https://github.com/kantord/LibreLingo/issues/new)

------
qwerty456127
Cool! Please make sure to fix what I consider the major problem of Duolingo:
it asks so much stupid questions (things I already know perfectly, even if I'm
going to forget these tomorrow these still are nonsensical to repeat that much
during the same session) I get bored and start clicking too fast so I make
mistakes out of pure inattention and get even more stupid questions as the
result.

~~~
kantord
Maybe your ideal way of learning or type of platform is different.

I have thought of experimenting with the possibility of having different way
of presenting the same content. For example, instead of a repetitive software
solution, exporting the course material as a printable book.

~~~
qwerty456127
No. I like the repetition way (it works and it provides instant gratification
to support the flow state unless repetition rate is t0o intense) and what I
see in the current version of LibreLingo is ok. Just don't overdo. Or make
repetition intensity configurable.

~~~
madacol
Maybe what you want are options like AnkiDroid does:
[https://lh3.googleusercontent.com/QFBCiyA_6WBKfr8Xoo1MqOrQw1...](https://lh3.googleusercontent.com/QFBCiyA_6WBKfr8Xoo1MqOrQw18t6KE7POlKV3BfA7fLETjnYYu51y2SMAliHTpd6A=w1860-h928)

At the bottom there are 3 buttons that sort of means this:

    
    
      - repeat card more frequently
      - repeat card
      - repeat card less frequently
    

Android app:
[https://play.google.com/store/apps/details?id=com.ichi2.anki](https://play.google.com/store/apps/details?id=com.ichi2.anki)

------
bayesian_horse
Good idea.

I personally love Duolingo. But I fear that the course data, which is mostly
user contributed, will eventually disappear if the company goes under...

~~~
zelly
Some hero should scrape it.

~~~
lambertsimnel
Would that be legal? I wonder who holds the copyright to user-contributed data
in DuoLingo (assuming they're copyrightable).

If some of the user-generated content isn't copyrightable, or was contributed
by users willing and able to share it with a FOSS project, could only that
data be scraped, or would it be too difficult to identify?

------
cerberusss
I'm not sure if it's a joke or not, but that web page its title has a typo. It
says "langauge" instead of "language".

------
cptwunderlich
I also wanted to congratualte you for your effors. I'm a daily and long time
user of Duolingo and thought of libre alternatives for a while.

I'd agree with some sentiments in this comment section, that you might want to
find a niche, as competing with Duolingo or Babbel would be difficult.
Duolingo doesn't too well with "smaller" languages and different scripts.

Are you using a TTS engine for the voice (I assume)? I was looking for TTS for
a smaller language I'm studying, but I couldn't find anything. I hope that
something comes out of the Mozilla's Common Voice project.

~~~
kantord
I still think it makes more sense to implement languages that more people want
to learn.

However, the long term goal is making it easy for the community to build
courses, so once the project is mature, it should be possible to include a way
larger number of languages.

I am also thinking of things like conlang enthusiasts being able to create
courses for their own conlangs.

~~~
mumblemumble
I just wanted to chime in and say I think there's another good reason to focus
on the more widely-spoken languages first: It's not just that there are more
people who want to learn them, it's also that there are more people who can
help contribute to the materials.

~~~
kantord
which makes it possible to create courses that have more content as opposed to
being just brief introductions

------
helsinkiandrew
Great effort - my thoughts as a learner of Finnish and perpetual searcher for
internet learning content is that the biggest issue facing any learning
platform (commercial or open source) is content, content, content.

It takes a huge amount of effort to build decent course material - most open
source material are from a community of people that are also using the
material - will this be the case with language learning?

~~~
yorwba
One way to get content would be [https://tatoeba.org](https://tatoeba.org) For
example, to teach "oso" = "bear", there are already ten different example
sentences with audio recordings:
[https://tatoeba.org/eng/sentences/search?query=oso&from=spa&...](https://tatoeba.org/eng/sentences/search?query=oso&from=spa&to=eng&has_audio=yes&trans_filter=limit&trans_to=eng)
(Okay, one of them is actually "oso" = "dare".)

~~~
tasogare
The problem with tatoeba is that the content doesn’t seem to be curated. I
checked the translation of I love you in Japanese recently and more than half
of the listing is hot garbage that would never be uttered by a native speaker.
It’s just like these sentences where contributed by learners who just finished
their first lesson.

~~~
yorwba
Japanese is a special case, because most of the Japanese sentences come from
the Tanaks corpus, which... consists of sentences written by learners of
either English or Japanese who likely weren't all that qualified for the task.

However, the content _is_ actively getting curated. E.g.
[https://tatoeba.org/eng/sentences/show/137571](https://tatoeba.org/eng/sentences/show/137571)
is a translation of "I love you." owned by a native speaker. The search form
doesn't make it easy to find native-speaker translations, though. The search
option to limit results to native-speaker sentences only works if you're
searching in the target language. E.g. if you want usage examples for "愛":
[https://tatoeba.org/eng/sentences/search?query=%E6%84%9B&fro...](https://tatoeba.org/eng/sentences/search?query=%E6%84%9B&from=jpn&to=und&user=&orphans=no&unapproved=no&has_audio=&tags=&list=&native=yes&trans_filter=limit&trans_to=und&trans_link=&trans_user=&trans_orphan=&trans_unapproved=&trans_has_audio=&sort=words&sort_reverse=)

If you're only using Tatoeba as a data source for automatic creation of course
material, though, you can filter using whatever criteria you want.

------
mumblemumble
Completely tangential:

The Rosetta Stone / Duolingo style of language learning has never really
worked for me; I generally have more success and an easier time staying
engaged with the "comprehensible input" approach.

Are there any open platforms based on this method out there? Maybe something
along the lines of LingQ, though perhaps without all the attempts at
gamification.

~~~
bluGill
I think the best approach is a few weeks with a duolingo style learning just
so you get SOME grammar and a FEW words. Once you can understanding things
then input is best, but if you don't understand input isn't going to do much
good. If you can find English [any language you know] subtitles all input is
comprehensible and it is best - but also the hardest and most frustrating.

If someone could just create a list of of youtube videos with subtitles in my
language it would be huge. Doesn't matter if it is a blacksmith explaining how
to shape metal, or a knitter showing some pattern, I just need input.

~~~
mumblemumble
TBH, I don't even personally like Duolingo-style programs for getting down the
base vocabulary, because, while it's a generally more pleasant experience than
other options, I find the approach to be relatively slow and inefficient.

Here's a video (in French) that I found reflects my own experience quite well:
[https://www.youtube.com/watch?v=-KQ1qRJ2wQc](https://www.youtube.com/watch?v=-KQ1qRJ2wQc)

In a nutshell, I've got two complaints. First, while flashcarding is wicked
efficient (I'd say essential) for review, it's not a particularly good tool
for learning things in the first place. And an overly flashcard-oriented
approach has real problems with a sort of streetlight effect: You tend to get
stuck on what's easiest to illustrate with pictures, which often isn't what's
most useful for communicating with others.

edit: Also, for what it's worth, the existing research seems to indicate that,
while subtitles in our target language can be hugely beneficial, subtitles in
a language you already speak actually inhibit language acquisition:
[https://journals.plos.org/plosone/article?id=10.1371/journal...](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0007785)

(There was another study with Brazilian English language learners that I found
more compelling, but I'm unable to find it right now.)

~~~
bluGill
The point is what works depends on where you are. If you need a new language
getting that first 100 (1000?) words is important to do fast, and it doesn't
matter too much which words you get. Then you need to hear the real language,
and subtitles help you understand. As soon as you start to understand
something though you need to switch them off (or to the target language).

~~~
mumblemumble
It also depends, perhaps, on the method you're using. If you're trying to a
method based on comprehensible input, then the point of contention would be
that any materials that you can't understand without a translation are still
too advanced for you, and you'll learn more efficiently if you instead seek
materials that you really can comprehend.

That's where I like LingQ so much, at least in principle: It's theoretically a
clearinghouse where you can find lots and lots of these kinds of materials for
learning. (The truth is, it can be a bit difficult to sift through.)

------
dwrodri
I am far from the first to say this, but please do push hard for languages
that aren't commonplace (or well-developed) on other platforms.

My language of choice would be Farsi.

------
skinnyasianboi
Good work and the roadmap looks pretty promising. I hope we will see native
mobile apps. Would be a cool case to play around with SwiftUI and Jetpack
Compose.

------
thepete2
Love it. Seems a lot like duolingo, but with a lighter UI. Can you please add
shortcuts, so you can type 1, 2 or 3 instead of clicking?

~~~
kantord
you can already do that. Maybe it's not very clear from the UI, but it
basically has the same keyboard shortcuts

~~~
thepete2
You're right. Vimium (browser extension) was the problem :)

------
onyva
Wonderful initiative. Would have loved to get involved but I really don't want
to use GitHub. Any idea how people may contribute using other platform?

~~~
andrewzah
See if the maintainer is willing to accept email patches. You can clone the
repo from the github link, make changes, and generate a patch which you can
send to a maintainer.

Unfortunately it's a bit tough to avoid github, it's like the facebook of
programmers. I don't see any particular reason why it's bad though? If
anything, it might improve with microsoft now owning it.

~~~
kantord
I can also merge from GitLab (or other server) forks too, I think? I've never
tried doing that, but it sounds like something that should be trivial

