App screen blur
App screen blur
App screen
App screen

2022-Present

2022-Present

Adventures in AI

A body of self-initiated projects exploring AI tools for design and creativity. From plugins to prototypes to 22,000+ images, these experiments show how I treat AI as a collaborator and use it to learn, adapt and ship real artefacts.

Vibe-coding

Vibe-coding

AI-native

AI-native

Design experiments

Introduction

Introduction

Introduction

Built and shipped AI-enabled prototypes across code and design

Self-initiated experiments that show curiosity, versatility and an AI-native approach

I explore emerging tools to understand their creative and practical potential. With AI, that instinct has become a dedicated thread of work. Since 2022, I have generated more than 22,000 Midjourney images, built small tools, and created working artefacts like a macOS screensaver and a Firefox extension. These projects are not client briefs, but they show how I approach ambiguity with design intuition, rapid prototyping, and AI-enabled making.

Screensaver

Screensaver

Screensaver

Screensaver

Dead Meat SkullSaver™ - built a shippable macOS screensaver with AI-assisted coding

Challenge


I have a huge archive of cool skull images I collected over many years. But I had to go to my tumblr site to view them - what if I got them to come to me? I also wanted to see how far I could pair design instincts with AI to build a real macOS artefact.


What I did


Framed the experience around a quiet, continuous masonry scroll - mirroring the Tumblr viewing experience. Used ChatGPT and Claude to scaffold Swift code, iterating toward a working screensaver with smooth scrolling, bundled images, and polish such as System Settings thumbnails.


What worked


The design-first approach kept decisions simple. AI accelerated coding, and the final result feels smooth, reliable and native.


What did not work


Distribution quirks such as Finder icons and Gatekeeper created friction, and some old conventions no longer applied.


Learnings


AI is best as an enabler, not a shortcut. Staying in a design loop of describe, see, react led to a shippable product that feels finished. It felt like my experience with reviewing and feeding back on iterations came in really useful.

AI Art

AI Art

AI Art

AI Art

Midjourney Experiments: generated 22,000+ images as a daily creative practice

Curiosity


Since 2022 I have generated over 22,000 images in Midjourney, using it as a daily creative practice. I love the speed of realisation and infinite possibilities. To get high quality results to crazy questions like “what if Fritz Lang directed Star Wars?” is still mind-blowing. 


What I did


Experimented with prompts, styles and moods, sharing work on Instagram and collaborating with the AI art community.


What works


The immediacy of words to image felt magical and often led to unexpected, inspiring results.


What doesn't


Trying to force precise outcomes was frustrating, the tool thrives on openness, not control.


Learnings


Midjourney works best as a co-creator. It expanded my visual vocabulary and reinforced that play is central to creativity.

Firefox Extension

Firefox Extension

Firefox Extension

Firefox Extension

Arc-style Sidebar: prototyped Arc workflow inside Firefox with AI-enabled WebExtension

Challenge


I love Arc's side bar - it fuses the concept of open tabs with bookmarks and is the single best way out of all the browsers to help manage my tendency to have 1000's of tabs open. But I also love Firefox's rigorous privacy features. Why not have the best of both?


What I did


Mapped behaviours into a spec, designed in Figma, and built a WebExtension with Spaces, Folders, and tab management. Used AI for scaffolding and refactors.


What worked


The hover-to-open pattern reduced visual load, and the Spaces model read immediately. The UI felt native, maintaining trust and clarity.


What did not work


Firefox’s permission model limited some behaviours, and type-ahead search is not yet production-ready.


Learnings


Clear scoping and fast feedback loops kept momentum. Even for self-initiated work, structuring the narrative mattered, making it feel like a proper product workflow.

Python Script

Python Script

Python Script

Python Script

ASCII Art Generator: created scalable ASCII vector artwork with Python scripting

Challenge


I wanted to make personalised hero images for my site, but didn’t want my photos pasted everywhere - I thought ASCII would be a neat way to represent myself as a digital designer. But I wanted a specific output; could bitmap images be reinterpreted as scalable vector ASCII art?


What I did


Wrote a Python script converting bitmaps to greyscale ASCII, outputting SVGs with adjustable character sets, spacing and brightness mapping.


What worked


With the right balance of spacing and contrast, outputs felt like halftones or optical art.


What did not work


High-resolution SVGs became too heavy for browsers, forcing compromises in resolution and export.


Learnings


Constraints often create elegance. This project sharpened my scripting skills and deepened my understanding of SVG performance limits.

Figma Plug-in

Figma Plug-in

Figma Plug-in

Figma Plug-in

Figma Scale Plugin: tested automation limits in scaling layouts

Challenge


I was working in Figma and had a bunch of elements I needed to resize at the same time. I was faced with doing each one manually, but then I thought there must be a plugin that does this. After looking I found there wasn't. So I made one myself!


What I did


Built a plugin in JavaScript to batch-scale frames and contents, experimenting with recursive transforms.


What worked


It resized frames programmatically and gave me fluency in Figma’s plugin API.


What did not work


The API could not fully mimic Figma’s native scale tool, leading to broken layouts.


Learnings


Not all tasks should be automated. The experiment gave me useful insight into Figma’s architecture and plugin limits.

Conclusion

Conclusion

Conclusion

Conclusion

Reflection

Across these projects, I treated AI as a collaborator, quick for scaffolding but dependent on a designer’s framing and judgment. Exploration kept me adaptive and hands-on, producing artefacts that balance intent with constraint.

Growth and Learning

Taken together, these experiments taught me that AI can be a powerful collaborator when framed with design intent.


  • Learned to treat AI as a collaborator, quick for scaffolding but dependent on design framing and iteration

  • Strengthened my ability to ship real artefacts in ambiguous spaces, from extensions to screensavers

  • Expanded creative range through daily practice and scripting experiments, proving curiosity translates into concrete results

  • Reinforced that play, exploration and reflection fuel adaptability and innovation in professional design work


Working with AI also mirrored what I have always done as a design leader: setting a clear brief, giving precise feedback, and trusting the process. The quality of the outcome depends on how you frame the ask, how you guide iteration, and how open you are to unexpected results.

More Works

(RE® — 02)

©2025

More Works

©2025

More Works

(RE® — 02)

©2025

More Works

(RE® — 02)

©2025