A 15-year redesign of Feed, Search and Filter — rebuilt as one discovery system.
A 15-year redesign of Feed, Search and Filter — rebuilt as one discovery system.
The first GenAI listing flow — one photo in, a ready-to-post listing out.
Co-founded a consumer design app. Two pivots: shopping, then community, then social gaming.



A growing collection of ideas I found interesting enough to build — shipped solo with AI tools.
Every choice needs a clear "why" that holds up — not just "it looks better."
A product is only as useful as how well I understand the person using it.
People get a draft they can shape, not a finished answer they have to accept.
Less clutter earns trust — and trust is what actually moves engagement.
DecorMatters, Smart List AI, the AI shopping assistant, Tastemaker — each started as a blank page. Each earned its place with real growth, not a good pitch.
Every predictable interaction builds trust; every inconsistency chips away at it.
Weekend prototypes — a plant atlas, a room-style guide. See the Vibe Coding collection.
Furniture rebuilds, gallery walls, a growing houseplant collection — home as a craft testbed.
Home, plants, and slow-living notes on the side — bigger audience than I expected.
Poshmark's first GenAI feature. We rebuilt the seller's 15-minute listing flow into photo in, ready-to-post out — magic, not autopilot.
Design Lead & PDM · 2 Designers, 6 Eng, 2 PM, AI/ML
9 months · 2023–2024 · iOS, Android, Web
100K+ listings a day, and publish rate sat at 56%. The funnel showed exactly where it broke: Fill Listing Details.
A formal UX study — quantitative and qualitative — before designing anything.
Our design question became:
For every photo, the model had to answer a series of questions — and know when to trust itself.
High confidence — the model fills it in; the seller can still override.
Ambiguous signal — surface a quick choice instead of guessing. 4/8 testers were unclear on the photo step without guidance.
Subjective fields stay with the seller — 8/8 called condition subjective; 6/8 questioned the auto price.
I built an early demo — it made its way to the company All Hands.
One front photo triggers category detection and guided angles.







I staffed the AI Studio booth for two days, watching real sellers use Smart List AI live — then wrote up a research report for the whole product team on what was working and what still needed to change.
Two days at the AI Studio booth, watching real sellers list live.
Rollout: Alpha → Beta → 14-day A/B → PoshFest → 100% of iOS + Android.
We scoped and celebrated a speed metric — I'd pair it with a quality metric from day one, so a faster listing and a good listing are never allowed to drift apart.
14-day A/B across iOS, iPad, Android and web.
North Star: share of seller sessions that end in a published listing. Baseline 56%, target 60%, with a guardrail to keep top-line metrics neutral.
First shipped GenAI feature at Poshmark. The "draft by AI, owned by seller" framing — and the photo-angle & latency patterns it pioneered — became the team's template for every GenAI feature that followed.
The biggest lesson was authorship: over-automate and sellers lose their sense of craft; under-play it and you lose the time savings.
This project fundamentally changed how I think about AI.
Smart List AI wasn't the end — it became the foundation for how we think about AI across the entire marketplace, from selling to buying. The same design philosophy now drives two buyer-side projects: Size & Fit — tackling one of the biggest blockers to a purchase decision, not knowing if it'll fit — and Price Confidence, an assistant to tell shoppers whether it's a deal or not. Same operating principle throughout: AI is a tool. The user's pain is the point.
The #1 blocker to purchase decisions — currently in A/B test.
Eliminate off-app price research by giving buyers AI-powered confidence that they're getting a good deal.
"It's just not knowing what's gonna fit me, so I'm hesitant to buy something." — Poshmark shopper, buyer research
It started with the Feed.
Design lead — discovery: feed, search & filter · 10 Designers, 20+ Eng, 3 PM
~9 months · 3 continents · Launched March 2026, 100% rollout
A social marketplace: 80 million members buy and sell from each other's closets, with 100K+ new listings every day.
We didn't get a green light for a 15-year redesign on day one. We earned it, one proven step at a time.







We knew we had to change, and the research told us it would land.
The grid became a system; the system earned the feed; the feed earned the app.
Three rounds, 100+ moderated sessions — why we could launch to 100% with no A/B.
Removing takes more discipline, and more trust.
The story continues — the same foundations-then-refresh playbook is now driving the web redesign, my current focus.
I co-founded DecorMatters and led design from zero. We shipped, we were wrong, we pivoted — twice. Each pivot was a design problem I ran end-to-end: insight, research, system, launch. This is the story of how the product became what it was always trying to be.
DecorMatters shipped three times. Each version answered a different question, each pivot was a design call I made with the data in hand. Here's the timeline — then three chapters, one per pivot.
2017. AR on iOS was brand new. Our thesis: people don't buy furniture online because they can't tell if it fits. Drop a real chair into a real room, hit buy. Simple.
I don't come here to shop. I come here to design my dream rooms when I'm bored.
The returning user was 25–55, mostly female, coming back 3–5 times a week to create, not buy. We didn't need a better catalog. We needed a design tool, a social feed, and something to do with free time. Pivot.
After the first pivot, design was the loop. But without publishing there was no feed, no likes, no reason to return. The number that mattered was stuck at 3.5%.
Two findings kept surfacing: items were hard to find, and the tools were hard to use. I led design on three parallel tracks — speed up item search, make tools forgiving, give publishing a reason — with a team of me, 1 PM and 2 engineers, shipped in two months as minor releases so we could measure independently. Every flow was prototype-tested with new and existing users before it shipped.
By 2020, MyDecor subscription was the main revenue source — and the data showed who was paying: 40% of users were gamers, and 90% of paid subscriptions came from them. The goal was 2× revenue without breaking the free creator experience. The framing shift: stop treating this as retail. Start treating it as a game economy. Team: me as design lead, 1 PM, 3 engineers and a design intern — five months.
Most comments were "beautiful / wow / awesome." We turned the compliment itself into the product — paid virtual gifts attached to designs you loved.
Daily check-ins earned Dcoins; finished challenges won badges — 40+ of them, across color practice, style, plants, pets, festivals and seasons. Gamers' real needs — practice, recognition, a fun escape — became the loop that kept them opening the app.
Pay-per-item became pay-as-you-play: add unlimited items before purchasing, then unlock three ways — membership, purchased Dcoins, or Dcoins earned free. Free users kept designing. Invested users paid — or earned by showing up.
Five years of DecorMatters compressed into the lessons I actually carry.
A small, growing collection of AI-built side projects — designed, written, and shipped solo with Claude. Part sketchbook, part proof-of-craft. Each one a small bet on a tool I want to understand by actually shipping with it.
Designer, prompter, builder
Cadence: Evenings & weekends
Timeline: Ongoing · 2026 — present
Tools: Claude · Next.js · Vercel
Catch a letter drifting through the moment and uncover a meaning waiting for you.
A small, unexpected message that might be exactly what you need right now.
Spin the globe, discover the world's most extraordinary plants — baobabs, dragon's blood trees, welwitschia, and others mapped to where they grow.
A 3D WebGL botanical archive, built with globe.gl.
A bilingual (EN / 中文) reference site documenting 26 interior design styles — their origins, defining traits, materials, and color palettes.
The moods they make, distilled into a field guide built with Claude and Next.js over a couple of weekends.
A generative p5.js study — first in a series on nature's emotions. A field of reed grass gives the invisible away.
Breezes comb through it, gusts sweep past in slow soft waves. Move your mouse to stir the air; click to summon a gust.
Second study in the nature's emotions series. The rain itself never appears — you only hear it, and watch the ripples it leaves on a jade-green pond.
Every sound is synthesized live with Web Audio, from the hiss of the downpour to each drop's plink.
Vibe coding with AI changed how I design at work.