This small project has been a revelation in using AI as a powerful co-designer — in this case, the AI “vibe coding” platform Henosia. Building a simple shopping list app is a classic design exercise, and it turned out to be a great training ground for experimenting with AI-assisted co(ding)-design. I’ve always missed a few features in my go-to shopping list app, Google Keep — especially the ability to search through all previously added items and quickly re-add them. Another missing piece is a fixed input field for adding new items, rather than having to scroll to find the next empty slot. Through my prompts, the AI suggested implementations I could test right away. From there, I was able to iterate rapidly in tandem with the AI, making for a truly powerful, efficient, and satisfying design process — despite the occasional hiccup along the way.
I have a passion for bicycles, and I spend quite some time contemplating what gearing I should have on my bikes. While there are definitely existing, useful tools for comparing derailleur gear drivetrains, none I could find were as mobile- and user-friendly as I'd like – even including native mobile apps. So I decided to design and code my own from scratch. The goal was a straightforward, to-the-point little web app which is nice to use on a phone – with a target audience of bike geeks like myself. To build it, I used Bootstrap 5 and the small, powerful Alpine.js library.
As part of this blog post I proposed a redesign for a rather standard publicly available employee directory for finding contact info of specific individuals. The original design featured three independent dropdowns for filtering on employee by different attributes. In the blog post I discuss why the design has an inefficient interaction flow and I explore how the design can be improved by reorganizing and changing UI widgets. I created this interactive, responsive prototype using Vue.js JavaScript framework to illustrate my points.
This fully functional responsive prototype helps employees at KMD headquarters find their way to conference rooms – as an 'MVP' alternative to separate PDF ground plans buried deep inside the intranet. It's a collaboration between myself and a few UX colleagues of mine, in particular Jakob V. Christoffersen who had the original idea and contributed some of the maps and general input throughout the process. I programmed the prototype in HTML/CSS/JS and elaborated on the idea and added features such as search and deep-linking to individual conference rooms for easy sharing.
I designed and implemented this website for a small village with a special meaning to me. The brief was a simple, straightforward and informational little site serving both residents and visitors. The site should feel less 'dense' and more inviting than the average small-town site. The result is an image-rich site, with a flat structure, designed in the browser and handbuilt using Kirby CMS for an easily tailored admin experience.
On my own initiative, I created this one-page prototype for the startup Vivera, which operates in the coaching/supervision business. The page is divided into multiple sections such as Services, About, Pricing and Contact. I presented the design to the business owners, who liked many of my ideas. The prototype is created using Harp static site generator and Bulma.io CSS framework.
Building upon the general idea and prototype work of a UX colleague of mine, I extended his work and created this prototype for locating conference/meeting rooms in my office building. The maps are created as SVGs in Affinity Designer and the 'web app' is created using the Zurb Foundation frontend framework and Panini flat file compiler.
When working within UX, there are a lot of tools, methods, pattern libraries and stuff to keep track of. The existing resource repositories didn't provide a to-the-point listing of resources, so I decided to create my own. It is organized with a few general categories and a tag system. Users can suggest edits and additions via a simple FormSpree.io integration.
The design system of this very website. To ensure a consistent, usable design and proper reuse of components, I built this design system as part of the process of rebuilding agib.dk. The individual design system pages are created using Eleventy partials and rendered first visually and next as their HTML source code for quick reference.
This very website: Designed by yours truly to provide design professionals and others with bits and pieces & tips and tricks about User Experience and Interface Design. Handcrafted using HTML/CSS (Less), Harp static site generator and Sublime Text 3 code editor.
How can a small, rather old website be refreshed and brought into the responsive age while improving utility and effectiveness for users? Hint: Using zebra-striped 'action points'; By duplicating main navigation both top and bottom on mobile. And by generally cutting back on inefficient 'embellishments'.
The original schedule of this music festival was good-looking yet somewhat cumbersome to navigate and get an overview of. So, in as an unsolicited exercise, how could the design be improved in terms of at-a-glance information and efficient navigation – especially on mobile.
The original version of this music festival schedule sported an inefficient dropdown navigation and 'dead ends' at the bottom of pages. Thus, I've tried to make a new version improving on those shortcomings.
Playing around with a bicycle manufacturer´s website, I crafted an unsolicited HTML prototype with improved information architecture and navigation design compared to the original design.