<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Rachel Cantor</title><description>Frontend engineer with 14+ years of experience. I specialize in the architecture between design and production.</description><link>https://rachel.fyi</link><item><title>What I Took from Addy Osmani&apos;s Agent Skills</title><link>https://rachel.fyi/posts/what-i-took-from-addy-osmanis-agent-skills</link><guid isPermaLink="true">https://rachel.fyi/posts/what-i-took-from-addy-osmanis-agent-skills</guid><description>Four skills from the agent-skills repo that changed how I plan, build, and document work with AI coding agents.</description><pubDate>Thu, 16 Apr 2026 04:00:00 GMT</pubDate></item><item><title>useRef vs useState in Streaming UIs</title><link>https://rachel.fyi/posts/useref-vs-usestate-streaming</link><guid isPermaLink="true">https://rachel.fyi/posts/useref-vs-usestate-streaming</guid><description>A recruiter screen I bombed led me to dig into how React&apos;s primitives behave differently when chunks arrive every 50 milliseconds.</description><pubDate>Wed, 01 Apr 2026 05:00:00 GMT</pubDate></item><item><title>Why Banning useEffect Is Really About Agents</title><link>https://rachel.fyi/posts/why-banning-useeffect-is-really-about-agents</link><guid isPermaLink="true">https://rachel.fyi/posts/why-banning-useeffect-is-really-about-agents</guid><description>Factory&apos;s useEffect ban made headlines as a DX play. Their CEO said the thing nobody was talking about — they did it for agent effectiveness.</description><pubDate>Thu, 26 Mar 2026 05:00:00 GMT</pubDate></item><item><title>Gravity Centers: Where to Start a TypeScript Migration</title><link>https://rachel.fyi/posts/gravity-centers-typescript-migration</link><guid isPermaLink="true">https://rachel.fyi/posts/gravity-centers-typescript-migration</guid><description>Here&apos;s what Patreon&apos;s seven-year, 11,000-file migration actually teaches us about doing it right.</description><pubDate>Thu, 05 Mar 2026 05:00:00 GMT</pubDate></item><item><title>Every Home Is a UI</title><link>https://rachel.fyi/posts/every-home-is-a-ui</link><guid isPermaLink="true">https://rachel.fyi/posts/every-home-is-a-ui</guid><description>Retrofitting my home for my mom&apos;s hip replacement taught me that accessibility follows the same rules everywhere. Physical spaces are just another interface.</description><pubDate>Mon, 23 Feb 2026 05:00:00 GMT</pubDate></item><item><title>Shared Brain: Achieving Zero-Wait States with Optimistic UI</title><link>https://rachel.fyi/posts/shared-brain-achieving-zero-wait-states-with-optimistic-ui</link><guid isPermaLink="true">https://rachel.fyi/posts/shared-brain-achieving-zero-wait-states-with-optimistic-ui</guid><description>Run the same logic on frontend and backend. Eliminate drift, get instant feedback and zero-wait states.</description><pubDate>Wed, 04 Feb 2026 05:00:00 GMT</pubDate></item><item><title>How I Use Cursor to Plan and Ship</title><link>https://rachel.fyi/posts/how-i-use-cursor-to-plan-and-ship</link><guid isPermaLink="true">https://rachel.fyi/posts/how-i-use-cursor-to-plan-and-ship</guid><description>How I use Cursor&apos;s planning tool and Composer to build production apps with testable deliverables and proper sequencing.</description><pubDate>Thu, 29 Jan 2026 05:00:00 GMT</pubDate></item><item><title>Say Less with Cursor Rules</title><link>https://rachel.fyi/posts/say-less-with-cursor-rules</link><guid isPermaLink="true">https://rachel.fyi/posts/say-less-with-cursor-rules</guid><description>How I use .cursor/rules and glob patterns to enforce standards without cluttering context.</description><pubDate>Wed, 28 Jan 2026 05:00:00 GMT</pubDate></item><item><title>Your CI Is Running Tests on Old Code: How to Auto-Cancel GitHub Actions</title><link>https://rachel.fyi/posts/your-ci-is-running-tests-on-old-code-how-to-auto-cancel-github-actions</link><guid isPermaLink="true">https://rachel.fyi/posts/your-ci-is-running-tests-on-old-code-how-to-auto-cancel-github-actions</guid><description>Pushing multiple commits quickly? You&apos;re probably paying for 3-4 parallel test runs testing outdated code.</description><pubDate>Sun, 25 Jan 2026 05:00:00 GMT</pubDate></item><item><title>Per-User JWT Secrets: Enterprise-Grade Token Revocation for External Clients in Wasp</title><link>https://rachel.fyi/posts/per-user-jwt-secrets</link><guid isPermaLink="true">https://rachel.fyi/posts/per-user-jwt-secrets</guid><description>Secure your OpenSaaS with per-user JWT secrets, encrypted storage, and surgical token revocation for external clients.</description><pubDate>Tue, 20 Jan 2026 05:00:00 GMT</pubDate></item><item><title>Building RecipeCast&apos;s Chrome Extension</title><link>https://rachel.fyi/posts/building-recipecasts-chrome-extension</link><guid isPermaLink="true">https://rachel.fyi/posts/building-recipecasts-chrome-extension</guid><description>There are plenty of Chrome extensions that extract recipes from websites. So why build another one?</description><pubDate>Sun, 11 Jan 2026 05:00:00 GMT</pubDate></item><item><title>Production-Ready External Auth: CORS, Token Refresh &amp; API Implementation with Wasp</title><link>https://rachel.fyi/posts/production-ready-external-auth-cors-token-refresh-api-implementation-with-wasp</link><guid isPermaLink="true">https://rachel.fyi/posts/production-ready-external-auth-cors-token-refresh-api-implementation-with-wasp</guid><description>From prototype to production: strict CORS policies, efficient token refresh, and battle-tested patterns that keep your external auth system secure.</description><pubDate>Tue, 30 Dec 2025 05:00:00 GMT</pubDate></item><item><title>Implementing External Client Authentication with Wasp</title><link>https://rachel.fyi/posts/implementing-external-client-authentication-with-wasp</link><guid isPermaLink="true">https://rachel.fyi/posts/implementing-external-client-authentication-with-wasp</guid><description>If you&apos;re building an OpenSaaS app and want to extend it beyond the browser tab, this is the blueprint.</description><pubDate>Fri, 19 Dec 2025 05:00:00 GMT</pubDate></item><item><title>The Missing Guide to Sentry Source Maps in Vite Web Workers</title><link>https://rachel.fyi/posts/the-missing-guide-to-sentry-source-maps-in-vite-web-workers</link><guid isPermaLink="true">https://rachel.fyi/posts/the-missing-guide-to-sentry-source-maps-in-vite-web-workers</guid><description>Fix Sentry&apos;s &quot;Could not determine debug ID&quot; warnings for Web Worker bundles. Get readable stack traces instead of minified gibberish in your error reports.</description><pubDate>Thu, 27 Nov 2025 05:00:00 GMT</pubDate></item><item><title>Building an AI Code Reviewer in 2 Days</title><link>https://rachel.fyi/posts/building-an-ai-code-reviewer-in-2-days</link><guid isPermaLink="true">https://rachel.fyi/posts/building-an-ai-code-reviewer-in-2-days</guid><description>Tired of playing code review whack-a-mole on solo projects? I built an AI tool that handles the systematic stuff (security, performance, TypeScript issues) so you can focus elsewhere.</description><pubDate>Tue, 09 Sep 2025 04:00:00 GMT</pubDate></item><item><title>Setting Up Sentry with Vite and Source Maps</title><link>https://rachel.fyi/posts/setting-up-sentry-with-vite-and-sourcemaps</link><guid isPermaLink="true">https://rachel.fyi/posts/setting-up-sentry-with-vite-and-sourcemaps</guid><description>A step-by-step guide to adding Sentry error tracking with source map support to your Vite app, so you get meaningful stack traces instead of minified code.</description><pubDate>Sat, 01 Mar 2025 05:00:00 GMT</pubDate></item><item><title>Google Killed Their Cookbook App, So I’m Building My Own</title><link>https://rachel.fyi/posts/google-killed-their-cookbook-app-so-im-building-my-own</link><guid isPermaLink="true">https://rachel.fyi/posts/google-killed-their-cookbook-app-so-im-building-my-own</guid><description>After Google discontinued their Nest Hub cookbook feature, I needed a way to display recipes without a printer or messing up my phone.</description><pubDate>Sat, 22 Feb 2025 05:00:00 GMT</pubDate></item><item><title>TidyText.cc, copy paste to Google Docs, now with support for fractions</title><link>https://rachel.fyi/posts/tidytextcc-copy-paste-to-google-docs-now-with-support-for-fractions</link><guid isPermaLink="true">https://rachel.fyi/posts/tidytextcc-copy-paste-to-google-docs-now-with-support-for-fractions</guid><description>Adding fraction support to TidyText.cc: from Markdown to MathJax to the Canvas API, and why LaTeX fractions need special handling to paste into Google Docs.</description><pubDate>Mon, 30 Sep 2024 04:00:00 GMT</pubDate></item><item><title>I built a copy paste tool for ChatGPT and Google Docs called TidyText.cc</title><link>https://rachel.fyi/posts/i-built-a-clean-copy-tool-for-chatgpt-called-tidytextcc</link><guid isPermaLink="true">https://rachel.fyi/posts/i-built-a-clean-copy-tool-for-chatgpt-called-tidytextcc</guid><description>After working with ChatGPT and other AI tools, I realized that copying and pasting responses into Google Docs often messed up the formatting.</description><pubDate>Tue, 24 Sep 2024 04:00:00 GMT</pubDate></item><item><title>Accessibility Alternatives: Convenience or Compromise?</title><link>https://rachel.fyi/posts/accessible-alternatives-convenience-or-compromise</link><guid isPermaLink="true">https://rachel.fyi/posts/accessible-alternatives-convenience-or-compromise</guid><description>Come for the education, stay for the low-key dragging of luxury retailer Maison Alaïa&apos;s alternate version.</description><pubDate>Sun, 23 Jun 2024 15:22:00 GMT</pubDate></item><item><title>Why Confirming Choices Matters: Lessons from an Instacart Experience</title><link>https://rachel.fyi/posts/why-confirming-choices-matters</link><guid isPermaLink="true">https://rachel.fyi/posts/why-confirming-choices-matters</guid><description>Accessibility isn&apos;t just about aiding users with disabilities; it helps everyone feel safe browsing the web without fear of doing something irreversible.</description><pubDate>Tue, 11 Jun 2024 12:21:00 GMT</pubDate></item><item><title>The Importance of Independent Volume Control</title><link>https://rachel.fyi/posts/the-importance-of-independent-volume-control</link><guid isPermaLink="true">https://rachel.fyi/posts/the-importance-of-independent-volume-control</guid><description>Accessibility isn&apos;t just about aiding users with disabilities; it helps everyone feel safe browsing the web without fear of doing something irreversible.</description><pubDate>Fri, 07 Jun 2024 09:42:00 GMT</pubDate></item><item><title>Handling a change to Redux-Form data from container to component via props</title><link>https://rachel.fyi/posts/handling-a-change-to-redux-form-data-from-container-to-component-via-props</link><guid isPermaLink="true">https://rachel.fyi/posts/handling-a-change-to-redux-form-data-from-container-to-component-via-props</guid><description>An alternative to React context: passing Redux Form data changes from container to component via props, using getFormValues and connect.</description><pubDate>Tue, 07 Nov 2017 05:00:00 GMT</pubDate></item><item><title>Tinkering with CartoDB to make data visualizations</title><link>https://rachel.fyi/posts/tinkering-with-cartodb-to-make-data-visualizations</link><guid isPermaLink="true">https://rachel.fyi/posts/tinkering-with-cartodb-to-make-data-visualizations</guid><description>Cleaning 150,000 records of messy OSHA data with OpenRefine and visualizing chemical exposure in New York State on an interactive CartoDB map.</description><pubDate>Wed, 01 Jul 2015 04:00:00 GMT</pubDate></item><item><title>Building a Nutrition Facts Web Component with Polymer</title><link>https://rachel.fyi/posts/building-a-nutrition-facts-web-component-with-polymer</link><guid isPermaLink="true">https://rachel.fyi/posts/building-a-nutrition-facts-web-component-with-polymer</guid><description>A walkthrough of building a reusable nutrition facts web component with Polymer at GDG DevFest, using custom elements and a service element to import JSON data.</description><pubDate>Mon, 03 Nov 2014 05:00:00 GMT</pubDate></item><item><title>Connecting Zendesk and Google Spreadsheets using Google Apps Script</title><link>https://rachel.fyi/posts/connecting-zendesk-and-google-spreadsheets-using-google-apps-script</link><guid isPermaLink="true">https://rachel.fyi/posts/connecting-zendesk-and-google-spreadsheets-using-google-apps-script</guid><description>Manage date-related deadlines with an integration between a Google Sheet and Zendesk’s ticketing system.</description><pubDate>Sun, 08 Dec 2013 05:00:00 GMT</pubDate></item><item><title>ControlGroup.com: Built Using Jekyll</title><link>https://rachel.fyi/posts/controlgroupcom-built-using-jekyll</link><guid isPermaLink="true">https://rachel.fyi/posts/controlgroupcom-built-using-jekyll</guid><description>How we rebuilt Control Group&apos;s site with Jekyll: static generation, no CMS, and the performance gains that came with it.</description><pubDate>Fri, 19 Oct 2012 04:00:00 GMT</pubDate></item></channel></rss>