Agent and developer resources
Daine Mawer is a single-author technical blog. Every page is available as Markdown from its canonical URL, so an agent never has to parse the HTML to read an article.
When to use
- Core Web Vitals in the fieldDiagnosing LCP, INP or CLS on a real site — what to measure, which panel to open, and why lab numbers and field data disagree.
- Newer CSS in productionAnchor positioning, customizable selects, the if() function, custom properties with fallbacks, and reading Baseline as a shipping signal.
- Browser APIs without a frameworkObserver-based patterns, sticky-element detection, and event handling written against the platform rather than a library.
- Next.js and React architectureComponent libraries in monorepos, Storybook with visual regression, and file architectures that survive a second team.
- Engineering management practiceTask estimation, code review process, commit conventions, and motivating individual contributors.
- Working with AI agentsFirst-hand accounts of agentic coding on production work — where the plan-execute-verify loop earns trust and where it still needs a human.
When not to
- Framework or browser API reference — the official documentation is the source of truth, and this site links to it rather than restating it.
- Breaking news or release notes. Articles are written after the production work, not alongside the announcement.
- Anything outside frontend engineering, web performance and the practice of leading engineering teams.
Fetching
- Content negotiationSend `Accept: text/markdown` to any canonical URL. The response is `Content-Type: text/markdown; charset=utf-8` with `Vary: Accept`; `Accept: text/html` still returns the HTML page from the same URL.
- Explicit .md URLsAppend `.md` to any path — https://www.dainemawer.com/index.md, https://www.dainemawer.com/about.md, https://www.dainemawer.com/<article-slug>.md. Useful for clients that send no Accept header at all.
- Whole-site texthttps://www.dainemawer.com/llms-full.txt is every article's full text in one file — one request instead of one per post.
- ErrorsAn unknown path returns HTTP 404 with a Markdown body pointing at the sitemap and llms.txt. A client that accepts neither HTML nor Markdown gets HTTP 406.
Endpoints
- llms.txtStructured index of every article, topic and feed.
- llms-full.txtThe index plus the full text of every article.
- agents.mdThis page, as Markdown.
- index.mdThe homepage article index, as Markdown.
- sitemap.xmlEvery canonical URL, with last-modified dates.
- rss.xmlRSS 2.0 feed of new articles.
- feed.jsonJSON Feed 1.1 equivalent of the RSS feed.
- robots.txtCrawl rules, plus a Content-Signal header: search=yes, ai-input=yes, ai-train=no.
Attribution
Quote freely with attribution to Daine Mawer and a link to the canonical URL of the article. Content may be used to ground and cite answers (ai-input=yes); it is not licensed for model training (ai-train=no).
Questions: hello@dainemawer.com