Sam Littlefair
banner
littlefair.ca
Sam Littlefair
@littlefair.ca
Building @vowel.cc

Formerly @storyblok.com, prismic.io, @lionsroar.com
Pinned
Logo reveal!!!

My friend, the wonderful designer Megumi Yoshida, created a logo for @vowel.cc, and I think it is so beautiful. She used origami as the inspiration to create something that feels light and energetic — the way a blog should feel.
I'm refactoring the Vowel stylesheets, and my favorite discovery is using the & selector to identify an element inside its own nested rule. Want to style an element *and* children or variants of that element?

.parent {
&,
.child {
padding: 5px; /* applies to both parent and child */
}
}
September 17, 2026 at 1:49 PM
Reposted by Sam Littlefair
After testing 100s of imgs comparing tiny and big changes to the algo: I am now confident to present to you: The new okpalette.color.pizza. Powerful as before, ~40% faster, better at detecting good presets and much better at finding rare colors!

Test it with your pics and let me know what you think
September 15, 2026 at 12:08 PM
Help me out! I'm trying to make a thumbnail for color.horse. Which one do you like best?

(All randomly generated with colorhorse.)
September 12, 2026 at 5:41 PM
“But how did the superintelligence gain access to all of our infrastructure and private data!?”

“You’d never guess it, but we gave it privileged access to all of our infrastructure and private data.”
Half my feed is AI doom takes, when the risk most of us actually face in the near future is not a rogue superintelligence.
September 12, 2026 at 2:25 PM
I've been making little tweaks to color.horse all week. It now has a fixed color palette at the bottom of the screen and I think the design makes better use of the full palette.

If you haven't tried it yet, click that "Shuffle Colors" button.
September 11, 2026 at 6:26 PM
In 2009, my siblings and I took the train from Stockholm to Helsinki. We arrived at the border at 11pm on the last train.

Instead of getting a hotel, we stayed up. Around 3am, we got fresh danishes at the back door of a bakery and watched the arctic sunrise. We got the first train out at 6am.
September 9, 2026 at 5:38 PM
I generated the colors for the thumbnail image randomly. Here's the secret URL for the thumbnail generator if you want to try it out. Refresh the page for new colors: color.horse/image
September 7, 2026 at 8:55 PM
Guys! I made something I'm really excited about!!!

I looked for this everywhere online. When I couldn't find it, I decided I should just make it.

It takes any two colors and creates a full color scheme with eight hues and ten shades.
Color Horse
The automatic color scheme generator
color.horse
September 7, 2026 at 6:56 PM
So I’m guessing the reason that the Cloudflare Pages API isn’t publicly documented is because it’s getting merged into the Cloudflare Workers API, which is publicly documented (as far as I can tell).
They're planning to deprecated pages and recommend migrating to workers

I use wrangler to deploy workers and would be nice to have something much lighter for that
September 5, 2026 at 4:03 PM
I am going to frame this and put it on my wall.

I shrank cloudflare-pages-deploy by 98%! That makes it a much more viable option if you're looking for a way to publish your Cloudflare Pages site programmatically.
September 4, 2026 at 7:07 PM
Going crazy because I can't figure out why this SVG isn't rendering on my webpage. Googling solutions. Editing the SVG file. It finally dawns on me that I'm using an <a> tag.
August 31, 2026 at 3:36 PM
Fun fact: “Old European hydronymy” is the name for a hypothesized ancient language that only survives in the mysterious names of streams and rivers across Europe.
Wake up, babe. The Prime Minister just dropped “hydronym”.
August 28, 2026 at 4:06 PM
I was going absolutely insane yesterday because this comment in the Svelte codebase was breaking my client bundle by closing my <script> tag early.

I had to figure out why (a) my JavaScript was erroring and (b) my webpage was rendering `{#each ['🙈', '🙉', '🙊'] as monkey}`.
August 25, 2026 at 4:30 PM
Reposted by Sam Littlefair
"Little wonder, then, that he encountered every sort of obstacle and frustration imaginable. There were 404 errors (page does not exist), 808 errors (you do not exist), and 666 errors (God does not exist)."
August 13, 2026 at 5:24 AM
Reposted by Sam Littlefair
thinking about how we've built the entire web on top of HTML and CSS, languages that were originally built to mark up plain text documents and never intended to support rich interactive web applications
August 10, 2026 at 5:02 PM
"Why do you say you need a site reliability engineer?"
August 11, 2026 at 12:23 PM
“ChatGPT, analyze this meteorology dataset and tell me if I need to evacuate.”
August 8, 2026 at 8:48 PM
Today is my birthday, which I only mention because I feel very blessed that it coincides with HTML day. I hope that means it’s going to be an HTMLful year.
August 8, 2026 at 8:37 PM
Playing with this a little bit.
August 6, 2026 at 4:59 PM
Once upon a time web developers regularly wrote blog posts about UX design that were this good. Thank you to @lea.verou.me for keeping the art alive.
🔥 New blog post: Dark mode toggles that expose three states (system, light, dark) seem like the best option.

Until you think about user goals, that is.

Before rushing to disagree, hear me out.

lea.verou.me/blog/2026/da...

PS: As a data point, @jakearchibald.com was converted after reading this 😅
Dark mode toggles: two states are enough • Lea Verou
Yes, the underlying model must have three states, but one is always irrelevant to the actual user goal. Users do not seek out solutions to problems they don’t currently have. A lot of the hate towards...
lea.verou.me
August 6, 2026 at 3:19 PM
My hot take is that this isn’t a web concern. No toggle. Always respect system preference. Push vendors to put per-site toggles in the browser settings.
bram.us Bramus @bram.us · Aug 4
QQ about Dark Mode Toggles on websites

How many options do you show to users?

- Three values: System, Light, or Dark
- Two values: Light, Dark (with one of them mapping to “System” behind the scenes).

Why the one or the other?

(I have an opinion about it, but I’m looking for external input)
August 4, 2026 at 3:22 PM
Vowel now has 404 pages. Just create a 404.md.
August 3, 2026 at 7:06 PM
Reposted by Sam Littlefair
Love this project and writeup! A color space to cover skin colors. toneyalexander.github.io/inclusive-co... (can also be useful for #procgen)
What Colors Are We? Constructing A Color Space For Skin Tones
Simple equations and a color picker to inclusively select simplified skin tones in a custom color space for digital art or game development.
toneyalexander.github.io
August 2, 2026 at 5:40 PM
I did some portraits of my sister with her best friend and her dog on @harmanphoto.co.uk's new film, Phoenix II, and wow this film has beautiful texture. These are completely unedited.

Shot on an inexpensive Canon EOS 35mm camera with an EF 50mm 1.4 lens and developed by Gulabi in Glasgow.
July 31, 2026 at 5:33 PM
Someday, everyone will be watching 2:1 videos on vertical TVs having forgotten how the aspect ratio is a strange artifact of the distance from your ear to your mouth relative to the width of your hand.
July 29, 2026 at 12:08 PM