HTML is All You Need (for Agents to Make Graphics) - Amol Kapoor, Nori

AI Engineer · 2026-06-28

This video argues that AI agents struggle with spatial reasoning in visual tools like PowerPoint or Figma, which are designed for human interaction (clicking, dragging). This limitation stems from the mismatch between how humans perceive visual layouts (graphically) and how agents process these tools (through proprietary, pixel-based data structures). The solution proposed is to leverage HTML as an intermediary: a language-based medium that models can understand and manipulate structurally, allowing them to create complex visual artifacts like slides, documents, and even videos efficiently by reasoning about meaning rather than pixels. This approach significantly speeds up content generation and eliminates manual “fiddling” for human users.

read more

The core argument presented is that coding agents are often misunderstood. While commonly perceived as only writing code, they are capable of doing almost anything. The key challenge, however, lies in understanding how to interact with them effectively. The video highlights a critical mismatch between human interaction with visual tools and AI agent capabilities.

Traditional visual design tools like PowerPoint, Google Slides, Figma, and Canva are built for human interaction. They involve actions like clicking, dragging, dropping, resizing, and snapping to a grid. These actions are intuitive for humans because we perceive and reason about the world geospatially. However, the underlying data structures of these tools are often proprietary formats that represent visual elements in terms of pixels or coordinates (e.g., XML representations of shapes and positions).

When an AI agent is tasked with generating content using these human-centric tools, the output is often poor: elements overlap, text is unreadable, and alignments are off. This is because agents, despite their advanced capabilities, lack the inherent spatial reasoning that humans possess for visual canvases. Benchmarks like ARC-AGI, designed to test spatial reasoning, reveal this weakness in current models, showing outputs that are functionally incorrect or nonsensical when asked to generate SVG (Scalable Vector Graphics), which is essentially a "wall of numbers" describing paths and shapes programmatically.

The video asserts that the problem isn't with the AI models themselves, but with the medium they are forced to interact with. Asking an AI to manipulate pixels on a canvas is akin to asking a human to hand-write SVG code – it's unnatural and inefficient. AI models think in language, in terms of words, tokens, and semantic structures. Therefore, to enable agents to create effective visual artifacts, they need to be given tools that align with their native medium of understanding.

The proposed solution is to use HTML (HyperText Markup Language). HTML offers a language-based structure for visual layout that AI models can readily comprehend and manipulate. Unlike proprietary formats, HTML elements like `<h1>`, `<div>`, `<table>`, or `<canvas>` have inherent meanings built into the language. A browser then interprets this meaningful structure and renders it into pixels. This means the AI model never directly places a coordinate or thinks about pixels; it reasons about the semantic structure, and the browser handles the visual translation. This approach provides several advantages:

Intuitive for Models: HTML's structured, semantic nature aligns with how AI models process information. Rich Visual Effects: By manipulating HTML, agents can achieve charts, layouts, fonts, and animations, all derived from the underlying structure. Flexibility and Editability: HTML is human-readable and editable, allowing for easy collaboration and fine-tuning after initial generation. Broad Compatibility: HTML renders effectively across various platforms and devices.

Nori Agentic, the company behind this video, applies this principle to generate various visual artifacts. They build all their slide decks, docs, and even videos (like the one being watched) using HTML. This allows them to create fully formatted and branded content from a single prompt. For example, a quarterly report document generated by their agent will have color, vibrancy, and adherence to brand guidelines, because the agent understands the meaning of a 'heading' or a 'note' within the HTML structure. This approach drastically reduces the "fiddling" time associated with traditional tools, freeing up human effort for higher-level thinking, vision, and storytelling.

The video concludes with a key takeaway for engineers working with AI: "Stop thinking like a user. Think like the model." This means providing agents with the right language – HTML – for graphics generation, enabling them to excel in creating visual artifacts by leveraging their strengths in structured reasoning.

Quoting OpenAI

Simon Willison · 2026-06-26 · 2 min read

OpenAI announced the GPT-5.6 model family with three tiers (Sol, Terra, Luna) at significantly different price-to-performance tradeoffs, and introduced a notable pricing change where prompt cache writes now cost 1.25x the base input rate while cache reads still get a 90% discount. This matters because engineers building LLM-powered systems need to reassess their caching strategies — what was previously free to write to cache now has an explicit cost, changing the economics of applications that rely heavily on prompt caching for long system prompts or repeated context.

AI and Liability

Simon Willison · 2026-06-25 · 1 min read

A German court ruled Google liable for inaccuracies in its AI-generated search overviews, establishing the legal principle that companies cannot dodge responsibility for AI outputs the way they might blame a faulty tool. This matters because it directly shapes how you architect and deploy AI-powered features — if your company is legally accountable for what your AI says or does, "the model hallucinated" is no longer an acceptable defense, and that has real implications for validation, human review pipelines, and risk tolerance in production systems.

Bliki: Vibe Coding

Martin Fowler · 2026-05-21 · 4 min read

TLDR: Vibe coding — building software by prompting an LLM without ever reading the generated code — is fundamentally different from agentic programming, where developers still review and reason about LLM-written code. The distinction matters: vibe coding is only appropriate for throwaway, low-stakes software used by a small, risk-aware audience, because the lack of code oversight creates serious compounding risks around security, correctness, and maintainability. Conflating it with agentic programming obscures those risks.

Itchy Brain

Kent Beck · 2026-05-20 · 1 min read

Kent Beck and Michael Grinich (whose company provides enterprise developer infrastructure) examine how AI is driving down the marginal cost of software toward zero and what that means for engineering organizations, drawing on Red Queen competitive dynamics to argue that the entire ecosystem is accelerating in ways most engineers are misreading. This matters because senior engineers making architectural, tooling, or career decisions right now are likely operating on flawed assumptions about the pace and nature of this shift.

Maintainability sensors for coding agents

Martin Fowler · 2026-05-19 · 10 min read

TLDR: Static analysis tools like ESLint are more valuable with AI agents than ever, but require deliberate configuration — default presets don't cover the failure modes agents are prone to (long functions, high complexity, too many arguments). The real leverage comes from customizing linter output to include corrective guidance, effectively turning lint warnings into targeted prompts that let agents self-correct before issues escalate. This also makes previously tedious warning management more tractable, since agents can consistently apply judgment calls and inline suppressions that human teams rarely bothered with.

Hey, N00b, We Didn't Hire You to Complete Tasks

Kent Beck · 2026-05-15 · 6 min read

TLDR: Senior engineers aren't measuring new hires by task throughput — they're betting on your growth trajectory. What separates high performers isn't speed, but the learning extracted from each task: questioning whether work is needed, refactoring beyond the ticket, shipping incremental diffs, and writing up insights. Do the task in reasonable time, but never the minimum time — that leftover investment in depth is exactly what gets you flagged as someone worth developing.

Engineering a culture

Bryan Cantrill · 2024-03-31 · 5 min read

TLDR: Oxide's engineering culture is built deliberately around peer esteem and psychological safety — hiring explicitly for values, eliminating silos, and using rituals like weekly company-wide demo sessions to drive curiosity and cross-functional empathy. The key insight is that culture must be intentional but not rigid: it's a set of reinforcing practices (uniform pay, radical openness, no performance reviews) rather than rules, and its only real cost is the ongoing effort required to maintain it.

What punch cards teach us about AI risk

Bryan Cantrill · 2023-11-26 · 6 min read

TLDR: The real risk of AI isn't autonomous machines destroying humanity — that framing is a distraction that lets actual humans off the hook. IBM's role in the Holocaust shows how technology amplifies human intent, and that the danger lies in profit-driven actors willfully ignoring how their tools are weaponized. The answer isn't prohibiting technology or accelerating it blindly, but enforcing existing laws against companies that choose to violate them.

Professional Programming: The First 10 Years

Thorsten Ball · 2022-05-17 · 15 min read

TLDR: The biggest shift over a decade of professional programming is realizing that technical excellence is a means, not an end — delivering value to customers is the only goal that actually matters. Everything else (test coverage, clean code, elegant APIs, dependency hygiene) is only worth doing insofar as it serves that goal. Technical work that can't be connected to a business outcome is, however impressive, wasted effort.