Janis Jansen 🌳 @janis.me · 26/09/2026Hardware upgrade! Compiling things is fast now. As is switching windows. 100
Janis Jansen 🌳 @janis.me · 10/09/2026Wait. When submitting a stack though github cli, it doesn't set the remote tracking branch? I'm sure the cli submits the code via git, since I had to unlock my SSH key. If I had push.autoSetupRemote enabled and gh cli would have chosen a different branch name, I'd have two remote branches? 100
Janis Jansen 🌳 @janis.me · 07/03/2026Created an app today that shows all your at://proto activity in your own personal garden: profile.garden It's fully vibe-coded right now apart for some UI stuff. My goal is that you can login and can customize your garden. Integrations include bsky, tangled, stream.place, popfeed, @npmx.dev etc. 4320
Janis Jansen 🌳 @janis.me · 15/12/2025We 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. 1184
Janis Jansen 🌳 @janis.me · 02/12/2025Beware, 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! 120
Janis Jansen 🌳 @janis.me · 04/11/2025You 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. 020
Janis Jansen 🌳 @janis.me · 19/10/2025Speaking of Vendor prefixes. These are the ones I found so far Stopping with the "spam" now :) sorry 000
Janis Jansen 🌳 @janis.me · 19/10/2025I 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. 200
Janis Jansen 🌳 @janis.me · 19/10/2025I'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 210
Janis Jansen 🌳 @janis.me · 17/10/2025I'm in a deep `extends...infer` typescript hole again. And it's just awesome. Getting a lot done today! 010
Janis Jansen 🌳 @janis.me · 17/10/2025From 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) 100
Janis Jansen 🌳 @janis.me · 15/10/2025The 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 - ... 341
Janis Jansen 🌳 @janis.me · 01/10/2025Oh, 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! 010
Janis Jansen 🌳 @janis.me · 01/10/2025It has full typescript hinting support as well. You see what CSS will be built *inside* the type hints. 110
Janis Jansen 🌳 @janis.me · 29/09/2025I 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 110
Janis Jansen 🌳 @janis.me · 09/09/2025You 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! 000
Janis Jansen 🌳 @janis.me · 29/08/2025Just 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 000
Janis Jansen 🌳 @janis.me · 28/08/2025I 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! 100
Janis Jansen 🌳 @janis.me · 23/06/2025It'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... 000
Janis Jansen 🌳 @janis.me · 17/06/2025* 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) 020
Janis Jansen 🌳 @janis.me · 12/06/2025Super 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! 100
Janis Jansen 🌳 @janis.me · 12/06/2025Anyone in the threejs community will find it comical that this is a screenshot from today. 010
Janis Jansen 🌳 @janis.me · 04/06/2025I'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) 000
Janis Jansen 🌳 @janis.me · 29/05/2025Got 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 100
Janis Jansen 🌳 @janis.me · 20/05/2025Help! A question for my fellow typescript wizards (cc @mattpocock.com) I want to convert 'key-optional' properties of a type to 'value-optional', so remove the `?` and instead make these properties union with `undefined`. This is the only thing I came up with. There must be a better way?? 210
Janis Jansen 🌳 @janis.me · 20/05/2025Oh wow! I knew about the `HTML` Element by react-three-fiber / drei, but I didn't realize you could render things like context menus as part of a mesh! In this example, I show a @radix-ui.com context menu at the position of the cursor, when right-clicking the mesh. @pmnd.rs I love you so much. 100
Janis Jansen 🌳 @janis.me · 29/04/2025@standupmaths.bsky.social you silly goose... That's not me. That's you! 100
Janis Jansen 🌳 @janis.me · 28/04/2025csshell.com is great fun. Found a one-prop solution for riddle #9 (spoiler) 000
Janis Jansen 🌳 @janis.me · 25/04/2025The best thing about a @npmjs.bsky.social scope that matches your website URL is that the `homepage` URL can be literally the package name For `@janis.me/themed` it's `http://@janis.me/themed` 000
Janis Jansen 🌳 @janis.me · 25/04/2025I might be spamming a bit, but I'm hyped. Just released themed.janis.me/generator to showcase automatic theme generation by janis.me/themed. This app has exactly ONE color pre-defined. everything else is generated through chroma/lightness/hue alterations in SCSS. Yes, SCSS, not JS. 100
Janis Jansen 🌳 @janis.me · 22/04/2025Was a bit inspired and updated themed-playground.janis.me It can now import external packages from unpkg.com, resolve `themed` code pre-bundled and has nicer error messages. Also has some new examples on how to use janis.me/themed 000
Janis Jansen 🌳 @janis.me · 09/04/2025TIL that the Fahrenheit and Celsius scales meet at -40 (°?) How did I not know this before? 100