<?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: babylonace</title>
    <description>The latest articles on DEV Community by babylonace (@babylonace).</description>
    <link>https://dev.to/babylonace</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%2F4233510%2F504841d2-2636-46a7-98d6-b7d429e20ddf.png</url>
      <title>DEV Community: babylonace</title>
      <link>https://dev.to/babylonace</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/babylonace"/>
    <language>en</language>
    <item>
      <title>I'd stopped reviewing the basics, so I built a small site to practice them</title>
      <dc:creator>babylonace</dc:creator>
      <pubDate>Sun, 08 Nov 2026 12:28:39 +0000</pubDate>
      <link>https://dev.to/babylonace/id-stopped-reviewing-the-basics-so-i-built-a-small-site-to-practice-them-2kdi</link>
      <guid>https://dev.to/babylonace/id-stopped-reviewing-the-basics-so-i-built-a-small-site-to-practice-them-2kdi</guid>
      <description>&lt;p&gt;Hi Devs 👋 This is my first post here!&lt;/p&gt;

&lt;p&gt;I use AI tools every day for coding (as the workplace keeps asking for faster and better results every day!), and somewhere along the way I stopped reviewing the basics 😅 The things they ask you in interviews, the ones you're supposed to just know.&lt;/p&gt;

&lt;p&gt;So I made Repaso, a free site to practice for software interviews, in English and Spanish. "Repaso" means review in Spanish, which is all this is 📚 It has 897 questions across 17 topics. You don't need an account and there are no ads. You open it and the first question is already there 🚀&lt;/p&gt;

&lt;p&gt;&lt;a href="https://repaso.babylonace.dev/" rel="noopener noreferrer"&gt;https://repaso.babylonace.dev/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqnskr85c5krxbawcwi5s.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqnskr85c5krxbawcwi5s.gif" alt="A short demo of Repaso: answering a question, reading the explanation, and the results screen" width="719" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📦 Five boxes
&lt;/h2&gt;

&lt;p&gt;Progress uses five boxes, Leitner style. A right answer moves a question up one box. A miss sends it back to box 1. Wait times per box: same day, 1, 3, 7 and 16 days. Misses come back the same day for you to 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%2Fyajfzb44gmkk71t6j25k.jpg" 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%2Fyajfzb44gmkk71t6j25k.jpg" alt="The results screen after a session, with the five boxes and how many questions are in each" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;"I don't know" is its own answer. You see the explanation and it doesn't count as a miss 🙌&lt;/p&gt;

&lt;p&gt;There's also a random mode, a misses-only mode and a timed exam (30, 60 or 90 seconds per question) ⏱️&lt;/p&gt;

&lt;h2&gt;
  
  
  🔒 Local by default
&lt;/h2&gt;

&lt;p&gt;Your progress is saved in your browser, and the site works offline after the first visit thanks to a service worker. You can sign in with Google or GitHub to use it on another device, but nothing depends on that, and nothing is sent anywhere unless you sign in. A test checks that ✅ There's also a strict Content-Security-Policy, and no third-party scripts, fonts or styles.&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ How it's built
&lt;/h2&gt;

&lt;p&gt;I built it with Claude Code, then ran a separate review pass. I still use Claude Code every day to look for things to improve. The questions and explanations are AI-assisted too.&lt;/p&gt;

&lt;p&gt;It's plain HTML, CSS and JavaScript modules, no framework. &lt;code&gt;package.json&lt;/code&gt; has no dependencies at all; the browser tests use Playwright, installed separately. One small Node script builds the site and writes a static page for every question and topic, plus a sitemap, so search engines can read it without running any script. Deploys go through GitHub Actions only after the unit and browser tests pass.&lt;/p&gt;

&lt;p&gt;Each question has a stable id, and the Spanish version lives in a separate file matched by that id. Another test makes sure a translation keeps every code span and the same line structure, so code never gets translated by accident.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 The hardest part
&lt;/h2&gt;

&lt;p&gt;Figuring out what people want the second they land. For me that meant opening straight on a question, with nothing to set up first. Without that, it's easy to build something much more complicated than it needs to be.&lt;/p&gt;

&lt;h2&gt;
  
  
  🙋 Want to help?
&lt;/h2&gt;

&lt;p&gt;The content is plain JSON under CC BY 4.0 and the code is MIT. If you spot something to improve, every question has a "Suggest a question or fix" link. And if an interviewer asked you something that isn't there, I'd love to add it 🎉&lt;/p&gt;

&lt;p&gt;Code and content: &lt;a href="https://github.com/babylonace/repaso" rel="noopener noreferrer"&gt;https://github.com/babylonace/repaso&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>career</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
