With 8+ years of experience designing digital products, I’m a generalist with a positive can-do attitude. I enjoy making things simpler, working on products end-to-end, and I always try to have a reason behind the design decisions I make.
Based in
Cork (Ireland),
outside of work I’m always experimenting with side projects (thank you AI!).
Hiring?
Yay, I'm open to opportunities!
What I'm looking for
I'd love to join a small, informal team with some impossible mission. I'd like to:
be involved in strategy and product thinking, not just visual execution
contribute to the codebase (with AI-assisted code), working directly with devs
be in touch with users/researchers
have ownership over what I work on and be proud of what we put out in this world
have fun
I don't care much about roles, hierarchy or career ladder, I do care about working on a high quality, useful product, with a good team.
Work
Personal projects
Bluebie, a shared grocery list for my household
TL;DR
A retro-pixel grocery-list app I designed, branded and built solo (icons, copy, animations and all), mostly for fun, to see what I could ship end-to-end with Claude as my only teammate.
Why?
There’re plenty of list apps out there — most pretty standard and kinda boring, some cluttered with ads, some paid. I wanted one that would bring me some joy when doing groceries, and I wanted to test what I could single-handedly do with Claude. Also, for the glory, I hadn’t made a mobile app before.
Sweating the details
I wanted a video game feel, but not too much, to avoid people actually thinking it’s a video game when seeing it in the Store.
Some screenshots
Some copy examples and the animation on delete
At first I wanted to create the visuals for list items in a pixel art style, but I realized I couldn’t know all the possible items people would have in their lists. So after looking for pixely filters, I landed on a less-appealing but more scalable solution: simply using native emojis, with some CRT-like lines to give the retro feeling.
Icons I wanted to use vs icons I ended up using
To surprise and reward my partner for buying distasteful but healthy food, so I added a way to spark some joy when checking items. Our household registered a +25% increase in monthly spending on carrots.
Yaay!
Item-editing actions are revealed on horizontal drag, like in Gmail and many common apps. But after spending a good minute observing a friend pressing and waiting in confusion for something to happen, I added a long-press interaction in addition to the drag.
Press, drag, both works!
UX choices
The main value of Bluebie lies in putting together a whole list of the items you recurrently buy, and reusing it over and over, so you only set it up once. Since adding items one at a time can get tedious, I built a quick list setup. And for manual entries, common items come with a predefined emoji that’s automatically inserted after you type the item name.
Auto-emoji insertion, isn’t it magical?
Process & technicalities
It took a few months, working a few hours on the weekends, with me, myself and AI.
It was one of my first projects where Figma was mostly a sketch pad for ideas and not polished mockups. I used Pixquare for the pixely icons, Claude for coding, Firebase for storing the lists, Google auth for accounts, and Vercel for hosting.
Branding
Bitlist, Pixlist, Baskit, Stakit, Grabit, Blooli, Bloopi, Blubi, Bluet, Bluva, Bloobit, Bloomi, Berrly, Bluebit… I spent quite some time on the naming, brainstorming with ChatGPT and its horribly generic suggestions, until we finally focused on something that would fit the blueberry app icon. We landed on a made-up word, with a very cute sound (imho), verified that the domain was available, the competition space clean enough, and off we go: Bluebie!
Conclusion
Bluebie is up and running: my friends and I have been using it with our partners to manage groceries for months now. I’m currently in the process of publishing it to the Google Play Store, which requires finding 12 testers to try the app for 14 days before it can be approved for production.
Easter egg
In a couple of screens there’re some floating icons (the pixely ones I didn’t use for the list items). If you click or long-press on them, they’ll respond to you.
Simplifying Infogram dashboard for Admins
TL;DR
A ground-up rework of Infogram's dashboard information architecture, from user interviews and prototyping, through AB testing and a shipped redesign. Spearheaded end to end, from research to release planning, improving discoverability of key admin sections by +12% YoY.
Before & after
Context
Infogram is a web platform for creating data visualizations, with 5M+ users. It's mostly B2B, though it does have B2C customers too, built for people who need to turn data into something visual and interactive: journalists, marketers, and communications specialists creating reports, infographics, articles, and presentations, at organizations like Politico and Amnesty International.
Infogram started in 2012 as a simple platform, with one library to see your projects, one template page to pick a design, and one editor to work on it. Over the years it grew, with more pages, more features, until it became a fairly complex tool, with two editors, analytics, branding, collaboration, five price tiers, four different user roles per team... you get the idea.
With growth came a less-than-ideal information architecture in the dashboard (aka everything outside the Editor). It got confusing enough that even the team would sometimes lose track of where a setting lived. Some options were so buried that users didn't know they existed at all. This was particularly experienced by Admins: users in higher paying plans who manage teams and usually have high influence on whether to renew their Infogram subscription.
Exploration
In 2023, while running user interviews for unrelated features, I started collecting side notes on evidence of confusion around several parts of the dashboard. I then prepared an internal presentation with the findings, to propose a redesign initiative. Here are some of the issues identified:
Folders were the main way for users to organize their content, but they were not given an equally important real estate, and were hard to reach on smaller screens.
The presentation also included an analysis of information architecture and a couple of proposals. One with vertical tabs in all pages, close to the existing layout, and one with a horizontal navigation.
A horizontal navigation allows more space for the folders and projects used by all users, while moving sections like Analytics and Branding, used only by Admins, into a secondary position.
Waiting…and testing
That initial presentation was well received, but with other initiatives taking priority, the PM, EM, and I agreed to postpone it to a better time.
By May 2025, that better time had not arrived yet due to other emergencies (we were without a PM, and AI had stormed into the roadmap), but more reasons to work on the dashboard had piled up:
Performance: users with hundreds of projects were experiencing slow library load times.
I made some time for creating a couple of prototypes with the main flows and gathered feedback from across the team: developers, customer success, customer support, QA, and Prezi design team. After a few iterations, I involved our UX researcher to set up qualitative tests in Lyssna to validate the new dashboard architecture and have data for when we would have time for it. We ran an AB test with a series of small tasks to complete on either the current or new dashboard, targeting existing admin users recruited through customer success.
The main goals were to:
Confirm that the new dashboard was faster to navigate, and that both new and moved flows (like the Organization section, team switcher, and profile) were easy to discover.
Check how the new look and feel would be received
Spot potential issues we hadn't anticipated
The first rounds surfaced one recurring issue: each of the three workspaces (Personal, Team, and Organization) had a menu item labeled "Settings," so users assumed it was the same everywhere. In reality, each workspace's settings held different content, so we relabeled them to make the distinction clear. Everything else showed no major issues.
Planning
During the summer of 2025, better times had finally arrived, and we kicked off development.
I started working closely with Aleksejs, the developer most passionate (and annoyed) by the existing dashboard issues. His experience with how things worked (or not) under the hood was fundamental to designing the final screens.
As engineers began the work, I prepared a Mitzu dashboard to keep an eye on the upgrade buttons (not because we expected an increase, but to make sure we weren't breaking anything), while also preparing high-fidelity screens, going deep into flows and documenting UI details. Here are a few:
Documenting team switcher states, scroll behavior, and spacing details
As I was spearheading the initiative, I also defined the release plan, which started when development was almost complete:
The four-week phased release plan, from admin interviews to full release
Outcome
We barely made it in time to complete and release the dashboard, when the company strategy changed and the team and I were moved from Infogram to building Swoop. What I could gather a few months later was that the previously hidden sections became more discoverable, with +12% YoY clicks on the top menu. Navigating the dashboard felt noticeably faster overall, and I'm confident Admins have an easier time managing their organizations. I'd love to confirm the impact with a drop in Customer Success and Support tickets related to navigation, but we don't have that data. So this is where my Infogram adventure ended, but I'm happy we left it in a better state.
Here some before and after:
Menu before & after
Infogram miscellaneous
Swoop, an AI agent for on-brand social posts
TL;DR
Designed and shipped Swoop's social media campaign generator — an agent that creates on-brand images and captions for your social media posts, and suggests what to post based on what your team is working on (from Slack, Notion, and beyond). Built end to end with three developers, in about three weeks.
Swoop's dashboard
Context
Swoop started as a new team and a new AI-native product within Prezi, in early 2026. The team was made up of 3 PMs, 3 designers, and 12 developers. The initial goal was ambitious: generate the most stunning presentations on the market. A few months in, that ambition expanded to supporting different visual formats, and social media posts were identified as the first new one.
Why social posts? The push came from a very real, internal problem. As a small startup within Prezi, Swoop needed to distribute itself, and it didn't have dedicated marketers on the team. Posting consistently on social media was part of that distribution effort, and we needed to automate it as much as possible, spreading the work across the team instead of leaving it on one person. Swoop itself was to become the tool to make that possible, so in a small squad with 3 devs, we took on the initiative.
Exploration
I started by putting myself in the shoes of someone creating social posts from scratch, mapping out everything I didn't know. That included specifics like image size requirements across platforms, best performing visual formats (image, gif, video), carousel conventions (number of pages, text sizes, padding to leave room for navigation arrows), and image best practices for socials.
After a quick competitors research, I did some exploration in Figma, with a few prototypes focused on dashboard and editor.
Dashboard
The dashboard matters because it's the main way users discover that different formats are even available. I hypothesized that users would first pick the format, then the platforms they needed to post on, and would likely want help picking the right aspect ratios. Once someone completed this flow once, the system would remember their choices and apply them as the default for future sessions.
Editor
I reviewed and made small adaptations to the presentation editor for the social media case. I wanted to reuse the pattern from the presentations format rather than reinvent the wheel: a chat interface on the left, a live preview on the right. The preview offered a couple of variant options to pick from, and mimicked the look of the actual social platform, down to the buttons at the bottom, to give users a feel for how it'd look in the end.
An initial prototype.
I drafted initial designs while developers began building the foundations in parallel. Rather than fully polishing in Figma, I did a lot of the refinement directly in code, assisted by Claude. We added some basic guidelines and guardrails to the agent, and once the working prototype was good enough, we looked for feedback.
Feedback and iterations
I gathered feedback from the Prezi design team, Swoop team, and with the three devs we sat in an interview with a marketing person from Prezi to understand how professionals usually approach campaign creation. I mapped her usual workflow and dug into the details of what she considers at each step, and had her test the prototype directly. That conversation surfaced something we hadn't initially considered: the caption mattered as much as the visuals. One of her core needs was strong copy in the company's tone of voice, with a few alternatives to choose from.
We also refined how the chat flow works, shaping the agent's behavior to gather content first, then, once there was enough information, propose a couple of alternatives for both the copy and the visuals as separate steps — directly responding to her need for options rather than a single take.
People weren't sure they could edit directly from the preview, and sometimes missed the buttons below the image entirely. So we simplified and moved the buttons, splitting the view into edit and preview modes, with ability to preview posts as they'd actually appear on mobile versus desktop. It turned out to be useful beyond fixing that confusion: for carousels, edit mode let you see every image and page laid out side by side for a full overview, while preview mode mimicked the real platform experience, moving through pages one at a time with navigation arrows.
The chat's step-by-step flow, gathering content before proposing alternatives.
Agent behaviour
The agent was the most complex and frustrating part of the feature. We tested different AI models for image generation, and spent a lot of time iterating on the system prompts, as the experience was designed to work even without the UI, in case the agent was used from outside Swoop. For example, at the start of a chat, the agent infers intent directly from the user's prompt, generating a presentation or a social post based on what's actually asked, regardless of the UI context (e.g., the UI is set to "presentation," but the prompt asks for "one LinkedIn post").
We ran into plenty of issues guiding the agent on what to do and what not to do: how it should behave in the chat, how to generate good images (with readable text sizes and without black stripes, random icons, or fake UI elements), how to keep content flowing coherently across carousel pages, and many more things than I can remember.
In the End
As the feature was coming together and I needed to actually start posting on LinkedIn, I built a feature for Swoop to suggest content on its own, with the help of one developer. Swoop already had integrations with tools like Slack and Notion, so it could pull from them, for example, from the Slack channel where we posted shipped features, and surface three ready-made post ideas in the dashboard. This went right back to the original need: if you're a small startup without a dedicated marketer, posting quickly and consistently shouldn't mean starting from a blank page every time. Swoop would suggest what to post based on what your team had just shipped or discussed. A basic version of this made it into the product before it was discontinued in June.
There's no usage data to share from this one — the product was still fresh when the plug was pulled — but the social media feature shipped, and I personally created and published the first (and last?) glorious LinkedIn post:
Screenshot of the LinkedIn post announcing Swoop.
CorkBrute, a spotting game for my friends
TL;DR
A lighthearted spotting-game for my friend group, tracking sightings of Cork's local stereotypical characters — designed, branded and built solo, with Claude for coding and ChatGPT for the illustrations.
Characters, leaderboard and profile
Origin story
Many cities have their own cast of peculiar characters that everybody notices around. Cork has no shortage of them: buskers, oompa loompasGirls with heavy make up and fake tan., people hobbling, drunks, spoon players, young offendersUnderage and up to no good., and plenty more. My friends and I started noticing them and at some point someone said we should be keeping score every time we spotted one. Was I looking for excuses to make another app? Of course I was.
Experimenting with illustrations
The project started with a list of characters, each with points assigned by rarity of sighting. I then imagined how I'd represent them: I wanted an Arcane-inspired illustration style, painterly but modern, and a bit rough. I tested several image tools, like Recraft, Gemini and ChatGPT, running long prompts to find a cohesive visual language, and settled on ChatGPT for the best results. The style I wanted turned out to be too hard to reproduce, but I defined some common traits for my characters: slight disproportions, larger heads and arms, shorter legs, one dominant theme color, visible brushstroke texture, dynamic poses over static standing, a mischievous expression, and more. These became a long system prompt, adapted for each character, which worked nicely for consistency.
Chasing a style that would hold up across a whole cast of characters.
UI & animation
Since the app itself is simple (a grid of characters, a leaderboard, a history and a profile page), I focused on making it satisfying to use, refining animations and UI details.
Spot, score, climb the leaderboard.
Logo & avatars
The app logo itself is a local reference, riffing on the Shandon Tower from Cork GAA's crest — in real life topped with a golden salmon, swapped here for a watchful eye.
The app name, "CorkBrute" and its branding are another reference to CorkBeo, a local newspaper.
Cork GAA's crest, and CorkBrute's own take on it.
I enjoyed the eye motif so much that I turned it into customizable variations for the player avatars, both to avoid storing uploaded pictures, and to give one more playful touch to the app.
Customizing your avatar.
Looking back
What started as an inside joke turned into a fun way for testing how far I could push AI tools. Claude Code held up far better than I expected, enough that I used it to work with Supabase for the first time.
It's satisfying to see something you made actually get used by your friends, and it's kinda nice that AI empowers us to build our own stuff, even something as silly as this.
Encai, activities near you
TL;DR
A mobile app to discover sport classes and activities run by personal trainers near you. In progress, with one developer.
SOL75, a 3D customizer for busy makers
TL;DR
My first 0→1 product: a web app for mechanical engineers and makers to generate fully-functional 3D-printable components — a gear customized by teeth count, material and torque, not just a shape to scale. Built from scratch with one developer, covering UX/UI, front-end, branding and content.
The customizer
Opportunity & goal
My partner, a 3D-printing enthusiast and software engineer, needed a way to quickly customize objects to 3D print while preserving their functionality. There wasn't anything on the market that did quite this, so in March 2020 we decided to build the platform together, as a side project.
Our goals were to make something useful and intuitive, to open it up to 3D-printing communities, and to learn new skills while building it. My part covered UX/UI, front-end, branding and content creation.
Discovery
We started by defining scope, requirements and target users. SOL75 is made for engineers and makers who use a 3D printer in their DIY projects, and it addresses the need for mechanical components that are both functional and quickly customizable — a gear, for instance, customized by number of teeth, material, mass, thickness and more. We looked at existing products addressing similar needs, weighing their features, design and reviews.
A glance into the 3D printing world
MVP
After mapping the main features and the desired user journey, we split the platform into two parts: a built-in library of components and a component page where the object can be customized and downloaded.
Since SOL75 was a new kind of product, we needed to prove the customization part was technically feasible before investing further, so the developer coded a first rough desktop prototype. We tested it with 9 people, watching how they used it and identifying the first recurring issues.
The first rough wireframes
Iterations
Over the following months we addressed the major issues from that first round and moved to a web-app version, faster to develop and update, and easier to test and distribute. We kept an agile approach throughout, running one or two usability tests a week for a few months (24 people in total) and fixing issues as they came up.
Later on at work I learned some basics of data analysis, so we set up analytics logging for SOL75 too. In 2024, when AI was getting better at coding, I used Replit to build a dashboard to visualize the data and make sense of what users were doing and how components were performing.
Some of the issues identified
Distribution
To gauge interest and be able to follow up, we created a landing page asking people to leave their email to try the product. We also opened a Discord channel and started producing content on relevant platforms (like Instructables) to reach potential users and build a community around the product.
sol75.com
Takeaways
SOL75 is the first product I've built from scratch. It forced me to learn new skills like project management, branding, copywriting, HTML and CSS, SEO, outreach and more. It gave me a concrete idea of the effort and pain of bootstrapping a new product.
It is still ongoing as my partner's side project — he keeps adding components and pushing technical improvements. I'm not really involved these days, but it's satisfying to see it still alive years later. There's no email requirement anymore, so feel free to try it out.
Whataaabout, a curated list of activities for bored people
TL;DR
A curated list of activities to help you expand your interests — designed with one developer and launched on Hacker News.