corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a0b68b-4ce4-7114-95a9-6bda659d5f69", "title": "Rachel Cantor", "url": "https://rachel.fyi", "published_at": "2026-09-07T05:20:44+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e2dcfe56a", "title": "Your Agent Is Reading a Different Design System", "url": "https://rachel.fyi/posts/your-agent-is-reading-a-different-design-system", "published_at": "2026-07-14T04:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e2dea46da", "title": "Storybook MCP Reads Your Manifest, Not Your Docs Tab", "url": "https://rachel.fyi/posts/storybook-mcp-reads-your-manifest-not-your-docs-tab", "published_at": "2026-07-10T04:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e2e61070d", "title": "What I Took from Addy Osmani's Agent Skills", "url": "https://rachel.fyi/posts/what-i-took-from-addy-osmanis-agent-skills", "published_at": "2026-04-16T04:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e2ea3957d", "title": "useRef vs useState in Streaming UIs", "url": "https://rachel.fyi/posts/useref-vs-usestate-streaming", "published_at": "2026-04-01T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e2f6ab7b8", "title": "Why Banning useEffect Is Really About Agents", "url": "https://rachel.fyi/posts/why-banning-useeffect-is-really-about-agents", "published_at": "2026-03-26T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e30044f6b", "title": "Gravity Centers: Where to Start a TypeScript Migration", "url": "https://rachel.fyi/posts/gravity-centers-typescript-migration", "published_at": "2026-03-05T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e30300e55", "title": "Every Home Is a UI", "url": "https://rachel.fyi/posts/every-home-is-a-ui", "published_at": "2026-02-23T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e308e8401", "title": "Shared Brain: Achieving Zero-Wait States with Optimistic UI", "url": "https://rachel.fyi/posts/shared-brain-achieving-zero-wait-states-with-optimistic-ui", "published_at": "2026-02-04T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e310c4a53", "title": "How I Use Cursor to Plan and Ship", "url": "https://rachel.fyi/posts/how-i-use-cursor-to-plan-and-ship", "published_at": "2026-01-29T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e31ff2010", "title": "Say Less with Cursor Rules", "url": "https://rachel.fyi/posts/say-less-with-cursor-rules", "published_at": "2026-01-28T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e31ffec98", "title": "Your CI Is Running Tests on Old Code: How to Auto-Cancel GitHub Actions", "url": "https://rachel.fyi/posts/your-ci-is-running-tests-on-old-code-how-to-auto-cancel-github-actions", "published_at": "2026-01-25T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e3277c1c1", "title": "Per-User JWT Secrets: Enterprise-Grade Token Revocation for External Clients in Wasp", "url": "https://rachel.fyi/posts/per-user-jwt-secrets", "published_at": "2026-01-20T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e32ec717d", "title": "Building RecipeCast's Chrome Extension", "url": "https://rachel.fyi/posts/building-recipecasts-chrome-extension", "published_at": "2026-01-11T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e331f9ad9", "title": "Production-Ready External Auth: CORS, Token Refresh & API Implementation with Wasp", "url": "https://rachel.fyi/posts/production-ready-external-auth-cors-token-refresh-api-implementation-with-wasp", "published_at": "2025-12-30T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e33aae11e", "title": "Implementing External Client Authentication with Wasp", "url": "https://rachel.fyi/posts/implementing-external-client-authentication-with-wasp", "published_at": "2025-12-19T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e3477b431", "title": "The Missing Guide to Sentry Source Maps in Vite Web Workers", "url": "https://rachel.fyi/posts/the-missing-guide-to-sentry-source-maps-in-vite-web-workers", "published_at": "2025-11-27T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e34e1fcfa", "title": "Building an AI Code Reviewer in 2 Days", "url": "https://rachel.fyi/posts/building-an-ai-code-reviewer-in-2-days", "published_at": "2025-09-09T04:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e35abdb92", "title": "Setting Up Sentry with Vite and Source Maps", "url": "https://rachel.fyi/posts/setting-up-sentry-with-vite-and-sourcemaps", "published_at": "2025-03-01T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e3673ea9b", "title": "Google Killed Their Cookbook App, So I’m Building My Own", "url": "https://rachel.fyi/posts/google-killed-their-cookbook-app-so-im-building-my-own", "published_at": "2025-02-22T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e36c1d72b", "title": "TidyText.cc, copy paste to Google Docs, now with support for fractions", "url": "https://rachel.fyi/posts/tidytextcc-copy-paste-to-google-docs-now-with-support-for-fractions", "published_at": "2024-09-30T04:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e37707109", "title": "I built a copy paste tool for ChatGPT and Google Docs called TidyText.cc", "url": "https://rachel.fyi/posts/i-built-a-clean-copy-tool-for-chatgpt-called-tidytextcc", "published_at": "2024-09-24T04:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e38550fdf", "title": "Accessibility Alternatives: Convenience or Compromise?", "url": "https://rachel.fyi/posts/accessible-alternatives-convenience-or-compromise", "published_at": "2024-06-23T15:22:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e393da637", "title": "Why Confirming Choices Matters: Lessons from an Instacart Experience", "url": "https://rachel.fyi/posts/why-confirming-choices-matters", "published_at": "2024-06-11T12:21:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e3996c845", "title": "The Importance of Independent Volume Control", "url": "https://rachel.fyi/posts/the-importance-of-independent-volume-control", "published_at": "2024-06-07T09:42:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e3a3462ac", "title": "Handling a change to Redux-Form data from container to component via props", "url": "https://rachel.fyi/posts/handling-a-change-to-redux-form-data-from-container-to-component-via-props", "published_at": "2017-11-07T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e3b23d00b", "title": "Tinkering with CartoDB to make data visualizations", "url": "https://rachel.fyi/posts/tinkering-with-cartodb-to-make-data-visualizations", "published_at": "2015-07-01T04:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e3b5b09d7", "title": "Building a Nutrition Facts Web Component with Polymer", "url": "https://rachel.fyi/posts/building-a-nutrition-facts-web-component-with-polymer", "published_at": "2014-11-03T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e3c1c01cb", "title": "Connecting Zendesk and Google Spreadsheets using Google Apps Script", "url": "https://rachel.fyi/posts/connecting-zendesk-and-google-spreadsheets-using-google-apps-script", "published_at": "2013-12-08T05:00:00+00:00" }, { "id": "01a087cd-9cb2-7021-9160-213e3c3ce771", "title": "ControlGroup.com: Built Using Jekyll", "url": "https://rachel.fyi/posts/controlgroupcom-built-using-jekyll", "published_at": "2012-10-19T04:00:00+00:00" } ] posts
Claim your blog
Back to Rachel Cantor — Frontend Engineer
Blog · corpus.blog/blogs/rachel.fyi/posts
Rachel Cantor — Frontend Engineer
rachel.fyi
2026
Rachel Cantor
original ↗
7 Sept 2026
Your Agent Is Reading a Different Design System
original ↗
14 Jul 2026
Storybook MCP Reads Your Manifest, Not Your Docs Tab
original ↗
10 Jul 2026
What I Took from Addy Osmani's Agent Skills
original ↗
16 Apr 2026
useRef vs useState in Streaming UIs
original ↗
1 Apr 2026
Why Banning useEffect Is Really About Agents
original ↗
26 Mar 2026
Gravity Centers: Where to Start a TypeScript Migration
original ↗
5 Mar 2026
Every Home Is a UI
original ↗
23 Feb 2026
Shared Brain: Achieving Zero-Wait States with Optimistic UI
original ↗
4 Feb 2026
How I Use Cursor to Plan and Ship
original ↗
29 Jan 2026
Say Less with Cursor Rules
original ↗
28 Jan 2026
Your CI Is Running Tests on Old Code: How to Auto-Cancel GitHub Actions
original ↗
25 Jan 2026
Per-User JWT Secrets: Enterprise-Grade Token Revocation for External Clients in Wasp
original ↗
20 Jan 2026
Building RecipeCast's Chrome Extension
original ↗
11 Jan 2026
2025
Production-Ready External Auth: CORS, Token Refresh & API Implementation with Wasp
original ↗
30 Dec 2025
Implementing External Client Authentication with Wasp
original ↗
19 Dec 2025
The Missing Guide to Sentry Source Maps in Vite Web Workers
original ↗
27 Nov 2025
Building an AI Code Reviewer in 2 Days
original ↗
9 Sept 2025
Setting Up Sentry with Vite and Source Maps
original ↗
1 Mar 2025
Google Killed Their Cookbook App, So I’m Building My Own
original ↗
22 Feb 2025
2024
TidyText.cc, copy paste to Google Docs, now with support for fractions
original ↗
30 Sept 2024
I built a copy paste tool for ChatGPT and Google Docs called TidyText.cc
original ↗
24 Sept 2024
Accessibility Alternatives: Convenience or Compromise?
original ↗
23 Jun 2024
Why Confirming Choices Matters: Lessons from an Instacart Experience
original ↗
11 Jun 2024
The Importance of Independent Volume Control
original ↗
7 Jun 2024
2017
Handling a change to Redux-Form data from container to component via props
original ↗
7 Nov 2017
2015
Tinkering with CartoDB to make data visualizations
original ↗
1 Jul 2015
2014
Building a Nutrition Facts Web Component with Polymer
original ↗
3 Nov 2014
2013
Connecting Zendesk and Google Spreadsheets using Google Apps Script
original ↗
8 Dec 2013
2012
ControlGroup.com: Built Using Jekyll
original ↗
19 Oct 2012