Personal projects

SkoleKort: a map of Denmark covered in ranked school markers

SkoleKort

Interactive map of every public school in Denmark

Our daughter started school in 2026, and in 2025 we decided to look further than the city we lived in at the time, to find the best school we could for her. This is why I developed this small tool where you can pan across the country, tap a marker, and get a school’s key figures: grade averages, socioeconomic reference, and student wellbeing — each ranked against every other folkeskole.

The app is a small Vue 3 + TypeScript client on Google Maps, fed by a Go service that parses the Ministry of Education’s open statistics API into usable data. My wife and I also applied some logic to evaluate the different metrics and the averages are slightly opinionated. But thanks to the tool, we moved to a new city in early 2026 so our daughter could start school in August 26.

VueTypeScriptGoGoogle MapsFirebase
Pixel Designer: a pixel-art pattern on a Pixelhobby plate, next to the colour counts and the prompt panel

Pixel Designer

Design Pixelhobby bead patterns by describing them to an LLM

We bought our daughter a couple of Pixelhobby plates at a craft fair. Once we saw the prices they were charging for "inspiration booklets" with designs and pattern, I decided to take the matter in my own hands. With this simple tool, you pick a plate size, describe what you want, and an AI model draws it using only the 312 standard Pixelhobby colours. It can be then touched up by hand, or you can ask for changes.

Most importantly, "kids mode" is available for children who can’t read yet: big icons, a sparkle button that draws a chosen picture, and a magic wand that changes it. The drawing pipeline is pluggable — Claude, any OpenAI-compatible API, or a local model in LM Studio or Ollama. There is also the option to run the tool without any AI (for child-safety reasons) the app still turns emoji into clean patterns.

VueTypeScriptViteClaudeFirebase
The lu-style-kit showcase page, theme picker set to Bold: one markup tree rendered in a vermilion type-specimen theme

lu-style-kit

A framework-agnostic CSS theme system, and its showcase

As a maker I am always working on some small projects, and because of that I am in need for a quick and simple style kit to import and forget about. I have been working on themes, based on common CSS custom properties. You just need to import the stylesheet, apply a single data-style attribute and every component re-styles itself.

A Playwright-driven audit holds all twelve theme-and-mode combinations to WCAG AA by reading real computed colours from a browser, so no theme can ship an illegible pairing.

CSSReactVitePlaywrightWCAG AA