Kyle Shevlin (he/him)
banner
kyleshevl.in
Kyle Shevlin (he/him)
@kyleshevl.in
Software engineer. Skilled with React, Astro, JS/TS, and frontend. Expanding my skills with Postgres more & more these days. Scratch golfer. AuDHD. https://kyleshevlin.com
Pinned
Hey new followers 👋🏻 let me offer an intro:

I'm a software dev, scratch golfer, occasional DIY/woodworker & I'm AuDHD.

While I'll post anything related to the above, most of my content is either coding or relatable, observational humor I use to cope with life.

Glad you're here & please be kind.
Advent of Code is coming. I’ve always wanted to try doing it in a different language, but I’ve never done it. Know I’d hit walls so much faster.

Two languages I’d love to try it in are ReScript and Gleam.
November 28, 2025 at 8:13 PM
I swear, if we talk about the weather one more time 🙄
November 28, 2025 at 6:22 PM
Quick! What are safe things to talk about with your conservative evangelical in-laws?

Wrong answers only.
November 28, 2025 at 4:42 AM
I’m realizing, just now, that maybe the best reason to have children is to keep the in-laws entertained/occupied when they come for holidays.

There would be a lot less awkward silence to fill.
November 27, 2025 at 8:38 PM
Just ordered my first 3D printer. Is it about to take over my entire personality?
November 27, 2025 at 6:30 PM
All my evening work the last few weeks has been to make this space livable. Almost looks like a real room.
November 26, 2025 at 8:15 PM
So imagine you've been plugging along for months on an upgrade from Vue 2 to Vue 3, only to discover that a handful of your tests are breaking because spreading Sets (or using for..of on them) mysteriously doesn't work in your test environment.

Fun.

github.com/vuejs/vue-je...
Spread syntax on iterables unsupported within <script lang="ts"> blocks in Vue files when running tests · Issue #445 · vuejs/vue-jest
Using the spread syntax to convert a non-array iterable (like a Map or Set) to an array doesn't work within a <script lang="ts"> block within a Vue file. Depending on the TypeScript version, it wil...
github.com
November 26, 2025 at 6:30 PM
I wanted to make a joke about devs who write code as if they're afraid of whitespace, so I did some research to make a new "phobia".

Turns out, "kenophobia" exists, the fear of empty spaces or voids.

It also turns out there's a genre of art named after this: en.wikipedia.org/wiki/Horror_...
Horror vacui (art) - Wikipedia
en.wikipedia.org
November 26, 2025 at 6:06 PM
Realized the other day that having ADHD is like having a brain with an N+1 problem, there’s always something else to retrieve and share.

And sometimes it’s more like N+10.

Or even N+1000.

You’d get overwhelmed and shutdown too sometimes if one thought led to a thousand more instantaneously.
November 25, 2025 at 4:06 PM
In-laws are coming to town and the room they’re staying in needs nightstands, so I whipped these up in ~2hrs out of scrap wood
November 25, 2025 at 4:19 AM
There are certain patterns that just never want to stick in my daggum brain.

Two-way binding is one of them.

I've read the docs re: how v-model changes between Vue 2 and 3 maybe 3-4 times now and all I keep thinking is, "What a completely superfluous feature that makes everything harder."
November 24, 2025 at 7:15 PM
Should have taken the whole week off. Working on my renovation all weekend has left me with no motivation this Monday.
November 24, 2025 at 6:42 PM
Some renovation progress. How I’m overcoming and embracing our half wall foundations to eventually make some long continuous shelves.

www.tiktok.com/t/ZP8UYkVRY/
Embracing our weird half wall foundation to eventually make a really cool continuous shelf. #diy
TikTok video by kyleshevlin
www.tiktok.com
November 22, 2025 at 10:03 PM
If you’re ever doing drywall taping/mudding: outside corners are a joy, inside corners are a pain in the ass.
November 22, 2025 at 7:48 PM
Alright, I wrote something quick this morning.

I've been finding myself adding more and more `data-*` attributes on our components to ease some of the challenges of testing. Maybe you got some testing that could be made easier with this pattern, too.

kyleshevlin.com/data-attribu...
data Attributes for Testing | Kyle Shevlin
Sometimes our tests are too imperative and know too much about the implementation details of the component. Learn how `data` attributes might be able to help you out.
kyleshevlin.com
November 21, 2025 at 7:06 PM
Sometimes I wish I had operating instructions that others could read:

If Kyle ever tells you something you already know, it's not because he thinks you're dumb. Kyle defaults to providing all context, reducing the risk of you not understanding him, which history has taught him happens often.
November 20, 2025 at 6:38 PM
I've been in a post-mortem for the last hour or so about issues related to a dramatic increase in users/activity we had because of the govt shutdown.

As someone who's spent their entire career on the frontend, I feel so wildly inadequate in this meeting.

I know _some_ of the words being said.
November 19, 2025 at 7:17 PM
Reposted by Kyle Shevlin (he/him)
This is a lovely color tool: colorpalette.pro

…and also a reminder of the era—not that long ago!—when most software looked something like this. It was beautiful to behold and lovely to use. This was taken from us for entirely dubious reasons, but driven people like Ryan can still do it.
Color Palette Pro — A Synthesizer for Color Palettes
Generate customizable color palettes in advanced color spaces that can be easily shared, downloaded, or exported.
colorpalette.pro
November 18, 2025 at 6:59 PM
I’ve been doing pretty good for a couple weeks, but tonight I have absolutely no motivation to work on my renovation this evening.
November 19, 2025 at 3:35 AM
I haven’t written a blog post in forever, but all I have been doing for months now is staring at tests and trying to make them green. Not exactly the kind of material that inspires writing.

I genuinely don’t know when or what I’ll write again.
November 18, 2025 at 7:45 PM
Tell me you don’t work on brownfield apps without telling me you don’t work on brownfield apps.

I use AI daily for my work, and I’d say my fear of being replaced lessens with each day.

Not because AI makes me wildly more productive, but because it’s still so incapable of doing the job.
It's clear that in the very near future almost all code will be written by AI. Some types of coding may hold out for a while, but it's inevitable. It's a crazy thing, and software development is never going to be the same again.
November 18, 2025 at 7:42 PM
I know the difference between an acronym and an abbreviation, and honestly, I hate that for me.
November 18, 2025 at 4:20 PM
I know nothings cheap anymore, but car repair bills are becoming an increasingly difficult pill to swallow.
November 17, 2025 at 10:17 PM
TIL that you can horizontally scroll with your mouse or track pad if you hold the Shift key while doing it.

How have I gone so long without knowing this?

I only learned this because I thought I was encountering a bug where overflow-x: scroll wasn't working unless I selected text.
November 17, 2025 at 6:50 PM
Tried hanging a door for the first time. Failed hanging a door for the first time.

Had lunch, time for try #2.
November 15, 2025 at 10:15 PM