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.
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.
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.
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.
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.
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 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.
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.