Alex Vipond
alexvipond.dev
Alex Vipond
@alexvipond.dev
I'm into web development and social impact. Working on BetterHelp and Baleada
🇺🇸🇭🇳
https://alexvipond.dev
https://baleada.dev
Reposted by Alex Vipond
People give `useEffect` a bad rap, but it isn't usually the source of the problem. The real problem is too many `useState`s.
Devs fail to see how their data is connected and model it too discretely. As those connections appear, it is easier to synchronize than refactor the model. 1/
November 6, 2025 at 4:41 PM
If you play guitar

The solution is Ampero II & Ampero Switch

Play in Stomp mode, using stomps to change scenes (press a single stomp to turn multiple effects on/off, and/or change parameters, with natural delay & reverb spillover, and no audio gaps 🤯)

Use the Ampero Switch to cycle patches

🤘
September 29, 2025 at 3:32 AM
Been a while since I used @zed.dev, and HOLY SHIT it got good

Multiple cursors editing multiple files, and Claude Code deeply integrated. I've never been able to refactor this fast.

I'm working on my editor settings while the agent runs—here's what I have so far gist.github.com/AlexVipond/a...
Zed settings
Zed settings. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
September 10, 2025 at 1:29 PM
Single-table design is magic

This is the Eloquent query I run to get
- lat/lng of the given location
- Profiles of current user & their friends
- Profiles of birds they identified in that location, including timestamps
- Profiles of their multiplayer birding sessions in that location
August 29, 2025 at 4:13 PM
I just wrote the Inertia controller for an app dashboard view that reads 5 types of resources and 16 relationships from the DB.

It uses 1 query, and it does not need to eager-load any model relationships, so I can use the query's cursor() method and iterate over the results with low memory usage.
August 23, 2025 at 8:31 PM
Reposted by Alex Vipond
To save the lives of infants and small kids in lower resource countries, there are a handful of tools: anti-malarial drugs, bed nets and vaccines. A massive experiment in rural Kenya suggests another.
Researchers discover a secret weapon that saves babies' lives. And it's not medical
To save the lives of infants and small kids in lower resource countries, there are a handful of tools: anti-malarial drugs, bed nets and vaccines. A massive experiment in rural Kenya suggests another.
n.pr
August 19, 2025 at 9:52 AM
Reposted by Alex Vipond
"Shitty code reviews make great LLM prompts"—just some thoughts about meaningful code reviews that advance others' careers and make your team stronger.

alexvipond.dev/blog/shitty-...
Alex Vipond — web development, social impact
I'm into web development and social impact. I write code and create content for these topics, and I share it on my website.
alexvipond.dev
June 14, 2025 at 7:34 PM
I'm thinking about writing a book about how to build a custom component library from scratch on top of React Aria 🤔

If that sounds interesting to you, put your email in here! learnreactaria.com
Learn React Aria
Learn React Aria with this book and annotated codebase, so you can build a world-class component library.
learnreactaria.com
June 11, 2025 at 2:36 AM
Something that sounds easy, but is tricky to get right: wrap text around the Dismiss button of a clickable card.

The tricky part is making sure you don't sacrifice accessibility features like grouping, labeling, focus rings, etc. Here's how I do it: alexvipond.dev/blog/wrap-te...
Alex Vipond — web development, social impact
I'm into web development and social impact. I write code and create content for these topics, and I share it on my website.
alexvipond.dev
June 11, 2025 at 2:31 AM
Reposted by Alex Vipond
The ebook Rethinking Reusability in Vue by @alexvipond.dev provides a deep dive on reusability design patterns in Vue 3 📗 - madewithvuejs.com/rethinking-r...
April 30, 2025 at 11:28 AM
This VS Code config will add @tailwindcss.com Intellisense to all code between a starting comment /** tw */ and an ending comment /** endtw */

This is incredibly useful for reusable classes tucked away in a JS variable or helper function, which TW Intellisense won't automatically check
April 22, 2025 at 2:24 AM
Reposted by Alex Vipond
HUGE React Aria release! 🍿

🔍 Autocomplete: Command Palette, Searchable Select + Submenu
🆕 3 new components: Toast, Tree, Virtualizer
🧩 Custom Menu/Popover/Tooltip triggers
🌉 Table colspan
👆 usePress interop, fixing 15+ issues
💨 Tailwind v4
📅 DatePicker RTL

react-spectrum.adobe.com/releases/202...
March 6, 2025 at 5:43 PM
I've found LLMs to be pretty fantastic at writing custom, project-specific ESLint rules. Super fun way to open up new doors for code quality, and here's how you get it working with ESLint in your project: alexvipond.dev/blog/add-pro...
Alex Vipond — web development, social impact
I'm into web development and social impact. I write code and create content for these topics, and I share it on my website.
alexvipond.dev
February 13, 2025 at 7:52 PM
The solution to this nasty NextJS bug no longer lives exclusively in the comment sections of random old GitHub issues alexvipond.dev/blog/dont-li...
Alex Vipond — web development, social impact
I'm into web development and social impact. I write code and create content for these topics, and I share it on my website.
alexvipond.dev
February 13, 2025 at 1:14 AM
Vite apps can shave off some bundle size by setting `build.rollupOptions.treeshake` to `smallest`.

This allows rollup to treeshake more aggressively—for example, it will now shake unused third-party libraries that didn't set `sideEffects: false` in their package.json.
February 11, 2025 at 3:11 PM
Here's my progressively enhanced design & positioning logic for popups, implemented with CSS, Tailwind, ResizeObserver, and Vue.

Zero usage of `getBoundingClientRect`, scroll listeners, or any other techniques that thrash the layout or block rendering!
January 28, 2025 at 5:25 PM
Been scratching my head on an anchor positioning bug for _days_, and finally found the answer thanks to @nerdy.dev's blog post nerdy.dev/why-isnt-my-...

TL;DR avoid `center` unless you've proven your UI breaks without it
Why isn't my `position-try-fallback` working in small spaces? · October 12, 2024
Learn from my anchor() and position-area mistakes.
nerdy.dev
January 23, 2025 at 1:25 AM
`select` typeahead UX was something I wanted to improve on when I first started writing Baleada Vue Features composables like `useSelect`.

I'm finally building a real design system on top of these composables, and loving how flexible, powerful, and observable they are.
January 19, 2025 at 8:27 PM
Reposted by Alex Vipond
🎁 A surprise holidays gift: after over a year of hard work, we have just published Rolldown 1.0.0-beta.1!
December 25, 2024 at 4:18 PM
Finally caught up on the Vueconf Toronto panel episode, nice work @michaelthiessen.bsky.social and @thealexlichter.com!
December 11, 2024 at 2:48 PM
Reposted by Alex Vipond
The Epic Programming Principles: the guide I use to make decisions as a software engineer.

Transcending specific tools or frameworks, these principles will help you guide your career, craft, and technical choices.

See details and examples for each principle here: www.epicweb.dev/principles 📖
December 6, 2024 at 3:13 PM
Tons of relatively small commits this month for Baleada Features (closest thing you can get to React Aria in Vue). This is all driven by the full design system I'm building to stress test it.

Gonna learn how to do beta releases so I can get it out in the world

github.com/baleada/vue-features
December 2, 2024 at 10:54 PM