Janis Jansen 🌳
banner
janis.me
Janis Jansen 🌳
@janis.me
Putting things on websites you didn't know could be on websites. Like fluid simulations or CAD software. Also conversational AI agents at cognigy.ai. Currently working on surimi.dev (pre-alpha)

🔗 janis.me
🖥️ github.com/janis-me
📽️ youtube.com/@janis-me
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
We're getting there! Was a very productive week.
October 23, 2025 at 8:14 PM
Speaking of Vendor prefixes. These are the ones I found so far

Stopping with the "spam" now :) sorry
October 19, 2025 at 1:04 PM
I also got one for (I hope) every single pseudo class and pseudo element!

There are some edge-cases though. like `:matches()`. And it excludes vendor-prefixed ones. Couldn't be bothered.
October 19, 2025 at 1:00 PM
I'm learning so much more about CSS by building surimi (because I am forced to read the CSS specification).

For example, just wrote some types to figure out all possible @media query descriptors you can use.

It's 40 in total
October 19, 2025 at 12:55 PM
I'm in a deep `extends...infer` typescript hole again. And it's just awesome. Getting a lot done today!
October 17, 2025 at 8:46 PM
From the main Page, when I search for any domain and click on the search button, I am re-directed and get an error. If I then reload the page, everything works again.

I could re-produce it consistently by clearing the website cache.

I'm on the latest Firefox Mobile (android)
October 17, 2025 at 10:59 AM
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
- ...
October 15, 2025 at 10:39 AM
It's magnificent
October 14, 2025 at 8:13 PM
Outrageous!
October 3, 2025 at 6:02 AM
Oh, and yes: You can do everything typescript can do. Import externals, if conditions... save selectors to variables and share them across files.. mixins...

0 runtime as well. I made a vite plugin for it!
October 1, 2025 at 9:02 AM
It has full typescript hinting support as well.

You see what CSS will be built *inside* the type hints.
October 1, 2025 at 8:53 AM
Oh no, it's really happening
October 1, 2025 at 8:51 AM
I love this! On blueview.app, you can see who recently interacted with you, and much more insightful data!

Shout out! Don't want to tag all these busy people though :)

Thanks for making this @srsholmes.com
September 29, 2025 at 8:28 AM
You probably knew that a typescript enum, when compiled, adds extra runtime code.
But did you also know, that a `const enum` does not?

Might be worth using instead of string literals!
September 9, 2025 at 12:28 PM
Just discovered the "Xerox Alto" UI in the latest blog post by @bradfrost.com and it looks so damn good.
This aesthetic is exactly what I was going for with my website.. but I might have deviated too far.

Also, it's a brilliant blog post, check it out at bradfrost.com
August 29, 2025 at 11:53 AM
I updated my website! It now has:

- prettier, colorful dark scheme (below)
- a CV page
- a new blog post (for my CSS nerds)
- better accessibility, progressive enhancements etc.
- automatically generated PDFs (like the CV page).

Check it out at janis.me and tell me what theme you like the most!
August 28, 2025 at 6:29 PM
Here, fixed it.
August 15, 2025 at 7:52 AM
I love Sweden
July 3, 2025 at 7:34 PM
It's not easy to keep up with css features..😅 even though they are sooo great!

I loved taking the 2025 state of CSS survey. Give it a shot!

survey.devographics.com/en-US/survey...
June 23, 2025 at 4:30 PM
* specifically, using `comlink` by @surma.dev et. al. to create multiple instances of a class within the worker. That way, you can 'spawn' them easily.

And while we're at it: While digging through the source of squoosh.app, I found this gem of an example image:
(@jakearchibald.com sorry)
June 17, 2025 at 9:19 AM
Super hyped about an, admittedly, very tiny library:

handlery.dev let's you add awesome class-based event handlers for all kinds of emitters (like emittery, node's EventEmitter etc.) With the magic of decorators!

Now that TC39 decorators are stage 3 and moving forwards, let's start using them!
June 12, 2025 at 6:13 PM
Anyone in the threejs community will find it comical that this is a screenshot from today.
June 12, 2025 at 4:59 AM
I'm nearly there!

(I need to improve accessibility by making more space for small buttons on mobile, will figure out how that can fit in the website theme. I don't want to make it more complex by adding things like floating menus)
June 4, 2025 at 8:02 AM
Got a new thing going on!

surimi.dev - to make SCSS libraries safer, with proper error messages. Feedback very much wanted!

github.com/janis-me/surimi
May 29, 2025 at 8:25 PM