<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Artem Markovskyi</title>
    <description>The latest articles on DEV Community by Artem Markovskyi (@markovskyi).</description>
    <link>https://dev.to/markovskyi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2786341%2Fea36f5de-662a-4794-9e37-f95f3d33dc35.jpg</url>
      <title>DEV Community: Artem Markovskyi</title>
      <link>https://dev.to/markovskyi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/markovskyi"/>
    <language>en</language>
    <item>
      <title>Is there a Duolingo for coding? Now there is one</title>
      <dc:creator>Artem Markovskyi</dc:creator>
      <pubDate>Sun, 15 Nov 2026 12:41:59 +0000</pubDate>
      <link>https://dev.to/markovskyi/is-there-a-duolingo-for-coding-now-there-is-one-5gpb</link>
      <guid>https://dev.to/markovskyi/is-there-a-duolingo-for-coding-now-there-is-one-5gpb</guid>
      <description>&lt;p&gt;I kept bailing on new programming courses. After the workday I had no energy left, and I didn’t want to start my day with a 30-minute learning session either.&lt;/p&gt;

&lt;p&gt;I’ve had a Duolingo streak for about a year and never had trouble keeping it up — it’s just &lt;strong&gt;3 minutes a day&lt;/strong&gt;. Doing it every morning has become part of my routine. I wished there were a Duolingo for coding.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fexp9tbmzo9dbfuimb9tb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fexp9tbmzo9dbfuimb9tb.png" alt="Cartoon owl in round glasses typing code on a laptop at a wooden desk" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After researching learn-to-code apps like Sololearn, Enki, Mimo and Brilliant, I found that they all have strong learning and streak systems, but the &lt;strong&gt;content was boring&lt;/strong&gt; for me — I wished I could follow the newest official docs or advanced courses using such bite-sized lessons with habit-building streaks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2ncskq6d4p2xoy72oo1b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2ncskq6d4p2xoy72oo1b.png" alt="App Store screenshots of the learn-to-code apps Sololearn, Enki, Mimo and Brilliant" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I tried using the ChatGPT and Claude mobile apps to feed them content and generate a custom course with 3-minute lessons. However, I really missed the &lt;strong&gt;accountability&lt;/strong&gt; which Duolingo gives you and the &lt;strong&gt;convenience&lt;/strong&gt; of just opening a dedicated app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6pb7euhribleioqjz6yb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6pb7euhribleioqjz6yb.png" alt="Handshake meme: two businessmen with the ChatGPT and Claude app icons as heads" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Building a Duolingo for coding
&lt;/h3&gt;

&lt;p&gt;So I decided to create Nano Learny, a microlearning app — simple interface, streak system, ability to &lt;strong&gt;import content from any webpage&lt;/strong&gt; (official docs, course, article).&lt;/p&gt;

&lt;p&gt;A big challenge was to collect the info from different pages, without mixing it with other materials on the web. I came up with a solution — you paste a link, the backend scrapes all pages in the section, evaluates them using AI and shows the full structure with preselected pages for your review.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff7fh1leydc5thzbcdlw6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff7fh1leydc5thzbcdlw6.png" alt="Nano Learny import screen with a Django docs link, and the page picker for the Getting started with Django course" width="800" height="661"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How the lessons are made
&lt;/h3&gt;

&lt;p&gt;Each lesson is made from approximately &lt;strong&gt;600 words&lt;/strong&gt; of the source: &lt;strong&gt;12–15 cards&lt;/strong&gt; , with 5–8 short info cards and 7 questions (choose from 3 options, true/false, short answer). The AI gets previous lessons as context, so it can balance new facts with reinforcing what you’ve already learned.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9nov7e7e4p3dhdruzhpm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9nov7e7e4p3dhdruzhpm.png" alt="Nano Learny, a Duolingo for coding: a Rust lesson card and a quick-check quiz question" width="800" height="731"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I noticed that we still had small inaccuracies. So I introduced a second phase after generation — another AI goes through all the lessons, compares them with the original page(s) and &lt;strong&gt;searches for issues&lt;/strong&gt; : unnecessary repetitions, missing key facts, incorrectness, questions out of the blue.&lt;/p&gt;

&lt;p&gt;That brought the success rate higher, but since it’s AI-generated, there’s always room for error. If you spot an inaccuracy in a lesson, you can report it and let AI regenerate that chunk &lt;strong&gt;with your instructions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl5pvfwawod0m0hxodpc2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl5pvfwawod0m0hxodpc2.png" alt="A quiz question with an imprecise answer, and the Report a problem screen with Fix it now with AI selected" width="800" height="731"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have courses for the &lt;strong&gt;most popular technologies&lt;/strong&gt; already imported. You can just choose from the store and start right away.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ify83z66ee5bctbwwyx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ify83z66ee5bctbwwyx.png" alt="Nano Learny store with ready-made learnies for Python, JavaScript, TypeScript, PostgreSQL, Docker, Kubernetes and Git" width="800" height="731"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can try it now in the web version at &lt;a href="https://app.nanolearny.app/?utm_source=devto&amp;amp;utm_medium=blog&amp;amp;utm_campaign=duolingo-for-coding" rel="noopener noreferrer"&gt;nanolearny.app&lt;/a&gt; — it has 5 free credits for new users. The iOS app is coming soon.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnwqhts96fr0tzjuxmfru.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnwqhts96fr0tzjuxmfru.png" alt="Nano Learny — Daily Lessons app icon in App Store Connect, iOS 1.0 Pending Developer Release" width="799" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m building Nano Learny alone (follow the process on &lt;a href="https://www.linkedin.com/in/markovskyi/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; and &lt;a href="https://x.com/ArtemMarkovskyi" rel="noopener noreferrer"&gt;X&lt;/a&gt;), so I’d really like to hear your feedback. Leave a comment, I read all of them.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
