
My Role:
Functional Lead, UX
The Ask:
To create an app that is a companion to you and your pet’s life. A non-invasive, daily and delightful experience that meets the needs of the pet parent and puts Petco at the heart of the ‘family’ unit by empowering the customer.
In 2008 you saved a file called index.html, dragged it onto an FTP client, and watched a little progress bar crawl to the right. When it finished, your website existed. It worked in Internet Explorer and Firefox and that new one called Chrome. You did not run a "build." You did not install 1,400 packages. You wrote the markup, you wrote the styles, and the browser did exactly what you told it.
You were good at this. Then, somewhere between the launch of the iPhone and now, you blinked, and the entire discipline rebuilt itself from the studs while you were busy shipping actual products. Now a beginner's tutorial opens with sixteen tools you've never heard of, half of them named after Japanese words for "fast," and the first command downloads more code than the Apollo guidance computer ran on, just to render a contact form.
Here is the good news, and it's the thesis of this whole descent: none of it is arbitrary. Every tool you're about to meet is scar tissue grown over a real wound. Somebody hit a genuine problem, built a fix, and the fix created the next problem, which got its own fix, and the sum of two decades of reasonable steps is the magnificent, exhausting cathedral of madness you're staring up at today.
So we won't memorize a list. We'll dig, in order, and let each tool show up exactly when the pain that justifies it shows up. We'll keep checking on one specimen the whole way down, a single humble <button>, and watch what the industry does to it. And when we hit bedrock, you're going to laugh, because the frontier of 2026 looks an awful lot like the file you uploaded over FTP.
Every tool is scar tissue over a real wound. Follow the wounds, and the map draws itself.The one idea that unlocks everything
LAYER I — 4 M2006 – 2010
The Itch
"I just want to change the page without reloading the whole thing."
The first wound was small and reasonable. You wanted a part of the page to change, a menu to open, a form to validate, a section to load, without the white blink of a full page reload. The browser could do this through a gnarly thing called XMLHttpRequest and a pile of fussy DOM methods that worked differently in every browser.
So the era reached for jQuery, and it was genuinely great. $("#cart").load(...) and the differences between browsers melted away. AJAX (fetching data without a reload) went mainstream. For a few golden years, this was enough.
But applications got ambitious, and a deeper wound opened underneath. When your data lived in JavaScript variables and on the screen, you were the synchronization machine. Change the price? Better remember to hand-update the cart total, the header badge, the checkout button, and that little summary box. Miss one and the UI lies to the user. This manual DOM-poking, by hand, across a growing app, is the original sin that everything after this layer is trying to atone for.
Petco
Petco is a category leading pet health and wellness retailer offering products and services through a nationwide store footprint and digital channels.
5
2017
Key Outcomes
4.7 ☆ App Store rating
Increased cart totals
Launched pet-centric personalization engine
Key Activities
Mixed-Method User Research
Experience Pillar Definition
Information Architecture
Experience Flow Design
User Experience Design
Creative Direction
User Interface Design
Large Scale Conditional Prototyping
Hi-Fidelity Interaction Prototyping
User Interface Design