DAVID MAMANI BLOGS · AI ENGINEER / DATA ENGINEER

Designing Interactive Technical Articles

How CMS blocks, math, diagrams, and small simulations turn posts into explorable systems

A technical article should not only explain an idea. It should let the reader touch the idea, change a parameter, and feel why the system behaves the way it does.

#Why Markdown Was Not Enough

Markdown is excellent for writing quickly, but it treats every article like a long document. Interactive writing needs a stronger contract: each section should declare whether it is prose, math, code, a diagram, a metric panel, or an experiment.

#A CMS Block Is a Design Contract

The article body is now an ordered list of typed blocks. That sounds small, but it changes the system: styling becomes consistent, unsafe HTML becomes unnecessary, and future CMS entries can be rendered with the same visual language.

flowchart LR
    A[CMS block] --> B{Renderer}
    B --> C[Text]
    B --> D[Math]
    B --> E[Code]
    B --> F[Interactive lab]
    C --> G[Article]
    D --> G
    E --> G
    F --> G
javascript
{
  type: 'articleLab',
  title: 'Interactive article balance',
  narrative: 72,
  interaction: 58,
  complexity: 36
}

#The Reading Model

A good interactive article balances three forces: narrative clarity, interaction depth, and system complexity. The formula below is not universal; it is a practical editorial heuristic for deciding whether an article is ready.

S = 0.46N + 0.36I - 0.18C + 12
N
Narrative clarity
I
Interaction depth
C
Complexity cost
Interactive article balance Adjust the sliders and watch how the article score changes. The goal is not maximum interactivity; it is useful interactivity with a manageable maintenance cost.
Narrative
72
Interaction
58
Complexity
36

#What This Changes in Practice

  1. Writing stays approachable: the author chooses blocks instead of hand-coding a page.
  2. Design stays coherent: every block inherits the same typography, spacing, and theme tokens.
  3. Interactivity becomes reusable: a future post can reuse the same lab block with different defaults.
  4. The CMS becomes safer: the renderer decides what can appear, instead of trusting arbitrary HTML.
Old pathNew pathEffect
Markdown onlyTyped CMS blocksMore control over layout
Inline stylingTheme tokensFewer visual inconsistencies
One-off demosReusable blocksLower maintenance cost
Static readingInteractive readingBetter technical intuition

References

  1. Distill: Communicating with Interactive Articles
  2. Sanity Portable Text

Local time (UTC-5:00)

AI Engineer and 3x Hackathon winner specializing in agentic AI orchestration and data engineering. AWS Certified Data Engineer focused on physics, calculus, and statistics. Currently completing a B.S. in Civil Engineering.

-- × -- -- fps

AREQUIPA, PERU

AI ENGINEER / DATA ENGINEER