<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Elijah Mathai — Engineering Notes</title>
  <subtitle>Practical notes on AI systems, full-stack architecture, performance, accessibility, and design engineering.</subtitle>
  <link href="https://elijahmathai.com/feed.xml" rel="self" type="application/atom+xml" />
  <link href="https://elijahmathai.com/articles/" rel="alternate" type="text/html" />
  <id>https://elijahmathai.com/articles/</id>
  <updated>2026-07-22T00:00:00Z</updated>
  <author>
    <name>Elijah Mathai</name>
    <uri>https://elijahmathai.com/</uri>
  </author>
  
  <entry>
    <title>Building accessible headless UI primitives from first principles</title>
    <link href="https://elijahmathai.com/articles/accessible-headless-ui-primitives/" rel="alternate" type="text/html" />
    <id>https://elijahmathai.com/articles/accessible-headless-ui-primitives/</id>
    <published>2026-07-22T00:00:00Z</published>
    <updated>2026-07-22T00:00:00Z</updated>
    <summary>Lessons from building modal, accordion, and tooltip primitives where focus management, keyboard behavior, and ARIA are part of the API.</summary>
    <category term="Accessibility" />
  </entry>
  
  <entry>
    <title>The architecture of retrieval: when RAG needs more than vectors</title>
    <link href="https://elijahmathai.com/articles/the-architecture-of-retrieval/" rel="alternate" type="text/html" />
    <id>https://elijahmathai.com/articles/the-architecture-of-retrieval/</id>
    <published>2026-07-21T00:00:00Z</published>
    <updated>2026-07-21T00:00:00Z</updated>
    <summary>A practical architecture for combining vector search, graph relationships, permissions, ranking, and observable context assembly in RAG systems.</summary>
    <category term="AI systems" />
  </entry>
  
  <entry>
    <title>Synchronizing external data with user-owned state</title>
    <link href="https://elijahmathai.com/articles/external-data-user-owned-state/" rel="alternate" type="text/html" />
    <id>https://elijahmathai.com/articles/external-data-user-owned-state/</id>
    <published>2026-07-20T00:00:00Z</published>
    <updated>2026-07-20T00:00:00Z</updated>
    <summary>How Anime Tracker separates AniList metadata, personal progress, optimistic updates, imports, and failure states across a full-stack architecture.</summary>
    <category term="Full-stack systems" />
  </entry>
  
  <entry>
    <title>A bento grid is a responsive information system</title>
    <link href="https://elijahmathai.com/articles/bento-grid-responsive-system/" rel="alternate" type="text/html" />
    <id>https://elijahmathai.com/articles/bento-grid-responsive-system/</id>
    <published>2026-07-18T00:00:00Z</published>
    <updated>2026-07-18T00:00:00Z</updated>
    <summary>What a bento-style portfolio reveals about CSS Grid, content priority, responsive spans, theme tokens, and preserving hierarchy across breakpoints.</summary>
    <category term="Frontend systems" />
  </entry>
  
  <entry>
    <title>From design system to full-stack system</title>
    <link href="https://elijahmathai.com/articles/design-systems-to-full-stack/" rel="alternate" type="text/html" />
    <id>https://elijahmathai.com/articles/design-systems-to-full-stack/</id>
    <published>2026-07-14T00:00:00Z</published>
    <updated>2026-07-14T00:00:00Z</updated>
    <summary>How interface states reveal API contracts, persistence rules, validation needs, and architectural boundaries before implementation begins.</summary>
    <category term="Design engineering" />
  </entry>
  
  <entry>
    <title>Latency is a UX problem</title>
    <link href="https://elijahmathai.com/articles/latency-is-a-ux-problem/" rel="alternate" type="text/html" />
    <id>https://elijahmathai.com/articles/latency-is-a-ux-problem/</id>
    <published>2026-07-07T00:00:00Z</published>
    <updated>2026-07-07T00:00:00Z</updated>
    <summary>A practical method for connecting backend profiling, API design, perceived performance, and interface feedback into one optimization strategy.</summary>
    <category term="Performance" />
  </entry>
  
</feed>
