About

Twenty minutes at a time.

The kind of software you would normally treat as a black box — databases, compilers, codecs — written in bite-size pieces.

Why it exists

My name is Ken Powers, and I built this site because I wanted a way to keep my skills sharp. A small challenge to work through every day sounded right, but I had no desire to grind leetcode puzzles that go nowhere.

My original idea was to generate realistic one-off problems to solve on a daily basis. Then it clicked: what if each challenge built on the last, so a few weeks of twenty-minute sessions added up to something real? That is how 20minutes.dev came to be.

What to expect

These projects scratch the surface, on purpose. They are not going to make you a subject-matter expert in any one area, and they are not trying to. Each one gets you to a real, working core and a genuine understanding of how the thing works.

Every project also has links for further reading if you want to go deeper.

On the format

The spec-first shape of these projects - a small Given/When/Then target with exact, known-good values that you write your code to satisfy - was inspired by Jamis Buck’s The Ray Tracer Challenge. If that format clicks for you, you might want to consider buying the book.

How the projects are made

The lesson plans are generated by Claude Opus, and then independent Sonnet agents build each project step by step: every lesson is implemented from scratch in a real programming language against its spec. The Sonnet agents report feedback to the parent Opus session which then tunes the lessons. The full process is documented in the skill that generates them.

License

Everything here is dedicated to the public domain under CC0.

Ready to build something? Browse the projects →