1.01^n

Why I built a library instead of a course

When I started thinking about what 1.01^n would be, the obvious format was a course. Courses are the lingua franca of online education. They have a clear structure, a clear value proposition, and a clear production process.

I decided against it. Here is why.

Courses require a curriculum

A curriculum is an argument about what you need to know, in what order, and at what pace. This argument has to be made before the course is built and held constant through the production process. The moment you commit to a curriculum, you are committed to a particular model of how understanding develops.

I do not have that much confidence in my model. What I do have is confidence in specific pieces of material: essays, books, talks that I have returned to many times and consistently found to be genuinely useful. The list of things I am confident about is much shorter than what a course curriculum would require.

A library lets me start there and add only when I am confident. There is no artificial requirement to fill a module.

Courses age

Every course I have seen that deals with software engineering has a timestamp embedded in it. The tools it references, the problems it emphasizes, the solutions it recommends -- all of these reflect a specific moment in the field's development.

This means courses require maintenance. Add a video on a changed API. Update the section on deployment to reflect a framework that has replaced the one you originally covered. Remove the content on a library that is now deprecated. This is an ongoing cost that compounds.

The material I curate does not have this problem. Parnas wrote about module decomposition in 1972. It is still correct. Naur wrote about programming as theory building in 1985. It is still correct. These pieces will not require updating because they are about things that do not change.

Courses create pressure to produce

Once you have a course, you need to grow it. Students expect new content. The business model requires continued investment. The completion data shapes what you add next. You end up producing content because the product demands it, not because you have something worth saying.

I have read a lot of material that was produced to fill a content calendar. It reads that way.

The library adds an entry only when I find something that genuinely belongs there. The selection criteria is simple: would I recommend this to someone I respect, without hesitation? If yes, it is a candidate. If I am not sure, it waits.

This means the library grows slowly. That is the point.

What a library does instead

A library is a selection. It says: of everything I have read, these are the things that have stayed with me, that I return to, that I would want someone I care about to encounter.

This is a different kind of claim than a course makes. A course says: follow this path and you will acquire this skill. A library says: here are the best pieces of the conversation. Engage with them at your own pace, in whatever order makes sense, and let them compound over time.

The library model also respects the learner differently. A course implies a structured path from ignorance to competence. A library implies that you already have the agency to direct your own learning; it just gives you better material to work with.

The format implications

One-time payment, lifetime access. No subscription, no engagement metrics to chase, no pressure to log in weekly or the content expires.

This is a direct consequence of the library model. A subscription implies ongoing delivery of new material. A one-time payment implies: here is the selection, it is yours, engage with it on your terms.

The incentive alignment is cleaner. My incentive is to make the selection as good as possible. Your incentive is to find the material that is most useful for where you are. There is no dynamic where I benefit from keeping you logged in, or where you benefit from completing modules to maintain access.

This is a small business. It is not trying to be a large one.