Ninja — Grocery Delivery Experience Redesign
Improving clarity, communication, and confidence in a grocery delivery experience.
Overview
Ninja is a fast, on-demand grocery delivery platform focused on speed, product availability, and convenience. Despite strong delivery performance, users faced repeated usability challenges that negatively affected trust, confidence, and overall experience.
This project aimed to redesign the Ninja mobile experience end-to-end, focusing on reducing friction in product discovery, checkout, delivery communication, and post-purchase engagement.
Problem
Users relied on Ninja for speed but struggled with finding products, comparing options, communicating with delivery agents, and controlling when and how orders were delivered.
Key Question
How might we reduce friction in grocery ordering while increasing user confidence, clarity, and control throughout the experience?
Answer (TL;DR)
We redesigned the core experience by improving product discovery and comparison, enabling in-app translated communication, introducing scheduled and recurring orders, expanding payment options, and clarifying promotions — resulting in a faster, more trustworthy grocery journey.
Goals
- Improve product discovery and decision-making
- Reduce delivery-related friction and communication errors
- Increase trust, clarity, and long-term engagement
Success Criteria
- Higher user confidence during product selection
- Fewer delivery communication issues
- Increased intent to reorder
My Role
I joined the project initially as a UI/UX Designer, contributing to research, wireframing, and early design exploration. Midway through the project, the original team lead stepped away, and I transitioned into the UX Lead role to ensure continuity and delivery.
Responsibilities
As UI/UX Designer
- Conducted user interviews and supported survey design
- Contributed to affinity mapping, personas, and journey mapping
- Designed early wireframes and interaction concepts
- Participated in competitive analysis and card sorting
As UX Lead
- Took ownership of the overall UX direction and priorities
- Aligned the team on IA, user flows, and interaction principles
- Ensured consistency through the design system and component usage
- Led usability testing, analyzed results, and guided iterations
- Coordinated design decisions and reviews across the team
Plan
Before designing anything, we needed a shared direction. The project plan aligned the team on what problems we were solving, how we would solve them, and when decisions had to be made.

Timeline
We defined a detailed timeline to balance depth and speed. Each phase had a clear start and end, allowing research insights to mature before influencing design decisions.

Discover
In this phase, we focused entirely on understanding users and the business context. Our goal was to build empathy and uncover real problems before proposing any solutions.

User Interviews
User interviews revealed emotional pain points that analytics couldn’t capture. We listened closely to moments of hesitation, confusion, and stress during ordering and delivery.
User Interview Questions
- Do you shop from traditional markets or delivery apps?
- What apps do you use to order groceries?
- How many times do you order from grocery apps monthly?
- Are you the one who places the order, or does someone else in your family do it?
- When was the last time you ordered?
- What feature would encourage you to order from grocery apps?
- What motivates you to order consistently?
- What features would you like to see in grocery delivery apps?

Users weren’t overwhelmed by lack of features — they were overwhelmed by uncertainty.
Stakeholder Interview
We conducted stakeholder interviews to understand Ninja’s vision, goals, and constraints. This helped us design solutions that supported both user satisfaction and business success.
Stakeholder Interview Questions
- What are the most important short-term goals for the company?
- What is the long-term vision for the brand?
- Who is your ideal target user?
- What differentiates Ninja from competitors?

Surveys
Surveys allowed us to confirm whether the problems we heard in interviews were widespread. Quantitative data helped us prioritize based on frequency and impact.

Competitive Analysis
We analyzed competitors to identify industry standards, gaps, and opportunities for differentiation. This helped us avoid copying features blindly and instead focus on meaningful improvements.

Most competitors optimized logistics — very few optimized decision-making.
Define
At this stage, we had plenty of data. The challenge shifted from collecting insights to making sense of them.

Persona
We created a primary persona to humanize our insights. Designing for a real person helped us make consistent decisions and avoid generic solutions.

Affinity Map
We clustered research insights to uncover recurring themes. This allowed us to focus on systemic issues rather than isolated complaints.

User Journey
Mapping the user journey helped us identify emotional highs and lows. It highlighted where trust dropped and where reassurance was needed most.

The delivery stage shaped how users remembered the entire experience.
Ideate
With a clear understanding of the problems, we shifted our focus to identifying solutions that would create the greatest impact for users and the business.

Criticality Analysis
We evaluated problems based on severity, frequency, and impact. This helped us focus on issues that truly affected user trust and satisfaction.

Some frequent issues were tolerable — some rare ones were deal-breakers.
Impact-Effort Matrix
We used the matrix to balance user value with feasibility. This helped us avoid over-engineering and focus on high-impact, achievable solutions.

HMW Questions
We translated pain points into “How Might We” questions to encourage open exploration without locking into solutions too early.

Card Sorting
Card sorting helped us organize content in a way that felt natural to users, improving findability and reducing cognitive load.

User Flow
User flows helped us visualize unnecessary steps and decision points. This guided us toward a more streamlined and confident experience.

Design
Once priorities were clear, we moved from thinking to making.

Wireframes
Wireframes allowed us to validate hierarchy, clarity, and flow early, before investing in visual polish.

Design System
We created a design system to ensure visual consistency and faster collaboration. This reduced friction within the team and strengthened the product’s credibility.

High-Fidelity Design
High-fidelity designs brought research, insights, and decisions into a cohesive experience focused on clarity, confidence, and control.


Impact & Results
- Reduced friction in discovery and decision-making
- Improved delivery accuracy and communication confidence
- Stronger foundations for retention through rewards and scheduling
Learnings
- Stepping into a UX Lead role mid-project reinforced the importance of clear direction, fast alignment, and decision ownership during uncertainty.
- Defining success criteria early made prioritization easier and design discussions more objective.
- Working within limited time and resources taught me to balance user value, feasibility, and effort rather than aiming for idealized solutions.
- Lightweight solutions can dramatically reduce frustration and support dependency.
Grounding design decisions in real user behavior leads to simpler, more effective solutions.
Read more of my case studies

AT Protocol (Bluesky) Integration
AT Protocol integration feasibility and product strategy to future-proof Clip Symphony and expand decentralized content distribution.

Implementing Subscription Features with Stripe
Delivering a scalable subscription and billing system for a SaaS product with Stripe integration.

Personalized AI News Assistant
An AI-driven product concept that helps users cut through news overload with personalized summaries and context.
Get in touch at