I’m a product designer in London, shipping AI products people actually use and building tools that feel a little bit alive.
London’s weather is on its way. via Open-Meteo
Product designer, by way of a startup, an economics degree and one very good summer.
In my second year reading economics I was running a startup, Quest Up, and wanted to design it properly. A summer at BrainStation gave me the same kick the startup did: you make something, people use it, and the progress is right there in front of you. A Master’s in Human-Computer Interaction added the theory, and an internship at Pactto put my first feature into a public beta.
Off the clock I cook, play League of Legends and run. Cooking is the one that maps onto the work: UI is the plating and UX is the food. One attracts, the other keeps them.
Press play and he listens with you.
Collaboration that doesn't end when the call does.
Pactto is a canvas-based video production workspace/conferencing tool. I helped design a suite of commenting tools to bridge the gap between live meetings and async work.
Pactto centralises the video production lifecycle on one canvas. My role was to close the gap between live and async work, anchoring feedback to the asset itself so it outlives the meeting.
The video editing workflow is fragmented. Teams are forced to juggle separate tools for feedback, tasks, and communication, losing critical context with every switch.
Pactto unifies live conferencing and the entire video editing workflow into a single, canvas-based “Room.” It replaces scattered tools with one intelligent space where feedback, decisions, and production happen together.
We synthesized our research into an affinity map. While we uncovered several friction points, we prioritized one key insight to tackle first.
When I first joined, Pactto faced a core positioning dilemma: compete as a conferencing app or a collaboration workspace.
I initially advocated for the conferencing route based on competitive defensibility. Legacy tools like Zoom and Teams would struggle to copy our unique Canvas UI without completely breaking their users' established cognitive models. In contrast, competing as a collaboration tool meant facing off against giants like Miro and FigJam, who already owned the canvas format and simply needed to add a video call feature to close the gap.
However, after realigning with the founders, we committed to the collaboration model. The business strategy was to scale vertically (targeting specific creative workflows) rather than horizontally (building a generic meeting tool for everyone). Returning to our primary goal of reducing tool-switching, we realized Pactto couldn't just be a temporary meeting link. It needed to be the persistent, singular home where the entire end-to-end workflow actually happens.
We synthesized our research into an affinity map, where one key insight stood out as the root cause of the fragmentation.
42.9% of users were blocked by unclear feedback, and Pactto was purely synchronous. Miss the meeting and you miss the context. We needed a Contextual Library so feedback persists on the asset, not just in the moment.
While our primary objective was solving the asynchronous feedback gap, our research uncovered three additional insights that heavily influenced our final design.
Cognitive Load of the Canvas: Video editors found the infinite canvas “alien” because they are accustomed to working inside linear timelines. This paradigm shift meant we needed to provide structured starting spaces to reduce initial friction.
The Need for Presentation Control: Presenters lost their flow when audience members jumped ahead or crowded the screen with cursors. Users explicitly noted they needed to control the pace to prevent visual chaos and maintain sharp, focused feedback.
AI for Admin, Not Art: Creatives firmly stated they want AI to handle administrative tasks rather than generative creative work. They highly valued tools that quietly turn conversations into itemized notes so they can stay in their flow state.
preserve feedback context in async video reviews so decisions stay clear, traceable, and tied to the work?
This question guided the design of our core feature: a unified intelligent canvas where feedback organizes itself.
We followed a classic iterative design approach, testing and updating our prototypes on a rigorous weekly cycle to ensure constant validation.
Our stakeholder cycle required us to present functional features every week. Static mocks couldn't capture the complexity of video scrubbing or interaction timing, so we inverted the traditional workflow.
Instead of perfecting pixels first, we used Google AI Studio to “vibe code” functional prototypes.
We built interactive code prototypes to validate interaction feel (like drag-to-comment) in weekly reviews.
This let us iterate on complex mechanics in real-time, then codify visual specs in Figma.
Engineers received a dual handoff: Code Prototype for behavior, Figma Design System for visuals.
We ran group reviews in Google Sheets, weighing Priority against Effort to decide what was critical for the Open Beta and what could wait.
With the live tools already stable, the Commenting Suite became our absolute P0: a persistent feedback layer sitting alongside the real-time workflow.
The original top-anchored webcams ate a third of the screen and stole focus from the canvas. They also failed to scale: at twenty people the strip collapsed over the presentation.
I designed a collapsible sidebar for the feeds, like Google Meet, letting users hide the webcams entirely and focus on the work.
Stakeholders rejected it. Human connection was meant to be an unavoidable pillar of Pactto, and hiding the feeds undermined that.
So the cameras scale instead of hiding. The more people join, the smaller each feed becomes, so the container never grows, so the room stays human without costing canvas.
We designed three distinct commenting primitives to handle every type of creative feedback:
Anchors feedback to a precise coordinate on the frame. Click exactly where the issue is, and there is no ambiguity about which pixel needs attention.
Draws a box around a region to define the scope of a change, without having to describe where it is.
Spans a duration rather than a single frame, so pacing, audio sync and action can be critiqued by marking start and end on the scrubber.
Distinct commenting tools for distinct needs, but reached through a Single Interaction Point, so the choice never costs the user attention.
The crossroads: generic comments like Figma's, or strict accountability. For video editors generic simplicity caused paralysis: no way to tell a casual “maybe” from a critical “must-do” in a flood of feedback.
A lightweight “Task” toggle inside the comment box. Chat and work coexist in one stream, and the feed filters down to a prioritised checklist of action items.
The toggle adds a micro-moment of friction: is this a task? We accepted that cost at input to remove a far larger one at review, trading a minimal UI for absolute accountability.
While we developed a suite of AI tools, I want to highlight Smart Voice, the feature that solves the conflict between speed and documentation.
Transcribes spoken feedback and anchors it to the timeline. Reviewers give nuanced context without typing; editors get precise text synced to the exact moment.
Baked-in intelligence, never a disconnected “AI island.” Smart tools live inside the flow, so assistance appears exactly where the user is working, not in a separate tab.
We expanded Pactto's existing UI into a modular Design System (Typography, Color, Components) to ensure consistency.
We mapped every user flow to its corresponding “Vibe Coded” prototype, giving engineers a reference for exact animation behaviors.
Crucially, we tagged every feature with MVP Priority Levels, clearly distinguishing “Open Beta Must-Haves” from “Fast-Follows” to prevent scope creep.
We let a P1 feature, AI meeting summaries, block our core Commenting System, costing two weeks. The AI was cut from the Open Beta anyway. Enhancements should never hold the core loop hostage.
Next time I would ship the core utility and the enhancements as separate releases, validating the primary workflow immediately instead of waiting on a secondary feature.
Unfortunately I couldn’t make it in person, so please enjoy these completely un-edited photographs of me with the team.
A companion for the job hunt, not an autopilot for it.
Jobi is a browser-extension companion for the job search, built around how people feel while applying rather than how many applications they send. I designed and built it, leading two designers and shipping every decision in code.
Most job-search tools try to bring you more postings or make each application faster. Jobi is built for the other half of the search: keeping up the habit of applying every day, and bouncing back after a rejection. It is a companion in your corner, running as a browser side-panel alongside the search.
We started with published surveys. They show that the job search harms most of the people going through it, not a small minority. What they do not show is why. That is what our interviews were for.
72% say the job search has harmed their mental health (Resume Genius, 1,000 US job seekers, August 2024), and 55% of recently unemployed adults describe themselves as completely burned out (Insight Global, 501 US adults, July 2023).
The surveys showed the damage but not its causes, so we built the interview guide around three questions a survey cannot answer.
How do people actually track applications once the volume climbs?
Which parts of applying cost the most time, and which cost the most energy?
What makes someone lose momentum, and what gets them started again?
We interviewed five job seekers mid-search, applying to anywhere from four roles a week to thirty, then audited the two tools they kept mentioning. Teal and Simplify both autofill forms, track statuses and help you apply to more jobs. Not one of our interviewees said that applying to more jobs was their problem.
We sorted every interview quote into an affinity map. The clusters that came out were all about emotional fatigue, not about a missing feature.
The three insights a product could answer. The fourth cluster, silence from employers, is outside any product's control: no feature makes a company reply.
Indeed's own data shows the highest-volume applicants are 39% less likely to get a positive response. Every tool in the category is built to increase volume, which is the very thing that lowers people's odds.
reduce the emotional cost of the job search, without taking the search out of the user's hands?
This question shaped everything that follows.
Every competitor's brand promises the outcome: the job. That is the one thing no product controls. What we could promise honestly is growth, because skills and habits build long before anyone says yes. So the brand is designed to calm you down, not to keep you hooked.
A seed with two leaves, and a palette named to match: Seed Black, Sprout Grey, Bloom Pink. The metaphor ends up in every screen, not just the mark.
“You apply. We got your back” is the promise; “Keep growing” is the line. Both had to hold after a rejection, not just after a win.
A face is the quickest way to give a mascot personality. But a mouth is also what makes a face look like it is judging you. People mid-search are already anxious about being assessed, and Jobi reads their CVs, cover letters and interview answers all day. So the mascot has no mouth in any pose: it cannot frown, smirk or look disappointed. Everything it expresses comes through its eyes and its posture, and nothing it does reads as a verdict.
Without a mouth there is far less expressive range, so the warmth has to come from motion, which is harder to get right and slower to build. Worth it: a companion you feel judged by is not a companion.
Jobi runs as a browser side-panel next to the job search. You choose which roles to go for; Jobi handles everything around them: the research, the documents, the tracking and the practice. Each of the three insights has a feature behind it. One more thing the interviews asked for, autofill, was built and then removed; the reason is further down.
The obvious way to look credible next to two funded products was to match their feature count. Jobi went the other way: one chat, one tracker, one practice room. Anything that did not answer a research finding was cut before it was built.
Jobi loses any feature-by-feature comparison, and power users who want dashboards and bulk tooling are better served elsewhere. Accepted, because the person we designed for is not shopping for features. They are tired.
Answers the third insight: the research you have to do before you can write a word.
The home screen is a chat. Paste a job posting and Jobi tells you whether it is worth applying for, tailors your CV and cover letter, and researches the company, so you stop juggling tabs.
Scores how well you match the role out of 100 and lists the gaps, based on your actual CV rather than on keywords.
Jobi reads your CV against the job description and opens a separate tab with a CV editor. Pick a template and your CV appears adjusted to the role, with every change highlighted. Hover a highlight to see why it was made, or select any line and tell Jobi how you want it changed. Download the PDF when it is right. Jobi does the work; you make the final call.
Jobi drafts the letter from your CV and the job description and opens it in the same editor, in its own tab. Pick a template, see the lines written for this role highlighted, hover any of them for the reason, and rewrite any sentence by selecting it and telling Jobi what you would rather say. Download the PDF when it sounds like you.
Autofill was in the first build. To be useful it has to fill the details that repeat on every form: phone, email, address, place of birth. Storing those means holding sensitive personal data we would be liable for. We cut it entirely. Without those fields, what was left did not justify installing an extension.
The most repetitive part of applying stays manual, and one research finding is left deliberately unanswered. A smaller tool is better than holding data we cannot promise to protect.
Answers the silence from employers: when replies are rare, the few interviews you get have to count.
A voice-driven mock interview that role-plays the real thing: questions, follow-ups, and feedback in the moment.
Answers the first insight: statuses logged by hand go stale.
Trackers fail because logging is manual, so we stopped asking people to log. One click captures the role, with reminders so nothing goes quiet because you forgot.
A prompt appears on any posting. One click files it, which is the difference between a tracker that survives a heavy week and one that does not.
The description is summarised and stored, so when a posting comes down and an interview lands weeks later, the role is still readable.
The cover letter is saved against the role, so you walk in knowing what you claimed.
Standard trackers weight every status equally in traffic-light colours, so a search that accumulates rejections becomes a wall of anxiety. Statuses split into Active and Closed instead: rejection is real but tucked away, and colour survives only in a small dot, at the cost of closed applications being harder to scan.
Answers the second insight: a rejection can stop the search for a week.
Three things in the tracker are there to get you going again. Reminders bring a role back before it goes quiet. Rejections move to Closed, so the pipeline you look at every day is the live one. And the streak counts the days you showed up: it never warns you that you are about to lose it, and after a rejection it goes quiet instead of loud.
The three of us ran research, ideation and design together in Figma. The build I took on alone: every screen went into Claude Code and came out as working software.
I am a designer, not an engineer, so the build had to be set up as a system before any of it was written. Two things carried it.
Claude Code held every artefact and research piece: the interviews, the affinity map, the reasoning behind each decision. The build never drifted from the why, because design and code read from one source.
Front end, back end, security and research each got their own agent, so the work never tangled. Their rules were written once: design.md for the design system, architecture.md for scale, security.md on every new feature.
Whenever two options were both reasonable, the decision went back to a research finding rather than to taste, and was written down with what it cost. Those notes are the trade-off boxes in this study. They are also what let a designer build something solid enough to carry an MVP.
Designing and shipping alone meant a decision could be in the product the same day it was made. It also meant nobody pushed back. The panel reached 13,700 lines in one file before I noticed, and untangling it was work I had created by moving faster than I was reviewing.
Autofill was built before we asked what storing phone numbers and addresses would oblige us to protect. Cutting it was the right call, but it came after the build instead of before it. Research told us re-typing was a real problem. It could not tell us we would need a different answer to it.
The right tools, exactly when you need them.
Essential Context is a situational environment generator for Nothing OS. I designed a shape-shifting home screen concept that instantly surfaces tailored tools to eliminate the cognitive load of hunting through isolated app grids.
The Challenge: Current smartphone OS environments force users to dig through endless app grids to navigate a single moment. Hunting for isolated tools like jumping between Uber, Messages, and Wallet just for a date, creates unnecessary cognitive load and friction.
The Solution: Essential Context intelligently surfaces tools exactly when you need them. By holding a button and stating your situation, the OS instantly generates a personalized, temporary home screen tailored to that specific moment.
Imagine heading out for the evening. Instead of hunting through cluttered app drawers for ride-shares and reservations, the OS does the heavy lifting. It instantly generates a distraction-free, temporary environment containing only the relevant tools, keeping you focused on the physical world.
Holding the essential button from the lock screen opens the configuration menu alongside a sweeping light animation. After selecting “Date Night,” the system drops the user into their curated home screen and updates the hardware to display an “Auto-Expire” progress bar. A persistent yellow status pill remains at the top right, letting users effortlessly tweak settings or exit the context to restore the standard OS.
Nothing’s philosophy centers on intentional smartphone usage: less time navigating apps, more time living in the moment. Essential Context realizes this vision by acting as the central intelligence hub for the entire Nothing ecosystem. By synchronizing with other Essential features, it reduces cognitive load and transforms raw data into a highly focused environment.
As illustrated in the Date Night example below, each Essential feature works together to silently curate your experience:
By unifying these tools, the OS evolves from a passive grid of icons into a shape-shifting, predictive canvas. Ultimately, the more Essential features you use, the more deeply personalized your environment becomes, allowing you to remain fully present in the physical world.
To truly embed this feature into the Nothing ecosystem, the hardware and software must act as a single, synchronized mechanism:
Holding the essential button pulls up the Essential Context setup.
When active, the back of the phone displays a minimalist, static icon (like a cocktail glass) to project your “focus state” to the physical room.
Classic Glyphs act as a visual timer for the context’s “Auto-Expire” progress, and strictly limit light notifications to your pinned priority contacts.
To ensure the interface felt as frictionless as the concept itself, I focused on two core design choices:
I utilized 1-tap actionable chips (like “Smart App Filter” and “Priority Contact”) to eliminate friction by minimizing clicks.
I created a persistent, non-intrusive anchor in the top right of the screen. Tapping it drops down a quick-action menu to Edit or Exit, keeping control exactly one thumb-swipe away without burying it in Android Settings.
While the current concept relies on manual triggers, the long-term vision makes the OS entirely proactive:
Moving beyond static home screens, the OS should automatically shape-shift based on your daily habits without requiring manual prompts.
If a generated context misses a needed tool, Essential Search acts as a frictionless safety net. The system then learns from these manual searches to perfect the environment for your next visit.
Future device generations could allow users to cycle through pre-saved contexts physically, like swiping or tapping the back cover without ever waking the screen.
Future iterations should support context-specific widget themes and more complex integrations as Essential Apps develop.