Cathal Mac Donnacha
banner
cathalmacdonnacha.com
Cathal Mac Donnacha
@cathalmacdonnacha.com
Principal Frontend Engineer @wpengine.

Follow along for frontend tips on React ⚛️ Testing 🧪 UI/UX 🖥.

My blog ✍️ http://cathalmacdonnacha.com
What are some ways AI tools have helped you with your frontend projects? Specifically the design side.

#frontend #ai #claude #chatgpt #webdev
September 5, 2025 at 10:35 PM
I tend to use pagination when users need shareable links or to give a sense of how much data is left (e.g. “page 3 of 10 in blue t-shirts”).

Use virtual scroll for endless browsing (e.g. social feeds).
📑 Pagination = easy to share & measure.
📜 Virtual scroll = easy to scroll.

#frontend #ux #webdev
August 20, 2025 at 11:25 PM
When diving into a new codebase I find that tests serve as the best documentation.

#software #webdev #programming
July 27, 2025 at 7:49 PM
I guess ChatGPT is training itself on my blog now 😂

#blogging #chatgpt #software
July 17, 2025 at 3:49 PM
TIL: Chrome Dev Tools has an accessibility view ♿️

#frontend #chrome #webdev
June 18, 2025 at 9:15 AM
This is a real level headed take on AI and the perceived notion that it's going to completely take over software engineering roles:

youtu.be/mbEzhI3cmmo?...
The Truth About Software Development with Carl Brown | Better Offline
YouTube video by Better Offline
youtu.be
June 13, 2025 at 11:24 PM
Reposted by Cathal Mac Donnacha
React Compiler RC is now available! We've added support for swc and are working towards a stable release react.dev/blog/2025/04...
React Compiler RC – React
The library for web and native user interfaces
react.dev
April 22, 2025 at 4:31 PM
Before I begin any refactoring, I always have a look at the tests first to make sure they're up to scratch. This way I can be fairly confident that I won't break anything in the process.

Emphasis on "fairly". 😂

#software #programming #frontend
April 3, 2025 at 10:59 PM
"To persuade a few is better than to convince many."

This has always been my approach when introducing any new tools or patterns to wider teams.

#software #programming #frontend
April 2, 2025 at 9:46 PM
The first thing I do when I want to familiarize myself with a new area in a codebase is check out the tests.

Tests are a great form of documentation.

#frontend #software #programming
April 2, 2025 at 9:42 PM
🔥 Want to improve UX on your frontend? Don't make users think. Keep it simple, intuitive, and effortless. The best UX is invisible - it just works.

#ux #frontend
April 1, 2025 at 10:26 PM
Even though it's been out for years now, I feel like using React Query as an async state manager is a highly underrated and underused feature.

tkdodo.eu/blog/react-que…#reactjsj#frontendnd
https://tkdodo.eu/blog/react-que…
March 31, 2025 at 9:51 PM
It's important to have a healthy mindset towards feedback or setbacks. View them as opportunities to improve yourself. Focus on being constructive and solutions-focused rather than emotions-driven.

#software #programming
March 30, 2025 at 12:01 AM
"Writing code in JavaScript feels like skydiving without a parachute"
a man in a suit and tie is sitting in a chair with his eyes closed and the word agreed written on his face .
ALT: a man in a suit and tie is sitting in a chair with his eyes closed and the word agreed written on his face .
media.tenor.com
March 28, 2025 at 5:21 PM
Starting a "brag document" was one of the best things I did for my career. It saves you a ton of mental effort and scrambling when those performance reviews come around!

www.youtube.com/watch?v=gbkv...

#software #career
The Easy Way To Document Your Accomplishments
YouTube video by A Life Engineered
www.youtube.com
March 28, 2025 at 10:13 AM
Every #reactjs developer should read this:

react.dev/learn/you-mi...
You Might Not Need an Effect – React
The library for web and native user interfaces
react.dev
March 27, 2025 at 9:10 PM
Sometimes I break production on purpose just so our users can appreciate how nice our error page is. 😁

#software #frontend #WebDevelopment
March 27, 2025 at 9:01 PM
Why it's important to clean up feature flags 👇
March 26, 2025 at 10:47 PM
Why I don't like Snapshot Testing 👇

- Takes a lot of effort to understand if the failure is expected.
- Hard to evaluate if you're even testing your component correctly (compared to specific assertions).
- Often blindly updated without checking if it was a legitimate failure.
March 26, 2025 at 10:44 PM
"The Staff Engineer's Path" by @whereistanya.bsky.social is a great book for anyone new to technical leadership.
January 5, 2025 at 11:33 PM
There's no point looking back, because we're not going that way.
January 4, 2025 at 11:54 PM
❌ Avoid storing derived state like totals, filters, or counts in useState.

✅ Calculate derived values directly in render from the existing state or props.

Simple, clean, and avoids bugs caused by syncing issues!

Learn more here: react.dev/learn/you-mi...
December 28, 2024 at 10:15 AM
Reposted by Cathal Mac Donnacha
Claude 3.5 Sonnet, directly in VS Code.

Available to everyone today with GitHub Copilot Free. Learn more: aka.ms/copilot-free
December 27, 2024 at 4:00 PM
Introducing new tools or patterns?

✅ Focus on persuading a few key advocates rather than convincing absolutely everyone. A few believers can spark wider adoption far more effectively.

#software #webdev #frontend
December 23, 2024 at 11:46 PM
🔥 For actions that require sign in, avoid having a user perform the same action twice.

1. User clicks the like button on a comment.
2. User is asked to sign in.
3. User signs in successfully.

✅ Result: Comment should be displayed again and liked.

#ux #webdev #frontend
December 18, 2024 at 1:36 PM