Logo of Abhijeet Dwivedi

Primitives

Think about the Greeks and their model of planetary orbits. They chose circles as their primitive because circles are simple and seemed perfect for the heavens.

Kepler's Solar System

For 1,500 years, no one questioned this fundamental choice. As astronomers gathered more data, they noticed that planets did not quite follow circular paths. Rather than reconsidering their primitive, they invented epicycles — circles within circles. It was a workaround based on a firm belief that a circle is the right primitive. The epicycles made the model of the solar system messy and complicated.

Then came Johannes Kepler. He decided to try a different primitive: ellipses. With the sun at one focus of these elliptical orbits, everything clicked. The planets' movements matched the observations perfectly, and all those epicycles vanished. The system went from convoluted to elegant, just by changing the underlying primitive.

This pattern shows up a lot in systems where complexity has built up over time. We start with a simple primitive that seems right, then add layers of patches to make it work.

We can see this same pattern in modern tech. Internet is built on hyperlinks - simple pointers from one page to another. Now we're dealing with an internet optimized for clicks. To solve this (in so far as it is a problem) we need a new primitive. When people talk about 'the new internet' (web3) - they often mean they are building on a new primitive.

If you are seeing a system growing more complex over time - with endless special cases and patches - it is likely time to find a new primitive.