71 Followers
6 Following
46 Posts
Frontend Developer living in Switzerland 🇨🇭
Bloghttps://sandroroth.com
Bloghttps://tinytip.co
🦋https://bsky.app/profile/sandroroth.com

Eleventy Notes turns 3 today 🎂 🥳 The first version shipped on February 7th, 2023 and it's come a long way since then, lots of new features and improvements over the years. Thanks to everyone using it and helping make it better 🙌

➡️ https://eleventy-notes.sandroroth.com

Eleventy Notes

A simple, lightweight, and flexible note-taking template for Eleventy.

Just launched Unfortunate Transitions 👻

A little puzzle game where you're a poltergeist eliminating your cheerful housemate through indirect means. Built with #XState code visible in-game.

➡️ https://unfortunate-transitions.sandroroth.com

@lgk It increased from ~1.3s to ~10s (~8s with cache) on my machine. This isn’t a fair comparison since I redesigned the site, switched to Tailwind, and added dark mode. It’s also noticeably slower during local development when making changes, but still better than Eleventy’s WebC, which often misses changes and requires a server restart.

Overall, the developer experience is worth the trade-off.

Rebuilt my website https://sandroroth.com from scratch with @astro 🚀

🧩 Code Puzzle, a little side project I made. Each level gives you a JS snippet split into pieces. Arrange them in the right order with drag and drop to solve the puzzle.

https://code-puzzle.sandroroth.com

Neat CSS game by @sandroroth: “CSS Selectors Playground”
https://selectors.sandroroth.com/
CSS Selectors Playground

Type-Level Hangman in TypeScript | Sandro Roth

Implementing a Hangman game entirely at the type level using TypeScript’s type system.

Type-Level Hangman in TypeScript | Sandro Roth

Implementing a Hangman game entirely at the type level using TypeScript’s type system.

☠️-Hangman in pure #TypeScript types 😎

Obsidian Bases Tip: Add a ⭐ Rating property to your movies and books bases to quickly see what you liked most.

Formula:

```
"★★★★★".slice(0, if(rating, rating, 0)) +
"☆☆☆☆☆".slice(if(rating, rating, 0))
```