Sign in

Rik Schennink

@rikschennink.com
3.2K followers 172 following 1.8K posts

Solopreneur • Founder Pqina • Maker of Pintura and FilePond • Web enthusiast • Loves Bouldering • pqina.nl

PostsRepliesMedia
Rik Schennink @rikschennink.com · 19h
The new FilePond v5 landing page is shaping up to become quite a funky art celebration.
1120
Rik Schennink @rikschennink.com · 23h
The spring configuration seems to propagate correctly through the <file-pond> subtree. 👨‍🔬🍮
120
Rik Schennink @rikschennink.com · 28/09/2026
This site generates an abstract artwork using the commits and files in a GitHub repo. This is FilePond v4. www.habibicode.org/artrepo
black and white dots and stripes at various angles.
010
Rik Schennink @rikschennink.com · 21/09/2026
😅
an invoice with text "The order is not yet complete. Please complete the download before downloading."
130
Rik Schennink @rikschennink.com · 10/09/2026
this tab on npm must hold the record for longest beta ever.
Code tab on npmjs
4550
Reposted by Rik Schennink
Elle Cordova @ellecordova.bsky.social · 03/09/2026
Rough Draft vs Final Draft
253116673303
Rik Schennink @rikschennink.com · 03/09/2026
I spent the past two days cleaning up and improving the cropguide.io landing page. I've replaced the hero illustrations with photos, added a video that shows the editor (it blends in the page), and the live demo is now more to the point. Thanks @kilianvalkhof.com and @hidde.blog for the feedback.
screenshot of the landing page showing the title "help your users upload better photos"
281
Rik Schennink @rikschennink.com · 01/09/2026
It's _this_ easy to add CropGuide to a website. As a test I opened Bluesky and copy pasted the cropguide.io script to my Chrome developer console and then selected an image to post. 😅 It just works! 🪄
0100
Rik Schennink @rikschennink.com · 01/09/2026
When i was still drawing with charcoal
190
Rik Schennink @rikschennink.com · 31/08/2026
Me: "Hey LLM, can we flip a background-image without using CSS transform?" LLM: "Yes. I'm programmed to make you a happy camper so I will first pretend there is a solution before telling you there is no solution."
The practical CSS-only option without transform is background-size with a negative dimension:

CSS
.element {
background-image: url("image.jpg"); background-size: -100% 100%;
}

Unfortunately, negative background-size values are invalid CSS, so that doesn't work.
1833125
Rik Schennink @rikschennink.com · 31/08/2026
CropGuide now offers a free tier. Copy paste the CropGuide <script> tag to your webpage and now your <input type="file"/> automatically opens a client-side image editor to crop images before upload. pqina.nl/blog/crop-im...
pqina.nl
Crop Images Before Upload With JavaScript
In this 3 minute tutorial we use CropGuide, a JavaScript image cropper, to crop images before they’re uploaded to our server without making any changes to existing file upload code.
110
Rik Schennink @rikschennink.com · 29/08/2026
I’ve been collecting the game boxes of the games I used to design levels for as a hobby. I’ve yet to find DOOM for a good price, but a month ago I finally found a Quake 2 box that looked great. It arrived by mail today, turns out the seller didn’t bother to package it properly. Such a waste :(
Completely dented quake 2 game box
110
Reposted by Rik Schennink
Gary Whitta @garywhitta.bsky.social · 29/08/2026
My Hollywood comedy podcast SEE YOU IN HELL is currently on hiatus, but here are a few script pages from a recent episode that dealt with AI in Hollywood as they sum up my thoughts on the matter better than I'm usually able to express them in my social posts:
925751
Rik Schennink @rikschennink.com · 27/08/2026
FilePond v5 + Spring powered HTML <dialog> + Unsplash source + Custom masonry grid fallback + BlurHash 🔥 Now some more tinkering with CSS to get everything just right 👌
1151
Rik Schennink @rikschennink.com · 26/08/2026
Just spent 4 hours tinkering with CSS to make the open animation of a dialog look nicer. I'm so far removed from agentic coding that I think i'll never be able work in the industry again.
4462
Rik Schennink @rikschennink.com · 19/08/2026
zero effort phishing attempt phisher probably got frustrated trying to get the sendgrid HTML template to render correctly on every email client
email subject: S⁣e⁣n⁣d⁣g⁣r⁣i⁣d/⁣S⁣u⁣s⁣p⁣e⁣n⁣s⁣i⁣o⁣n⁣ ⁣N⁣o⁣t⁣I⁣c⁣e email body: v⁣⁣i⁣e⁣w i⁣n d⁣a⁣s⁣h⁣b⁣o⁣a⁣r⁣d b⁣e⁣l⁣o⁣w⁣:

plain link to share.google
170
Rik Schennink @rikschennink.com · 19/08/2026
The edit.video contact form is now also treated as a prompt input box. 🫠 The emoji sequence makes it seem like the LLM prompt begins with a Mortal Kombat fatality.
*Ultra-realistic DSLR portrait, 8K UHD, a handsome young man
with fair skin, soft black textured same hairstyle, sharp jawline, and a calm expression, sitting stylishly on a street city road, head slightly very little up. Wavy messy dark texture hair, He wears an oversized beige t shirt, slim black cropped jeans, chunky white sneakers, a silver wristwatch, and silver rings, with black sunglasses placed beside him on the road.
210
Rik Schennink @rikschennink.com · 18/08/2026
This "company" generated an "open source" file upload library that looks suspiciously similar to Uppy and is now spamming FilePond repositories with backlinks. 🔥☕️🐶 - This is fine github.com/DevinoSoluti...
Ugh, that's super annoying when a component silently bloats your files like that. I've run into similar headaches with in-browser image processing. You might want to check out BLANK - it focuses purely on reliable, direct uploads to cloud storage, so you wouldn't have these kinds of unexpected image transformation side effects.Ugh, listener leaks are the worst to debug, especially with unmounts. I've definitely hit similar issues with other libraries before. If you're open to alternatives, I've been using Upup lately and it's been rock solid for React projects, handling all its lifecycle cleanups internally without these kinds of headaches. You can check it out at BLANKUgh, dealing with plugin conflicts like that can be super frustrating when you're just trying to get a specific Ul to work. I ran into similar issues trying to combine different preview behaviors with other libraries, which is why I ended up using Upup; it handles image previews and custom poster-like displays pretty seamlessly without needing to juggle multiple plugins. You might find its built-in preview options give you the flexibility you need without the CSS headaches:
BLANK
380
Rik Schennink @rikschennink.com · 14/08/2026
I just pushed Pintura v8.100.0 to prod 😅 v8 has been going strong for 5 years and I can't wait to start work on v9.
pintura_8.100.0.zip in a list of releases
090
Rik Schennink @rikschennink.com · 05/08/2026
Testing iOS vehicle motion cues, so far so good.
010
Rik Schennink @rikschennink.com · 04/08/2026
If the banner above your article is AI-generated I usually just close the tab in disappointment. nelson.cloud/ai-generated...
nelson.cloud
AI-Generated Images Discourage Me From Reading Your Blog
If you’re willing to use AI-generated images, how do I know the text isn’t AI-generated?
171
Rik Schennink @rikschennink.com · 31/07/2026
The general public now thinks the contact form redact.photo is a prompt input box. I wish all their prompts were this innocuous.
An email from RedactPhoto contact form reading "Add shawarma in the hand"
2202
Rik Schennink @rikschennink.com · 29/07/2026
Meet Bob the crayfish. Caught by our daughter, named Bob, and set free. Bob returned moments later with raised claws, ready for round 2.
160
Rik Schennink @rikschennink.com · 28/07/2026
Sad to see this malicious cookie banner on codepen, it doesn't even have a reject all button, you have to uncheck everything manually.
cookie banner popup
3180
Rik Schennink @rikschennink.com · 23/07/2026
Doing French landscape value studies. I love those skinny tall trees they have here.
Rough pencil drawing of a church and a drawing of a field with house in the distance
090
Rik Schennink @rikschennink.com · 22/07/2026
Real life AI slop
I carton of orange juice that reads: “Orange juice made from concentrated orange juice”
130
Rik Schennink @rikschennink.com · 21/07/2026
Me: In France My oblivious health tracker:
A bit of a dip today. That drink and slightly later night showed up in your recovery this morning (wine glass emoji)
120
Rik Schennink @rikschennink.com · 06/07/2026
Artemis: done. A bit average compared to The Martian and Project Hail Mary in my opinion 🤷‍♂️ Next up: Hyperion.
000
Rik Schennink @rikschennink.com · 02/07/2026
I just hired David Lanham to do the artwork for the FilePond landing page! Haven't been this excited in a long time :D 👉 dlanham.com
1230
Reposted by Rik Schennink
Vanilagy @vanilagy.bsky.social · 29/06/2026
Introducing TurboRes, an extremely fast ProRes video decoder for the web! 🚀 Written from scratch in Zig and compiled to WebAssembly, TurboRes has been relentlessly optimized for performance and is around 2-3x faster than native FFmpeg.
3535
Rik Schennink @rikschennink.com · 27/06/2026
A misty forest path on a cold winter day. I should’ve done the value study before the color version, you live and learn.
190
Rik Schennink @rikschennink.com · 25/06/2026
world's smallest violin news.ycombinator.com/item?id=4866...
news.ycombinator.com
Anthropic says Alibaba illicitly extracted Claude AI model capabilities | Hacker News
260
Rik Schennink @rikschennink.com · 24/06/2026
Camera flash effect 📸
270
Rik Schennink @rikschennink.com · 24/06/2026
The FilePond v5 source <dialog> is coming together :)
0170
Reposted by Rik Schennink
Rik Schennink @rikschennink.com · 23/06/2026
I wrote a small article explaining how to animate the <dialog> element using the View Transition API. The article also goes into Invoker Commands API and it concludes with some handy tips and tricks that improve the default behaviour of the <dialog> modal. pqina.nl/blog/animati...
pqina.nl
Animating The Dialog Element Using View Transitions
In this article we look at animating the &lt;dialog&gt; element using the View Transition API. We’ll follow progressive enhancement so it’s only used when supported and when the user allows animations...
26510
Rik Schennink @rikschennink.com · 23/06/2026
I accidentally pressed ⌘+Q and Zed quit so fast that I thought it crashed
4420
Rik Schennink @rikschennink.com · 23/06/2026
I wrote a small article explaining how to animate the <dialog> element using the View Transition API. The article also goes into Invoker Commands API and it concludes with some handy tips and tricks that improve the default behaviour of the <dialog> modal. pqina.nl/blog/animati...
pqina.nl
Animating The Dialog Element Using View Transitions
In this article we look at animating the &lt;dialog&gt; element using the View Transition API. We’ll follow progressive enhancement so it’s only used when supported and when the user allows animations...
26510
Rik Schennink @rikschennink.com · 22/06/2026
Dialog view transitions with invoker commands. 1. Intercept the "command" and "cancel" events. 2. Run startViewTransition(), in the callback move the view-transition-name from the <button> to <dialog> (and back). 3. Then call `showModal()` or `close()` to toggle the dialog.
1172
Rik Schennink @rikschennink.com · 19/06/2026
TIL about `<form method="dialog">` Belissimo 🤌
040
Rik Schennink @rikschennink.com · 19/06/2026
2170
Rik Schennink @rikschennink.com · 19/06/2026
Portugal Algarve cliffs, two attempts in watercolor. During my first try I got a bit carried away with the dark colors. It’s still not where I want it but I’m really happy with the progress.
0150
Rik Schennink @rikschennink.com · 17/06/2026
Why these days I'm reluctant about submitting bug reports to Chromium.👇
141
Rik Schennink @rikschennink.com · 16/06/2026
commandforcommandfor 🤷‍♂️ Dev tools when using `commandForElement`. Firefox and Safari are fine, but could be better. Chrome dev tools looks like it's broken. I guess dev tools still need to catch up to this API?
chrome "commandforcommandfor" on button elementFirefox empty "commandfor" on button element safari, empty "commandfor" on button element
250
Rik Schennink @rikschennink.com · 13/06/2026
Anyone at @bsky.app know why some of these stars in the splash screen are smudges? Is it a rushed design job? Are they exposure streaks caused by planetary rotation? Are these satellites moving quicker? Perhaps the motion blur on fireflies? What’s going on?!
Some of the stars are smudges instead of circles
200
Rik Schennink @rikschennink.com · 12/06/2026
grid-lanes drag and drop demo in FilePond v5, it’s pretty cool #CSSDay bsky.app/profile/riks...
060
Rik Schennink @rikschennink.com · 12/06/2026
Simon spends $12 bucks worth of tokens to remove an unwanted scroll bar from a textarea. Any front-end dev could’ve figured this out in seconds by simply looking at the screenshot. simonwillison.net/2026/Jun/11/...
6594
Rik Schennink @rikschennink.com · 11/06/2026
“It’s 2026, but <dramatic pause> that wasn’t always the case.” Quote of the day. Thanks @jakearchibald.com #cssday
080
Rik Schennink @rikschennink.com · 11/06/2026
color-scheme dark incoming #cssday
180
Rik Schennink @rikschennink.com · 10/06/2026
Nice gym! 👌
Boulder session at boulder Amsterdam, averaging 6B
000
Rik Schennink @rikschennink.com · 10/06/2026
Now first 🧗
020