Show HN: Open-source tool for creating courses like Duolingo (uneebee.com)
GitHub repo: https://github.com/zoonk/uneebee Demo: https://app.uneebee.com/
It's pretty early-stage, so there's a lot of things to improve. Everything on this project is going to be public, so you can check the roadmap on GitHub too: https://github.com/orgs/zoonk/projects/11
I'm creating this project because I love Duolingo and I wanted the same kind of experience to learn other things as well.
But I think this could be useful to other people too. I'll soon launch three products using UneeBee:
- Wikaro: Focused on enterprise. It allow companies to have their own white-label Duolingo. I think this is going to be great for onboarding and internal training.
- Educasso: Focused on schools. It will allow teachers to easily create interactive lessons, compliant to local school curriculum. I want to make it in a way that saves teacher's time, so they focus more on their students rather than lesson planning.
- Wisek: Marketplace for interactive courses where creators will be able to earn money creating those courses.
I'm not sure this is going to work out but, worst case scenario, I'll have products that I can use myself because I'm a terrible learner using traditional ways. Interactive learning is super useful to me, so I hope it will be to other people too.
If you have some spare time, please give me your brutal feedback. I really want to improve this product, so no need to be nice - just let me know your thoughts. :)
PS. I'm also launching it on Product Hunt: https://www.producthunt.com/posts/uneebee
121 comments
[ 3.1 ms ] story [ 202 ms ] threadThis can give you a better view on the planned roadmap: https://github.com/orgs/zoonk/projects/11/views/2
I don't have any external funding and I'm not employed, so I'm prioritizing functionality that can allow me to build a paid cloud product on top of it. I still need to pay my bills after all :)
Totally agree I need to focus more on the course output and overall learner experience.
Counterpoint: twee gamification getting in the way of learning is why I stopped using Duolingo after reaching a 2500 day streak — the last straw was the tree turning into a path at the end of last year, but the last time I really enjoyed it was back when I could load each lesson into a separate tab and just spend hours at a time in the zone without getting distracted by their attempts to cheer me on.
Similar direction of changes are now actively annoying me with Brilliant.org
Maybe it's the course design, maybe the lack of supporting material, or some other weakness in the platform itself. But, I left out of frustration and started building Anki decks so I could have more control. As I'm now on my own, I've had to find supporting materials, which highlighted how poor Duo's explanations can be.
That last part comes down to the course design. Hopefully OP's platform doesn't force designing ineffective courses. This isn't my area of expertise, but I think it's important to recognize that adult learners can have different goals, even within something like learning a language (e.g. speaking, writing, accent, etc.)
I've heard other reports of people focusing on the game and not their goals. Game designers are aware that humans will "optimize the fun away." In the case of Duo, it seems a group of users will optimize the learning away (regardless of the goals or intention)
Especially the animations, she often remarks how cute they are and wants to show us. It's adorable and I'm super happy for her :) though also disappointed that, when I installed duolingo for her, it wasn't the innocent learning app with good UX that I knew it as from like six years earlier
I'm currently trying to get the best of both worlds by building the app I wish I had while starting learning Chinese. Currently actively looking for partners as well. If anyone that groks language learning is interested in building such a thing do send me an email at sasja.ws@gmail.com and lets talk about it.
At the same time - I think gamification and nice packaging are the sole reasons Duo is a success. To be precise the gamification is mostly not about competing with the others, but being held hostage for your own streak.
https://nothinghuman.substack.com/p/the-tyranny-of-the-margi...
With path, there is no obsessing over strategy, pop up app do the lesson and that is it. I also found that I retain more, because revision is build into path instead of me having to manage it.
At the start of that (2016, and indeed before as the streak didn't begin with me signing up), the gamification wasn't actively getting in the way. At some point in or around late 2019 or early 2020, it became faster to quit the app and restart it than to wait for the end of lesson congratulations screen to finish, I felt insulted by the childish animations (and that the only way to switch them off on iOS was a system-wide accessibility feature which merely reduced them!), and when the transition from tree to path happened I had to motivate myself with the goal of the round number streak length just to get past what had become for me an actively demotivating experience.
I moved to Berlin in late 2018 with the intention of it being permanent, so German skills aren't optional for me.
I watched the video but all I saw was a lengthy click-process. The key feature is usage, not creation.
(Sidenote: I agree - Most future tools will profit from a having a JSON-like DSL that is amenable to be fed by content coming from LLMs)
Spaced repetition and Active recall testing like or with Mnemosyne or Anki probably boost language retention like they increase flashcard recall: https://en.wikipedia.org/wiki/Anki_(software)
ENH: Generate Anki decks with {IPA symbols, Greek letters w/ LaTeX for math and science, Nonregional (Midland American) English, }
Google translate has IPA for some languages.
"The English Pronunciation / International Phonetic Alphabet Anki Deck" https://www.towerofbabelfish.com/ipa-anki-deck/
"IPA Spanish & English Vowels & Consonants" https://ankiweb.net/shared/info/3170059448
The LearnXinYminutes tuts are succinct and on github for PRs to fix typos, language learning sequence reorderings, and or additions with comments
LearnXinYMinutes > Elixir: https://learnxinyminutes.com/docs/elixir/
Personally, I think Duolingo shouldn't exist in its current form. The courses are all created by teams of volunteers and only able to be contributed to by those volunteers, which slow downs course creation and bug fixes to courses. Additionally the data is all held hostage by Duolingo, which prevents you from integrating it with Anki for example. I don't think Duolingo should be getting revenue when most of the work is done by volunteers. I think a decentralized open source version should exist, much like how anyone can modify and upload Anki decks, people should be able to modify and upload "Duolingo-like" courses.
Re: marketplace:
I think this is a great idea! There are Anki decks that are sold by creators too, like Spoonfed Chinese. I think this is an actually fair way to implement learning like this.
I had the idea (I'm not saying it's original, it's just what I thought at the time) of course lessons consisting of a series of questions, and each question is defined as a JSON object.
There are built-in question-templates like multiple choice, free-form answer, or just true/false.
If a course needs something really specific, then it can implement a custom renderer for that new template type, so that a course isn't held back by the upstream project. If it's a template that might be useful for more people, then it can be integrated into the core project.
- You can add multiple question. - Each question can have some content, one image and multiple options users can select. - Each option can have a title, an image and a feedback displayed to users when they select/confirm that option.
I want to add an option to import/export JSON. It's actually on the roadmap for v1:
- https://github.com/zoonk/uneebee/issues/41 - https://github.com/zoonk/uneebee/issues/40
In the future, I also want to implement some kind of plugin system because certain subjects require a different learning style. But I'm not sure yet how this would work. I need to think about it.
Right. People say that HelloChinese is better for Chinese because some of the question types are drawing Hanzi, so I think this is a perfect use case for a plugin system where a course could add a plugin for Hanzi/Kanji drawing and not be slowed down by the core developers.
I think that while this might be useful for teachers, it might be more sustainable if courses were stored in a version controllable medium to facilitate multiple collaborators.
My initial thought was to actually use GitHub to store the content. Either on Markdown or JSON - to have some version control. I like how Exercism [1] does it. But I thought it would be hard for teachers - unfamiliar with Git - to update lessons.
Then, I thought about implementing a version control system for the project but I felt I was overcomplicating things for an MVP. But I like the idea of having some kind of version control to improve collaboration.
[1] https://exercism.org/
You could also have a cloud service to store the project files, and then the teachers can just login to the editor and click save to upload their latest copy of the course.
[1] https://blog.duolingo.com/ending-honoring-our-volunteer-cont...
Part of the reason that content is slower to produce now is just that the standards are much higher. Internally we draw a distinction between the old volunteer-contributed content and the new content which is aligned to CEFR guidelines for how languages should actually be taught. Aligning content like this is not only more expensive but also requires more coordination and oversight from domain experts compared to previous methods.
I love HN for little nuggets of explanation like this.
What made you as a company change your mind?
I honestly don't see the point of following CEFR for an app like Duolingo.
Professional and GOOD teachers, that love to teach and did that for several years, know how to teach a language. THey don't need to follow something such as CEFR to know if they do well and what is interesting to teach and in which order.
I find it more important to make interesting lectures which do not follow a standardized curriculum. When someone is learning a language in this way will naturally go toward a CEFR based courses if needed afterward, with a big head start and only when he feels ready.
Also, not allowing to see 'already seen' vocabulary is a very strange move for an app, I guess it's for preventing having the vocab in a app like anki which makes duolingo less useful, but still, even if I don't use such app, having to screenshot all the time to have my vocab is a total pain.
Finally, the app doesn't seem to understand which words/sentences you already know and master and clearly do not need to see for the 400time instead of new vocabulary. Even having maximum points all the time and very fast will usually result in the same vocab shown again and again. It seems like an almost basic statistical problem, so I don't get why it's not fixed.
Also, some vocab is very strange, for example using 'es tut mir leid' in German to just say 'I'm sorry' feels like the content is automatically generated instead of having a linguist or even a German behind.
Duolingo's goals are not the same as mine, and the best thing it does by far is to pretend (and make me believe) that I am learning a language.
I've also just finished an early version of an app that facilitates creating "parallel texts".
It works well to learn the basics, which means a few thousand words and the core grammar. Like ANY tool in language learning, it's not a complete solution.
The ONLY way to speak a language is to...gasp...practise speaking and use other resources! Ahhh, the horror!
Your father isn't trying. He's just using Duolingo as a game.
This is not entirely accurate. The better courses on Duolingo teach in excess of 7000 words (8000 for french) as can be seen on DuolingoData[1] and clicking on the W column to sort the courses by words taught.
Clozemaster is a good resource for vocabulary building if you want to supplement Duolingo.[2]
[1] https://duolingodata.com/
[2] https://www.clozemaster.com/
Run, running, ran,... Gosto, gosta, gostamos, gostou, gostei ....
Which I do not. Though your count might be more accurate.
fucking lol, the audacity
I speak already most of the main languages Duolingo teaches and the other courses are pretty weak
To get the most out of it, I would recommend reading the built in grammar sections multiple times as well as subscribing to language learning subreddits and googling things you don't understand. I suspect this will become less of an issue as they roll out their AI offering which bakes this into the app (e.g you can specifically talk to the AI and delve into the subtleties of the grammar).
I don't know but I suspect they are focussing on perfecting the most popular courses and getting them compliant with the official educational framework levels and then using those as templates to flesh out the other courses. They've also explicitly stated they're looking into AI to auto generate content as at the minute every lesson is handmade and approved by humans. I suspect once they've got this down, they'll then expand the Duolingo Language Test to more languages other than English.
[1]https://www.italki.com/languageassessment/ila
https://reader.manabi.io
Since my goal was to be able to have a conversation with someone in Dutch, I eventually stopped using Duolingo. Part of the "gamification" makes it fun but also misdirects a user from the audio part of learning a language. When I started learning Czech I paid much less attention to the visual and more to the audio. I did better, but that was despite how Duolingo is presented, not because of it.
Duolingo is certainly not useless, but my experience echoes that of the poster, so certainly it has significant - and for me crucial - limitations.
Hi I'm Dutch. If you want to practice with English or German as languages in which I can explain things, email me via https://lucb1e.com/email-address and we can chat on Signal or Telegram or whatever :)
I found Phoenix [1] and I loved it! I've been very productive using it. I'm finding LiveView to have a very good UX, almost as good as a single-page application.
And I'm quite impressed with the performance. For this demo, I'm using the cheapest machine on fly.io. Peak usage was 184MB RAM and 8% CPU (most of the time it's under 3%).
[1] https://www.phoenixframework.org/
Eventually, I want to have a plugin system to have different lesson types for other subjects.
Plus, I'm going to use UneeBee to offer cloud products for enterprise, school, and creators. It will get much more complex than LibreLingo's current scope.
I'll look into it later today.
Initially, private schools because adoption is easier. But, long-term, I'd like to help public schools too.
> do teachers create their own content? I thought the content always came from a tie up of the school to a publisher that supplies all of it. It's hard to supplant publishers in grade school IIUC.
Teachers can create their own content, if they want to. Based on my experience talking to teachers, though, they prefer when the content is already created because they don't have much time to do it.
At some point, I'll probably look into partnering with publishers. I think this will help distribution because it's pretty hard to sell learning materials directly to schools.
In some places it's more flexible, though. I'm constantly talking to teachers and school managers to see how we can make it work but I'm foreseeing some roadblocks. I think Educasso will take a bit longer to reach the market.
For example with Opigno you can already build an open-source based education platform with content authoring with H5P[2] (HTML-5 based interactive content)
I've used Opigno LMS in the past, it's Drupal based so it's easy to deploy/maintain and basically have all features you advertise. Schools especially may use a learning platform for 10+ years, at least when authoring with H5P they are not stuck in a single platform anymore. What's your solution for this problem?
The loss of flash left a lot of courses or interactive learning content unusable, that's a mistake I hope new platforms don't repeat.
[1] https://www.opigno.org/
[2] https://h5p.org/
I struggle with that kind of learning experience and I think I'm not alone. Even using something like H5P, the overall user experience is far from what Duolingo offers for language learning.
Plus, I find the overall UX too confusing. UneeBee is far from good but I hope it will have much better user experience than traditional learning tools.
My vision for the long-term is to make it more practical too: A hands-on tool where we can learn by doing and seeing how things work in real-life. That's very hard to accomplish on tools like Moodle and Opigno.
But, to be clear, I don't think (and I don't aim) to replace those tools. I think UneeBee (and its cloud offerings) will be an additional tool.
> Schools especially may use a learning platform for 10+ years, at least when authoring with H5P they are not stuck in a single platform anymore. What's your solution for this problem?
Tbh, I don't have a solution for this problem yet and I agree that's an issue. I think having an open plugin system like WordPress will help but I'm not sure how this would work yet. Always open to ideas.
Would you target "first-time" creators, or experienced ones?
And if experienced, why would they take a bet on Uneebee vs. existing platforms?
Of course, experienced creators are welcome too but they already have an audience and usually play safe, so I understand why they wouldn't want to bet on UneeBee. First-time creators have nothing to lose, so it's a win-win situation. :)
[1] https://github.com/orgs/zoonk/discussions
You mention a few different areas it could work in (education, enterprise, consumers), but really you need to pick one and really focus on it - you will dissipate your focus and energies if you try to serve even two of these markets at the same time. Might be worth picking something far away from languages since Duo and other apps have that sewn up already. It would be hard to compete.
I like the education/school idea but you'd have to make the product free and focus on curricula and really serving those well. Perhaps target it at teachers and make it easier for them to construct lessons.
Need to make sure it targets the device that your markets will be using, which probably means phones rather than desktop or ipad.
Feedback: 1. Password requirements are a little annoying, perhaps loosen those a bit. 2. First examples are way too broad - pick an area, focus and try to execute just for that area, so that people see immediately what it is for (e.g. make your lessons as a teacher) and you have a target customer you can go after. 3. Your examples need a lot more work and polish, I did the launch to moon base alpha - the pictures don't add anything IMO, and I didn't feel like I really learned much because the questions were too fuzzy and the answers were not informative, you need to build in a better feedback loop and probably pick examples which are far more clearcut. 4. There is some very weird/wrong content IMO e.g. use a 'gravitational slingshot' instead of burning fuel - the vast majority of spacecraft burn fuel to change course, including the rare cases where they use a gravitational slingshot. 5. Content is king - I get this is supposed to be some quick examples you threw together but you need to step back and consider what impression this gives of your product - it makes the whole thing seems slipshod and ill-thought out. You need some real, very well thought out content here to make it seem worthwhile. The user should feel like they learning something in your examples.
So it looks like you have the basics here for your goal, but you need to focus on content and make sure you provide good feedback when the user gives a wrong answer as this is the biggest point of friction when learning. Also consider how someone like a teacher would give this to kids and how the kids would react to it - I'd recommend trying to connect with a teacher and get their honest feedback, that sounds like a promising direction even if initially they'll tell you it'll never work, they might give you some good pointers.
- USA NIST recommends¹ (Appendix A) to introduce a length requirement and deny using previously cracked passwords. These passwords should be obtained from publicly available lists. The reasons for not setting any requirements for complexity are set out in section A.3 of their publication.
- The UK National Cyber Security Centre similarly recommends² password deny lists and calls for not using complexity requirements or regular password expiry
- I think the german BSI or the Dutch NCSC or something also came around recently, but I can't find the link right now
Another option to make the login flow smoother is just offering an email with a one-time 90-minute-valid (because greylisting) login link, as alternative to setting/entering a password (I personally prefer a password for frequently-used sites to not have to switch apps and pollute my inbox every time).
¹ https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.S...
² https://www.ncsc.gov.uk/collection/passwords
Stick to one market and one solution. do Enterprise, do Schools. Don´t do both. It takes an insane amount of capacity and resources to penetrate a market, and it really does not matter how much you have - trying to be in two places at the same time will fail. If you care for both, start with one and get it done.
Also: i strongly suggest to stay away from a marketsplace. Pulling off a working marketplace is unicorn-level hard. Spend a day to research how many successful marketplaces exist and then another day to find for every successful marketplace the failed ones - getting a startup right might be 1:100 chances, getting a marketplace right is more like 1:10.000.
But I'm not requiring email confirmation to use the demo. Feel free to just use any random email to try it out (e.g. whatever42@blabla.com).
I did not like Duolinguo, it was too playful for me.
I prefer https://clozemaster.com/
Edit: found a screenshot https://www.programosy.pl/download/screens/19186/android-clo... which looks like a straightforward/nice learning experience indeed
This is the first time I saw a website simply firewalling a country (or ASN?); typically you get a proper error message.
Works from a Dutch mobile IP address so the site is indeed up (bless mobile data tunneling traffic through their home countries)
Just a quick note - The 'Live Demo' probably shouldn't be locked behind a login unless there's a good reason for it.
More broadly, do you plan to have general free courses? i.e. would I go to your site to hunt around for something interesting to learn, or are you always behind the scenes, and some third party is advertising their course to me (which uses this as a backend)? Just wondering about the marketplace; how/why I would end up on the site in the first place.
I agree. But there were some technical issues I'd have to deal with to make it work properly and I didn't have the time to deal with it right now.
> do you plan to have general free courses?
The marketplace (mywisek.com) will likely have free courses.
> would I go to your site to hunt around for something interesting to learn, or are you always behind the scenes
You'll be able to hunt around for something interesting to learn.