Diataxis Explanation
The Diataxis “Explanation” mode - oriented toward understanding rather than action, building a conceptual model for the reader.
Diataxis Explanation
Section titled “Diataxis Explanation”Diataxis (from Daniele Procida’s framework) distinguishes four modes of documentation: tutorial (learning by doing), how-to (achieving a goal), reference (looking things up), and explanation (understanding why things are the way they are). The explanation mode is the one most often missing from technical writing - and the one that makes the other three make sense.
An explanation piece does not tell you how to do something. It tells you what something is, why it was designed this way, what tradeoffs were made, how it relates to other concepts. It is the mode that builds the mental model that makes how-to guides navigable. Without explanation, readers follow steps without understanding; they succeed when the steps apply and fail when the situation varies.
Explanation is oriented toward understanding, not action. A good explanation piece could be read with no intention of ever using the described system. It is interesting in itself.
Structural conventions
Section titled “Structural conventions”- Does not contain steps or procedures (those belong in how-to or tutorial)
- Does contain “why” reasoning: design decisions, tradeoffs, origins
- Builds concepts in order: simpler before complex
- Makes relationships explicit: “X relates to Y because…”
When to use
Section titled “When to use”Concept docs, architecture explanations, “why does X work this way” posts, onboarding to a new domain, design system rationale.
When not to use
Section titled “When not to use”When the reader needs to accomplish a specific task right now. Runbooks, operational guides, reference documentation.
Pairs well with
Section titled “Pairs well with”friendly-mentor, candid, warm, blog-post-long-form
Often confused with
Section titled “Often confused with”comparison-contrast: Comparison-contrast requires at least two subjects measured against each other. Diataxis explanation examines a single subject in depth to build understanding.
Instruction
Section titled “Instruction”Write in Diataxis explanation mode. Your goal is understanding, not action - do not include stepsor procedures. Build the reader's mental model: explain what it is, why it is designed this way,what tradeoffs were made, how it relates to other concepts. Use the word "because" frequently.Make relationships explicit. Build from simpler concepts to complex ones. The piece should beinteresting to read even by someone who never intends to use the described system.Related
Section titled “Related”Pairs well with
Section titled “Pairs well with”Friendly Mentor, Candid, Warm, Blog Post (Long Form)
Avoid with
Section titled “Avoid with”Often confused with
Section titled “Often confused with”Examples
Section titled “Examples”Why Async Standups Work the Way They Do
Section titled “Why Async Standups Work the Way They Do”An async standup is not a standup without the video call. It is a different kind of coordination mechanism, built on different assumptions about when and how information should move.
To understand why the distinction matters, it helps to understand what a standup is actually trying to accomplish. The daily standup has two functions that usually coexist in the same meeting without being separated: status visibility (who is doing what, what is blocked) and team cohesion (the daily ritual of shared presence, the sense of a team operating together). Synchronous standups do both at once because everyone is in the room at the same time. Async standups separate them.
The status-visibility function works differently in async format because information becomes persistent and addressable. In a synchronous standup, a blocker mentioned verbally reaches everyone in the room, but only for the duration of the sentence. The person who can resolve it must remember it, and the people who might have the same problem next must either have been present or get told separately. In an async channel, the same information is posted, searchable, and accessible to anyone on the team regardless of timezone or work schedule. The blocker reaches the right person not because they were present but because they are mentioned directly.
The team-cohesion function does not transfer to async in the same way, and this is why async-only teams sometimes feel fragmented. Daily synchronous standups create what anthropologists call “phatic communion” - interaction whose function is social bonding rather than information transfer. “How’s it going?” is not a request for information; it is a gesture of acknowledgment. Async updates can approximate some of this through informal additions to the update template, but a Slack thread is not a room. The teams that sustain cohesion in async-first environments almost always supplement their async standup with a different synchronous ritual - a weekly working session, a monthly retrospective - that exists specifically for the cohesion function that async cannot provide.
The reason async standups often produce higher-quality status information than synchronous ones is cognitive: writing forces more clarity than speaking. A person who says “working on the auth refactor” in a standup has technically satisfied the format. A person writing the same update often notices the vagueness before they post it and adds the detail that makes it useful. The act of writing creates a moment of reflection that verbal turn-taking does not.
Why Morning Routines Matter
Section titled “Why Morning Routines Matter”This document is an explanation. It is oriented toward understanding rather than action. If you are looking for steps, see the how-to. If you are looking for a recommendation, see the executive summary. The goal here is to give you a clearer mental model of what a morning routine is doing, so that any later decision about whether and how to adopt one is informed.
What a morning routine actually is
Section titled “What a morning routine actually is”A morning routine is commonly described as “the set of things you do in the morning.” That description is true and unhelpful. A more useful definition is structural: a morning routine is a pre-committed sequence of actions that sits between waking and the first reactive demand of the day. Its function is to insert a buffer of deliberateness into a window that would otherwise be filled with reactivity.
Two pieces of that definition are doing the work. “Pre-committed” means the sequence was decided before this morning, so that this morning’s tired brain does not have to design it. “Buffer” means the routine is not the work itself; it is the space between the alarm and the first thing that demands a reply.
The problem it is solving
Section titled “The problem it is solving”The conditions of modern adult life produce a specific morning failure mode: the first hour of the day is colonized by inputs from elsewhere. Messages, news, schedules, and other people’s priorities arrive immediately and at scale. In the absence of a routine, the brain answers them in the order they arrive, and the day takes its shape from that order. By the third or fourth response, the day is no longer being chosen; it is being assembled by whoever sent the loudest input first.
A morning routine intervenes in this sequence. It puts something between waking and the first incoming demand. The content of that something matters less than the fact of it.
Why this is not a productivity question
Section titled “Why this is not a productivity question”Morning routines are often categorized as productivity practices. This framing is misleading. A morning routine is closer to a governance practice. It is not about doing more in the morning. It is about establishing, each day, that the day will be governed by something other than the inbox.
The distinction matters because productivity-framed routines tend to optimize for output (workouts completed, pages written, tasks finished) while governance-framed routines optimize for alignment (the day’s shape matches the person’s actual priorities). The two often look similar from the outside but produce different experiences from the inside.
How it compares to alternatives
Section titled “How it compares to alternatives”There are other ways to address reactive mornings. Email schedulers, focus-mode apps, and aggressive calendar blocking all attempt to manage the same problem from a different angle: by changing what reaches you, rather than by changing what you do first. These tools can be effective, but they share a vulnerability. They depend on systems that the day’s chaos can disable. A locked phone in another room is harder to disable than a software setting, and a routine you have practiced is harder to disable than a phone in another room.
The morning routine is the lowest-tech option. That is part of why it tends to outlast the alternatives.
What it does not do
Section titled “What it does not do”A morning routine does not protect you from a hard day. It does not guarantee any particular performance. It does not, by itself, make a person more disciplined, more virtuous, or more focused. What it does is make those qualities more accessible by ensuring that you arrive at the day rather than waking up already inside it.
That is a smaller claim than morning routines are often credited with. It is also the claim that holds up.
Diataxis Explanation on: Choosing between Postgres and DynamoDB
Section titled “Diataxis Explanation on: Choosing between Postgres and DynamoDB”This piece is not a how-to. It does not walk through configuring either database, nor does it tell you which one to pick for the Lattice Notify notification system on Wednesday. The goal is conceptual: by the end, you will understand why the choice between Postgres and DynamoDB is harder than it looks, and why that difficulty is structural rather than accidental.
Why these two databases represent two different theories of storage
Section titled “Why these two databases represent two different theories of storage”Postgres is a relational database. Its design intent is to model rich relationships between entities and to answer arbitrary questions about those relationships through SQL. The schema is rigid up front; the queries are flexible later. DynamoDB is a key-value (and document) store. Its design intent is to serve one well-defined access pattern at predictable latency and unlimited scale. The schema is loose; the queries must be designed up front. These are not two products competing on the same axis. They are products from different worldviews about what a database is for.
This matters because the Lattice Notify notification system has, at launch, exactly one access pattern: “give me the recent notifications for user X, ordered by time.” That is the kind of access pattern DynamoDB was built to serve. But Lattice Notify also has analytics, billing, and product-surface queries that span the user, the notification, the workspace, and the integration. Those are the kinds of queries Postgres was built to serve. Neither database is bad at the wrong job; both are designed for the right one.
Why familiarity is a real engineering quantity, not a feeling
Section titled “Why familiarity is a real engineering quantity, not a feeling”There is a temptation to treat “the team knows Postgres” as a soft consideration that should be weighted lightly because real engineers can learn anything. This is a misunderstanding of what familiarity is. Familiarity is the property that the alerts trigger on the right thresholds, that the runbooks reflect the actual failure modes, that the on-call engineer has seen this exact stack trace before and knows what query to run. Familiarity is, in effect, a body of cached knowledge that was paid for in past incidents. Discarding it has the same cost as paying for it again.
This is why the four-person on-call rotation at Lattice Notify is a load-bearing consideration in the choice. The rotation is the body that holds the familiarity. Adding a second database does not add a small new system; it bifurcates the body that holds the operational knowledge.
Why “scale” is the wrong word for what is being decided
Section titled “Why “scale” is the wrong word for what is being decided”The Postgres-versus-Dynamo conversation often gets framed as a scale question: Postgres handles small workloads, Dynamo handles big ones. This framing is wrong because Postgres handles very large workloads in production at companies much bigger than Lattice Notify. The real distinction is not scale but the shape of growth.
Postgres scales by deliberate engineering interventions: read replicas, partitioning, sharding. Each intervention requires a team to plan it, execute it, and operate it. DynamoDB scales by configuration: you increase the throughput setting and the system grows. The difference is not how much volume each can handle but how much engineering work is required per unit of growth. For a team facing 500K events/day at launch and a possible 5M events/day in twelve months, the question is whether the team has the engineering bandwidth for the deliberate interventions Postgres would require, or whether they need the property that the database scales without their attention.
Why the decision is bound to a probability, not a number
Section titled “Why the decision is bound to a probability, not a number”A common mistake in storage decisions is treating projected volume as if it were known volume. Lattice Notify’s “10x growth in twelve months” is conditional on the Slack-partnership deal closing. That deal has a probability, not a certainty. A correctly framed decision uses the probability: the expected operational cost of each option is the sum of the costs in each scenario, weighted by the probability of that scenario.
This is why Priya’s request to the CRO for a probability estimate is not a procurement step. It is the input that converts the architectural choice into a decision under uncertainty rather than a guess about the future. Without the probability, the team is choosing between databases. With the probability, the team is choosing between theories of how to absorb risk.
Understanding this is the point. Whether you choose Postgres or Dynamo on Wednesday is downstream of whether you have grasped what the choice is actually about.