End-user databases are all the buzz these days — Notion, Airtable, Coda, Roam, etc. These products have made it possible for people to model information in a way that feels more natural and intuitive to the way we experience it in our daily lives.
I love building products like Notion, but building these kinds of products is hard. For two reasons:
This second challenge is more technical and I will hide all of these programmer-related details behind a toggle so you don’t have to read them if you’d like.
I plan to address this first reason by giving you a mental model of what databases are and a first-principles understanding of how they work.
I’ll introduce databases as an abstract concept and then we’ll work through a real-world example to explore how databases leverage sorting and filters to lookup information quickly.
By the end, I hope to show you how these information architecture concepts are immensely powerful and totally approachable for non-technical people.
Lastly, I want to convince you that software based on these concepts will be far superior to anything we use today for end-user database applications. If these concepts are interesting to you, please reach out! I love sharing ideas. 😁
Databases are filing cabinets.
Databases don’t have to be so complicated. If you strip away all the fancy semantics, you end up with something simple and familiar.
Dictionary
Calendar
Filing Cabinet
Dictionaries, calendars, and filing cabinets are particularly useful because they represent information in a sorted order, making it possible for us to retrieve information quickly and efficiently using a process called binary search. Databases are no different, they’re also containers of sorted information.
Binary search