Patterns, structures, and the ideas between them
Once by the book.
Once where it matters.
Learn the shape of an idea, then see what happens when you use it. Explore patterns, data structures, and everyday programming decisions, with the connections between them kept in view.
Want to help shape heyrian? Share feedback or contribute
Find your way into the same world.
Start with the question you have. Follow the connections as you go.
Checking your saved reading marks…
-
Design patterns
Recognize the shapes behind how software creates things, composes behavior, and shares responsibility.
Creation and lifecycle · Composition and interfaces · Behavior and collaborationExplore design patterns -
Data structures & algorithms
Store it, find it, work through it. Understand what each operation costs and which structure fits the job.
Foundations and cost · Sequences and ordered work · Lookup, membership, and evictionExplore DSA Applied algorithms
Find a near match, plan a route, shuffle fairly, or shrink an image. Discover the algorithms behind useful little surprises.
Text, names, and changes · Routes and connections · Matching and making choicesComing soon-
Concepts & practices
The ideas underneath the code: language models, types, errors, concurrency, testing, and stored data.
Design principles and language mechanisms · Language and runtime models · Data modeling and type designExplore concepts & practices Authoring Architecture
Follow a request, a change, and its data through the frontend, the backend, and the parts in between.
Client and server · Failure and evidence · Decompose a systemComing soonSystem design
Design for changing traffic, shared data, and partial failure. Follow the trade-offs from a single request to the whole system.
Requirements and design budgets · Serving traffic · Caching and content deliveryComing soonWorking with agents
Use AI to write code you can still trust. State the rules, let the agent work, then check the structure instead of every line.
Enforcement · Architecture as intent · Testing without agreementComing soonPlatform
A map of the tools you adopt rather than write: brokers, caches, stores, queues, service toolchains, third-party providers, the client cache, and what each cloud calls them. Learn what the options are, what each one promises, what it costs, and how little of your code has to know it is there.
Ports and adapters · Events and messaging · Caches and ephemeral stateComing soonProjects
Put the ideas to work. Start with focused backend and frontend exercises, then build toward projects with failure modes, recovery, and evidence you can explain.
Beginner paths · Full project briefs · Chaos drillsComing soon
From idea to consequence
What changes when the idea leaves the page?
A pattern is easy to recognize in isolation. The interesting part begins when it meets state, time, and failure. Start with Factory or Stack, then follow the connections into the broader ideas.
When the happy path ends
What happens when the system repeats?
Senior engineering begins where “we have retries” stops being an answer. Follow what a timeout means, what can safely happen twice, and which state the next attempt can trust.
Start with the boundary. Name the uncertainty before choosing the mechanism.
Still taking shape
A living map of software ideas.
This site is a work in progress. More lessons, comparisons, and experiments will arrive as each idea earns a clear example and a useful connection to the next one.