Sign in

Sam Littlefair

@littlefair.ca
259 followers 371 following 1K posts

Building @vowel.cc Formerly @storyblok.com, prismic.io, @lionsroar.com

PostsRepliesMedia
Reposted by Sam Littlefair
Vowel @vowel.cc · 9h
👋 Follow here if you love blogs.
001
Sam Littlefair @littlefair.ca · 9h
The internet failed on its core promise.
littlefair.ca
The Websites We Deserve
Our lives run on websites. From banking apps to recipe notes, we have entrusted the web with virtually everything we care about. In exchange for our trust, the creators of the internet made us a promise: if you want to, you can create your own website and put it on the internet.
111
Reposted by Sam Littlefair
Andrey Sitnik @en.sitnik.es · 28/09/2026
Turn your website’s loading process into music. Forbes sounds surprisingly good. You could loop it and work to it. A great example of a website where someone clearly thought through every detail. We need more of that in the LLM era. blog.alena.rocks/en/artifacts...
093
Sam Littlefair @littlefair.ca · 28/09/2026
The @vowel.cc v0.7 beta has full native atproto publishing. Define a lexicon for a folder (e.g., `app.bsky.feed.post`) and if the shape of the markdown files in that folder matches the lexicon, Vowel will authenticate you and POST the record to your PDS. It works for any lexicons.
101
Sam Littlefair @littlefair.ca · 28/09/2026
Holy crap.
000
Sam Littlefair @littlefair.ca · 28/09/2026
I'm testing an #atproto publish from Vowel.
000
Reposted by Sam Littlefair
Héliographe @heliographe.studio · 26/09/2026
I spent the summer prototyping a device that projects information and imbues computing into the real world, I call it the Lightbulb Computer. Full write up and demos at lightbulbcomputer.com Or on YouTube: youtu.be/0R-9qkjPEqg
lightbulbcomputer.com
The Lightbulb Computer — Reimagining Spatial & Ambient Computing with Projectors
A new direction for computing: projecting information into the real world to augment it, with a device that combines a projector and computer vision in the shape of a large lightbulb.
2286
Sam Littlefair @littlefair.ca · 25/09/2026
My first blog post on the atmosphere 🪁 littlefair.ca/notes/atproto
littlefair.ca
Atproto
Today is the day I put my blog on the atmosphere, powered by Vowel.
121
Sam Littlefair @littlefair.ca · 25/09/2026
Just in time for the CTA redesign 🤩
000
Sam Littlefair @littlefair.ca · 25/09/2026
I have done it. I have put my blog on the atmosphere 😭 I've been working towards an atmosphere integration for @vowel.cc for months, and this is the first Bluesky post of an atmosphere record created with Vowel. I'll share a bit more about it soon.
littlefair.ca
Roses
a rose bush in bloom Roses in Glasgow in the springtime.
120
Sam Littlefair @littlefair.ca · 25/09/2026
Projects like this are why atproto gives me hope for the internet.
010
Reposted by Sam Littlefair
Aaron Becker @aaronjbecker.bsky.social · 22/09/2026
You could find your way along the Nova Scotia coast blind, just by timing the blinks. Every lighthouse flashes on its own rhythm, a set interval and colour no neighbour repeats. Sambro Island off Halifax has burned since 1758, the oldest working lighthouse in North America. #lighthouse #NovaScotia
814957
Sam Littlefair @littlefair.ca · 17/09/2026
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 */ } }
A screenshot of CSS showing an a tag styled by visited or not-visited with the & selector.
141
Reposted by Sam Littlefair
David Aerne @meodai.bsky.social · 15/09/2026
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
71059
Sam Littlefair @littlefair.ca · 12/09/2026
Help me out! I'm trying to make a thumbnail for color.horse. Which one do you like best? (All randomly generated with colorhorse.)
Color Horse thumbnail in pink and greenColor Horse thumbnail in slightly different pink and greenColor Horse thumbnail in orange and yellowColor Horse thumbnail in magenta and yellow
310
Sam Littlefair @littlefair.ca · 12/09/2026
“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.”
072
Sam Littlefair @littlefair.ca · 11/09/2026
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.
Screenshot of the color horse web app.
000
Sam Littlefair @littlefair.ca · 09/09/2026
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.
My sister bundled up sitting in a park in Happaranda in the middle of the nightDawn breaking over the water
1284
Sam Littlefair @littlefair.ca · 07/09/2026
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
Four thumbnails for color.horse tiled in different color themes.
000
Sam Littlefair @littlefair.ca · 07/09/2026
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
Color Horse
The automatic color scheme generator
360
Sam Littlefair @littlefair.ca · 05/09/2026
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).
240
Sam Littlefair @littlefair.ca · 04/09/2026
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.
Screenshot of a package on npmx showing a notice that reads "Package size decreased since v0.1.1. Install size reduced by 98%."
4345
Sam Littlefair @littlefair.ca · 31/08/2026
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.
000
Sam Littlefair @littlefair.ca · 28/08/2026
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.
010
Sam Littlefair @littlefair.ca · 25/08/2026
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}`.
A screenshot of the Svelte codebase with a long explanatory comment that includes a demo Svelte component with a `<script>` element in it.
130
Reposted by Sam Littlefair
Cordelia Cupp, Weird Auntie urges you to use alt-text! @drxauntie.blacksky.app · 13/08/2026
"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)."
0133
Reposted by Sam Littlefair
Ky @ky.fyi · 10/08/2026
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
9614
Sam Littlefair @littlefair.ca · 11/08/2026
"Why do you say you need a site reliability engineer?"
Job posting for a site reliability engineer where the title of the posting is malformed as "site rea"
100
Sam Littlefair @littlefair.ca · 08/08/2026
“ChatGPT, analyze this meteorology dataset and tell me if I need to evacuate.”
000
Sam Littlefair @littlefair.ca · 08/08/2026
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.
1101
Sam Littlefair @littlefair.ca · 06/08/2026
Playing with this a little bit.
An icon of a kite tied to a key.
010
Sam Littlefair @littlefair.ca · 06/08/2026
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.
0211
Sam Littlefair @littlefair.ca · 04/08/2026
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.
2100
Sam Littlefair @littlefair.ca · 03/08/2026
Vowel now has 404 pages. Just create a 404.md.
130
Reposted by Sam Littlefair
Red Blob Games @redblobgames.com · 02/08/2026
Love this project and writeup! A color space to cover skin colors. toneyalexander.github.io/inclusive-co... (can also be useful for #procgen)
toneyalexander.github.io
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.
413738
Sam Littlefair @littlefair.ca · 31/07/2026
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.
Two young women laying in the grass with a dog between them. One is kissing the dog.Two young women lying in the grass with a dog between them.
030
Sam Littlefair @littlefair.ca · 29/07/2026
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.
010
Sam Littlefair @littlefair.ca · 29/07/2026
Lately I've been thinking more about the Atmosphere logo, and I think a kite could be a nice fit 🪁 It says "atmosphere" and "transfer." And if you add a key then it also says "authentication" with a classic reference to electricity, innovation, and (maybe most appropriate) lightning rods.
Rough sketch of an atmosphere logo with a kite tied to a key
100
Sam Littlefair @littlefair.ca · 25/07/2026
Not to be that guy, but "baguette" is actually French for "stick," so this pun is also just literally correct.
130
Sam Littlefair @littlefair.ca · 22/07/2026
It seems a little wild that we obsess over JavaScript frameworks with "client-side rendering" when we get so much of that for free with CSS.
A CSS stylesheet showing extensive computation of properties using CSS variables and calculations.
020
Reposted by Sam Littlefair
David Ho @davidho.bsky.social · 21/07/2026
This is kind of an incredible website: Why your stuff stopped lasting, who profited, and what's still built right.
worseonpurpose.com
Worse on Purpose
The brands you trusted quietly gutted quality to protect margins. Investigative essays on corporate enshittification. Free newsletter.
1824381060
Sam Littlefair @littlefair.ca · 13/07/2026
Bonus: You can now add captions to images!
Text editor showing an image with a caption in markdown.Screenshot of a website rendered with Vowel, showing the figure element with an image caption.
020
Sam Littlefair @littlefair.ca · 13/07/2026
Vowel will now create resized versions of all of your images in WebP and AVIF and generate an optimized <picture> element to display them. Just add a full-res image to your project and link it with normal markdown. It even works for popular image CDNs! (Thank you Unpic / @mk.gg)
Screenshot of the Vowel homepage with the devtools inspector open on an image, revealing a <picture> element with responsive URLs.Screenshot of the Vowel homepage with the devtools inspector open on an image, revealing a <picture> element with responsive CDN URLs.Screenshot of a text editor with the markdown of the Vowel homepage, showing the markup for two images — one hosted locally and one hosted on a CDN.
240
Sam Littlefair @littlefair.ca · 09/07/2026
I was just taking to my sister about ET and she said, “I think the only thing I remember is that they try to kill him with hammers?”
020
Sam Littlefair @littlefair.ca · 07/07/2026
After decades, the internet community has revolutionized web development by allowing developers to… get with a body?
040
Sam Littlefair @littlefair.ca · 06/07/2026
My favorite quality-of-life improvement is ruthlessly unsubscribing from feckless emails and notifications. Oh, “So-and-so is playing whizzbang”, LinkedIn? Silence. You will speak when spoken to.
010
Sam Littlefair @littlefair.ca · 05/07/2026
This is a PSA in case anyone tells you that you “need to meditate.” You do not. Feel free to give it a try. If you like it, keep it going. If not, don’t sweat it. Lots of other things have a similar effect. Sports. Art. Nature. Cooking. Hugs. Find what works for you.
010
Sam Littlefair @littlefair.ca · 03/07/2026
We do love seeing The Telegraph posting on Bluesky about how posting on Bluesky is pathetic, though, right?
110
Reposted by Sam Littlefair
Jim Nielsen @jim-nielsen.com · 02/07/2026
📝 In our age of generative AI, a blank page is a deliberate act! blog.jim-nielsen.com/2026/intenti...
blog.jim-nielsen.com
This Page Left Intentionally Blank
Writing about the big beautiful mess that is making things for the world wide web.
061
Sam Littlefair @littlefair.ca · 02/07/2026
Vowel now has tagging.
051