Docs

My Journey to a Better JavaScript Module
This post is about my approach to authoring standard Javascript module. There is no shortage of resources available and I recommend checking at least MDN module guide as...
Javascript roundup 2025-07
"Javascript roundup" is a curated collection of links I've gathered in the past related all aspects of development. I've added a brief summary (mostly f...
Codepen roundup 2025-07
"Codepen roundup" is a collection of Codepens I've bookmarked for reason or another. Usually for inspiration or reference for an idea I want to do.
AI roundup 2025-07
"AI roundup" is a curated collection of links I've gathered in the past related all aspects of AI, including LLMs, generative AI, etc.. I've added a bri...
Design roundup 2025-07
"Design roundup" is a curated collection of links I've gathered in the past related all aspects of design. I've added a brief summary (mostly for myself...
My take on Figma MCP
Diclaimer: I might change my opinion later. Figma's release of MCP server support is making rounds in the internet. The feature is still in beta, but I wanted to be q...
What AI hype misses on prototyping and proof-of-concepts
Speeding up parts of the iteration with AI is only sub-optimisation of the process. When thinking in typical model of discovery and delivery, discovery includes activitie...
Case: Selkie
Selkie is an AI-assisted diagramming tool designed for users who prefer declarative configuration over manual drawing. It uses a domain-specific language (Mermaid) to def...
GenAI: Future AI interfaces
I bumped into an interesting video from Y Combinator [1] related AI and future user interfaces. This reminded me about the book which I started but never finished: The De...
GenAI: What is an AI agent?
This working memo aims to understand what is meant by "AI agent", how it is defined in the wild and how to classify and categorise them? When looking up for def...
Wrapping things in JS
This helper memo outlines how to approach encapsulating content in Javascript. Quick Rules
(Mostly) Typescript templates
I noticed I have gotten used to write some pieces of code in certain way for reason or another. Sometimes the focus is in the specific pattern, sometimes it's in the...
Markdown snippets
This page is intended to function as copy-paste-helper for note-taking, brainstorming, refreshing memory or simply for inspiration.
Planning
I am fascinated about planning, especially in context software development. It is so amazingly difficult topic. This post works as a reference and reminder, rather than a...
Project Story
Finding the right granularity to document project is challenging. Some documents, like contractual agreements, offers, and orders, are standardized. However, project docu...
GenAI: Tool calls and structured outputs
Tool calls are a mechanism that enables a language model to function as a decision-making engine. The LLM suggests when a tool should be used based on the input it receiv...
GenAI: Design principles
Outlining design principles for GenAI system:
ThreeJS: Lightweight setup for controlling objects by external updates
I have been thinking about how to structure, organise, type and control objects in ThreeJS scene with comfortable and ergonomic way. The need is to apply external updates...
GenAI: Applying to solution
GenAI is effective in areas where its capabilities align with complex or data-driven tasks. It excels at understanding natural language, making it valuable for conversati...
GenAI: State of the AI (2025)
It is quite hard to approach GenAI as a UX designer and developer from one point of view. I have been exposed to GenAI as everyday user like many of us, especially people...
Defaults
Defaults can significantly affect how users interact with your product, especially since most users rarely change them. Some considerations follow. (Source: NNG: The Dang...
Hero schema
Browsing Youtube brought me to this information packed video about website hero section from @MalewiczHype. The video summarises very well why certain heros are better th...
Cito – My personal design system
Cito is my personal design system. It functions like a customized scaffolding arrangement, serving as a repository of ideas, concepts and code snippets. It functions as a...
Why Creating Diagrams is Hard (and How PlantUML/Mermaid Can Help)
Creating diagrams is often a lot of work. While they are useful for conveying complex ideas visually, several issues make the process cumbersome: PlantUML is a simple and...
Case: Prepra
As a father of two school-aged kids, I often find myself helping them refresh topics before exams. I had done some practice exams earlier, but this time I wanted to make...
Case: Knit Designer — Draw your own knit pattern
Johanna K. Design is a company focusing on designing and manufacturing clothes from ecological materials. The company sells it's products to consumers and companies v...
From design to dev
In this work-in-progress post I'll cover the problem of handing over design to development in web domain. The problem is relatively similar in other domains as well....
Case: Improving task management and note taking for personal use
I'm a software consultant with a focus on UX design. I also do web development and work on various software design and development related tasks. My education is in h...
Essential models for a UX project
Modeling in a UX context is about creating a structured understanding of the system, its users, and their interactions. The purpose is to approach system by identifying k...
Some notes about dark themes
The following remarks are made from the perspective of considering dark theme as a potential feature to be implemented.
Cito Custom Properties
Figure: Custom property overview
Cito Theme Controller
Perceived lightness
A while ago I started to work on an idea of having a tool that would generate color schemes with equal perceived lightness out of the base color given. I figured out the...
Atrophy
Not working on your craft, whether it's coding or design, can lead to the atrophy of critical skills, which in turn might lead to avoiding practicing the craft. From...
Strategic misrepresentation
The more at stake, the more exaggerated your assertions become. Rolf Dobelli explains it in his book ”The Art of Thinking Clearly”:
Wrong problem