Janis Jansen 🌳
banner
janis.me
Janis Jansen 🌳
@janis.me
Building @elevenlabs.io and open source CSS tools. Previously fluid simulations @dive.
TS + CSS = surimi.dev

🔗 janis.me
🖥️ github.com/janis-me
📽️ youtube.com/@janis-me
Pinned
The first version of the 🍣 surimi playground is live!

It runs the @rolldown.rs based compiler in a WebContainer, and updates the editor instantly!

Check it out! surimi.dev/playground
Compile times are bit slower than locally tho.

Also
- has type-hint support
- you can install new packages
- ...
This is super cool. I'm neighbors with @jquery.bsky.social and @wasm.io. can't get more precise than that.
I made a map of 3.4 million Bluesky users - see if you can find yourself!

bluesky-map.theo.io

I've seen some similar projects, but IMO this seems to better capture some of the fine-grained detail
Bluesky Map
Interactive map of 3.4 million Bluesky users, visualised by their follower pattern.
bluesky-map.theo.io
February 9, 2026 at 7:42 PM
Also in there: @hiogawa.bsky.social, @joshuakgoldberg.com and @daishikato.com along with the ones I mentioned before.

Thank you all for your work, it truly has a huge impact!
February 9, 2026 at 3:09 PM
Reposted by Janis Jansen 🌳
Grateful for being part of the first round of the OSS Engineering Fund by @elevenlabs.io 💖

Thank you for sponsoring me 🙏
ElevenLabs Engineers OSS Fund for open-source projects
We are launching the ElevenLabs Engineers OSS Fund to provide recurring support for the open-source projects that power our audio and AI systems.
elevenlabs.io
February 9, 2026 at 3:05 PM
I just sponsored @patak.dev for his work on npmx (and all the other stuff). I love this project and think it deserves backing. Hoping some day I find time to contribute.

Sponsor your open source maintainers!!

github.com/sponsors/pat...
Sponsor @patak-dev on GitHub Sponsors
Hey! I'm one of the Project Stewards of [npmx](https://npmx.dev). We're building a modern browser for the npm registry, by fostering an ever growing community of developers and trying to set an exa...
github.com
February 4, 2026 at 8:49 AM
first to like postcss by @evilmartians.com on @npmx.dev
February 4, 2026 at 8:33 AM
Wait since when can you spread `false` in javascript?

{ ...false } is valid! That means to spread properties into an object if they are defined you can just do

{ ...user, ...(name !== undefined && { name }) }
instead of
{ ...user, ...(name !== undefined ? { name } : {}) }
January 30, 2026 at 8:44 AM
TIL the "Shadow Wolves" exist. A unit within the US ICE Homeland security described on the official website as a "Native American tactical patrol unit" that "hunts, like a wolf pack".

To an EU citizen this reads like the plot for a cheap 1990 movie (racism built in)

www.ice.gov/about-ice/hs...
Shadow Wolves
www.ice.gov
January 30, 2026 at 6:22 AM
Told an LLM to make me a script that involves scraping youtube links for metadata. It gave some example YouTube links.

You know what video was in there... I got rick-rolled by an LLM.
January 28, 2026 at 8:55 AM
The latest episode of "Off the main thread" turned 1 last week. There is so much to talk about. Make it happen, please!
January 20, 2026 at 8:29 PM
Reposted by Janis Jansen 🌳
just a reminder that i have github sponsors if you'd like to sponsor the OSS work i do.

i maintain quite a few projects, and contribute to many more. nobody other than these sponsors pay for that. so these help a huge amount, however small 🙏

thanks so much to those who already did ❤️
Sponsor @43081j on GitHub Sponsors
Maintainer of chai, parse5, unjs, vueuse, tinylibs, & more. One of the e18e.dev leads. Core contributor to lit and modernweb.
github.com
January 11, 2026 at 9:51 PM
1. I'm going to @beyondtellerrand.com 2026!🎉 I've wanted to go literally for years and I can finally make it!

2. Found out the Beyond Tellerand organization is registered in my hometown, 10 mins from where I was born. The world is small.
January 9, 2026 at 11:24 AM
A great introduction into SIMD for rust developers (and about recent hardware changes and standards)

kerkour.com/introduction...
Introduction to SIMD programming in pure Rust
I've recently tasted AMD Zen 5 CPUs (AWS' m8a instances) and... Whooaaa. Even before talking about GPUs and NPUs, the next 5 years of CPUs will be very exciting! For
kerkour.com
January 8, 2026 at 5:28 AM
Today at 19:00 CET, a friend will give a talk at the CCC about building a RISC-V CPU... In the video game factorio. If you're into that stuff:

fahrplan.events.ccc.de/congress/202...
[39c3] CPU Entwicklung in Factorio: Vom D-Flip-Flop bis zum eigenen Betriebssystem
Factorio ist ein Spiel über Fabrikautomation - Förderbänder, Dampfmaschinen und Produktionsketten stehen im Vordergrund. Eigentlich ist das interne Logiksystem („Combinators“) gedacht für die Steuerun...
fahrplan.events.ccc.de
December 28, 2025 at 7:54 AM
We nominated some open source maintainers and tools to receive funding from the OSS Engineers Fund and will donate $22k to the projects we rely on at ElevenLabs! Some of these are my favorite tools I use daily that I think really deserve support like PostCSS, Graphite, ProseMirror and more.
December 15, 2025 at 7:36 PM
Reposted by Janis Jansen 🌳
To recap, NPM allows 2FA TOTP token reuse within the token’s validity window.

I reported this and was told it’s a “known low-risk issue” and that they “don’t consider this to present a significant security risk.”

So, let’s look at how this seemingly small issue could be leveraged by a phisher. 1/
Seems that NPM too allows TOTP reuse within the time-step window. Seen a similar issue in multiple services over the years.

Per RFC 6238, a TOTP (Time-based One-Time Password) should be single-use. Allowing reuse, even within the short-ish time window, is not ideal (shoulder surfing, phishing etc.)
December 12, 2025 at 1:08 PM
Beware, a linkedin-type post...

I'm super excited to share that I've joined ElevenLabs to work on the creative platform and music as a full-stack dev!

Music and next-gen software have been a passion for literally my entire adult life. Now I can combine them in the best way!
December 2, 2025 at 8:29 PM
Hell yes. Tom Lehrer on WMBR radio rn. Collage radio is the best.
November 27, 2025 at 9:58 AM
Unified Linux and Mac nix config ✅
Got rid of NixGL ✅
Will stop changing my config now that it works ❌
November 25, 2025 at 6:01 AM
The component library I want is SUPER opinionated but also mostly unstyled.

I want it to force me to do things right, like force tooltips on some components but BAN them on others.

I want it to force me to use its built-in data-attributes for styling, but also allow me to use any styling tools.
November 23, 2025 at 8:51 PM
@uni-muenster.de I just got a spam email claiming to be PayPal (with a copycat PayPal design) from your email fstolp@uni-muenster.de.

Either you were hacked or you have a very nasty student.
November 23, 2025 at 8:57 AM
Are y'all using node 'subpath imports' yet? I've been using them for a couple of months and apart for some minor inconveniences they are working super well! I never thought about going back to typescript path aliases.

If you're not, maybe you should!
November 13, 2025 at 9:52 AM
Dying wish is the best hardcore band. You'll not change my mind.
November 6, 2025 at 10:24 AM
You can't stop me from playing Metroid Fusion on a GBA emulator on my modded Wii.

I do own a computer and I do own several other consoles. But this is the way you are supposed to play GBA games.
November 4, 2025 at 4:14 PM
In Firefox, if you could filter network requests based on path/file.. you could negate the filter and exclude all requests from the vite dev server.

I think that's something we need. Vite module requests always spam the network panel.
October 28, 2025 at 6:32 AM
We're getting there! Was a very productive week.
October 23, 2025 at 8:14 PM