# Daine Mawer

> Staff Engineer, Web Applications at Fueled, based in Cape Town, South Africa. Frontend engineering, web performance, JavaScript, CSS, and engineering management.

This is the Markdown representation of the homepage: a reverse-chronological index of every article. Each link below points at the article's Markdown twin.

## Articles

- [Using CSS's New if() Function Without Breaking Safari and Firefox](https://www.dainemawer.com/css-if-function-safely.md):
  Published 2026-09-18. 5 min read. One inline conditional to replace three separate at-rules, once the rest of the web catches up.
- [CSS Can Finally Replace Your Tooltip and Dropdown Libraries](https://www.dainemawer.com/css-anchor-positioning-customizable-select.md):
  Published 2026-09-16. 5 min read. Anchor positioning and customizable selects both have real browser support now. Here's what to drop, what to keep, and where the gaps still bite.
- [Why AI Coding Agents Need WIP Limits Too](https://www.dainemawer.com/wip-limits-for-ai-agents.md):
  Published 2026-09-14. 6 min read. A framework for deciding how many agents one engineer can actually run at once.
- [Migrating to TypeScript 7 Without Breaking Your Toolchain](https://www.dainemawer.com/typescript-7-native-compiler-migration.md):
  Published 2026-09-11. 5 min read. The native compiler is 8-12x faster. The programmatic API isn't ready yet, and that's where teams get burned.
- [How to Orchestrate Multiple AI Coding Agents Without Losing Architectural Control](https://www.dainemawer.com/orchestrating-multiple-ai-agents.md):
  Published 2026-09-11. 5 min read. A framework for staff engineers directing several agents at once, not just reviewing what one of them wrote.
- [Keeping the Junior Engineering Pipeline Alive in the AI Era](https://www.dainemawer.com/keeping-the-junior-pipeline-alive.md):
  Published 2026-09-09. 7 min read. A framework for growing junior engineers now that AI has automated most of the entry-level workload.
- [How to Review AI-Generated Code Without Becoming a Bottleneck](https://www.dainemawer.com/reviewing-ai-generated-code.md):
  Published 2026-09-07. 5 min read. A framework for staff engineers reviewing pull requests an agent wrote.
- [Leading With AI: What Helped Me Through the Hard Parts](https://www.dainemawer.com/leading-with-ai.md):
  Published 2025-10-05. 6 min read. How I used AI through the Monocle.com rebuild.
- [The Rise of No-Code and Low-Code in Frontend Development](https://www.dainemawer.com/no-code-low-code-frontend.md):
  Published 2025-01-15. 3 min read. Benefits, challenges, and the role of AI.
- [Using CSS Custom Properties with Fallbacks for Efficiency](https://www.dainemawer.com/css-custom-properties-fallbacks.md):
  Published 2024-05-06. 3 min read. Less boilerplate, fewer surprises.
- [What Is Google Baseline and Why Does It Matter?](https://www.dainemawer.com/what-is-google-baseline.md):
  Published 2024-04-28. 3 min read. Interoperability across browser vendors, explained.
- [How to Determine When a Sticky Element is Stuck in JavaScript](https://www.dainemawer.com/determine-when-a-sticky-element-is-stuck.md):
  Published 2024-03-14, updated 2026-02-09. 2 min read. A small JavaScript function for the pseudo-class CSS never gave us.
- [Mastering Task Estimation with the FATE Framework](https://www.dainemawer.com/mastering-task-estimation.md):
  Published 2024-03-12. 2 min read. Accurate timelines, and a happy client.
- [Enhance Your React App's Scalability with Storybook and Chromatic](https://www.dainemawer.com/react-scalability-storybook.md):
  Published 2024-02-05. 9 min read. Component libraries and visual regression testing.
- [Understanding Chrome's Coverage Panel](https://www.dainemawer.com/understanding-chromes-coverage-panel.md):
  Published 2023-11-27. 4 min read. Leveraging its insights to optimise performance.
- [Setting Up Next.js with a Component Library Using Monorepos](https://www.dainemawer.com/nextjs-component-library-monorepo.md):
  Published 2023-11-20. 5 min read. A component library, Storybook, and Next.js, all in one workspace.
- [10 Techniques for More Effective Code Reviews](https://www.dainemawer.com/effective-code-reviews.md):
  Published 2023-02-21. 6 min read. Practical ways to make code review less painful and more useful.
- [4 Tips for Properly Using the Return Statement in JavaScript](https://www.dainemawer.com/using-the-return-statement.md):
  Published 2023-02-13. 3 min read. A few rules that keep return statements from causing quiet bugs.
- [Enforcing Consistent Commit Messages with CommitLint](https://www.dainemawer.com/leveraging-commitlint.md):
  Published 2023-01-19. 2 min read. A style guide for commits, and a hook that actually enforces it.
- [5 Frontend File Architectures for Better Code Organization](https://www.dainemawer.com/frontend-file-architectures.md):
  Published 2023-01-18. 4 min read. Flat, hierarchical, modular, component-based, and feature-based, compared.
- [How to Motivate and Inspire Individual Contributors](https://www.dainemawer.com/motivate-individual-contributors.md):
  Published 2023-01-09. 3 min read. Five things that actually move the needle, beyond an annual review.

## Topics

- [Web Performance](https://www.dainemawer.com/topics/performance.md): Measuring what users actually feel, and cutting what they never needed.
- [JavaScript](https://www.dainemawer.com/topics/javascript.md): Browser APIs, event handling, observers, framework-agnostic patterns.
- [CSS](https://www.dainemawer.com/topics/css.md): Custom properties, positioning, Baseline and interoperability.
- [Engineering Management](https://www.dainemawer.com/topics/engineering-management.md): Estimation, scoping, team process.
- [Staff Engineering](https://www.dainemawer.com/topics/staff-engineering.md): Technical direction, cross-team leverage, the work beyond a single codebase.
- [AI](https://www.dainemawer.com/topics/ai.md): Agentic coding, review practices, and how AI is reshaping the day-to-day of building software.

## Pages

- [About](https://www.dainemawer.com/about.md): Work history, speaking, and how to verify who's writing this.
- [Uses](https://www.dainemawer.com/uses.md): The hardware and software behind the articles.
- [Now](https://www.dainemawer.com/now.md): What has my attention this month.
- [Agents](https://www.dainemawer.com/agents.md): When to use this site, and every machine-readable endpoint.
- [Privacy](https://www.dainemawer.com/privacy.md): What this site collects, and what it doesn't.

## Machine-readable

- [llms.txt](https://www.dainemawer.com/llms.txt): Structured index of every article, topic and feed.
- [llms-full.txt](https://www.dainemawer.com/llms-full.txt): The index plus the full text of every article.
- [agents.md](https://www.dainemawer.com/agents.md): This page, as Markdown.
- [index.md](https://www.dainemawer.com/index.md): The homepage article index, as Markdown.
- [sitemap.xml](https://www.dainemawer.com/sitemap.xml): Every canonical URL, with last-modified dates.
- [rss.xml](https://www.dainemawer.com/rss.xml): RSS 2.0 feed of new articles.
- [feed.json](https://www.dainemawer.com/feed.json): JSON Feed 1.1 equivalent of the RSS feed.
- [robots.txt](https://www.dainemawer.com/robots.txt): Crawl rules, plus a Content-Signal header: search=yes, ai-input=yes, ai-train=no.

---

Canonical HTML: https://www.dainemawer.com/
Markdown index: https://www.dainemawer.com/index.md · Agent guide: https://www.dainemawer.com/agents.md · [llms.txt](https://www.dainemawer.com/llms.txt)
Attribution: Daine Mawer — https://www.dainemawer.com/about