Feature request: Duolingo Skill/Lesson Learning Tracking

Having just gotten started with Beeminder, it’s exciting to see Duolingo integration. The point/XP tracking is great, and a notch above the standard charts Duolingo offers. What would be even better, however, would be some sort of automatic tracking of tree skills/lessons learned, above and beyond any XP metrics.

I have installed userscripts from here: http://duolingo.wikia.com/wiki/Duolingo_Userscripts that allow for a display of X lessons learned out of Y on my tree home page. I don’t have (m)any technical skills, so I am not 100% sure if this is feasible or if the data is “publicly” available like the XP stats seem to be. For example, for someone going on vacation and looking to learn the language of their destination, it would be great encouragement to be able to set “Complete the French tree by X date,” and use lessons as the unit of measurement. Thanks.

1 Like

How do you plan to handle the lessening strength of each lesson? Over time, the gold color is replaced by a bar intending to show that you need to keep practising that particular topic.

1 Like

I don’t know what data is or isn’t exactly available for consumption, but perhaps there could be 3 separate types of Beeminder goals associated with Duolingo:

  1. XP per day or a target XP at a given date (currently implemented)
  2. Boolean tree completion (was this lesson/skill completed? aiming towards simple tree completion. The metric would be X lessons completed out of Y lessons)
  3. Percentage tree completion (was this lesson/skill completed and what is it’s current strength? aiming towards tree completion and fully golden trees. The metric would be (X lessons complete * strength(X))/Y lessons available.)

A fellow user here has come up with a userscript that gives a percentage strength for each skill. I think that that could go towards answering your question. I guess, though, that we are getting into grey areas if we are trying to rely on unofficial APIs and scraping.


I know this isn’t exactly what you’re asking for, but I just required myself to a certain amount of XP per day and outside of Beeminder I required myself to alternate between training up existing skills and learning new ones.


I did this today on my own server thing. Using the duolingo unofficial API that I think Beeminder is using (GitHub - KartikTalwar/Duolingo: Unofficial Duolingo API Written in Python), it was:


The data comes across as a cumulative number, so the goals are odometer-style. (My first odometer style goals!)

It’s actually weirdly complicated for me to put up a server to let everyone do this on their accounts, and then they’d be giving me their Duolingo password and honestly I don’t even want to deal with that, so…

(@dreev, this would be a pull request when you get to open sourcing autodata :slight_smile: )

1 Like

(In related news, I am making progress on setting up a Heroku dealie to let people run my Python snippets on their account without needing a development environment.)