Muse Shopping
A personalized shopping feed across 200+ brands — follow them like Instagram, built solo without a CS degree.
The problem
I shop across ten different sites simultaneously — each one starting fresh with no memory of what I liked. The discovery layer of fashion is broken: you're either drowning in generic suggestions or running your own research operation across tabs. I wanted one place that worked like a social feed and actually learned your taste.
My hypothesis
The cold start problem in personalization is usually solved with a quiz. I wanted to test whether you could skip that — let behavioral signals do the work instead. If every click, save, and add-to-cart reveals taste, you should be able to build a real style profile without asking a single question.
What I built
Follow brands the way you follow people on Instagram; their new products surface in a single feed. A Gmail integration pre-populates your brand follows from order history before you've made a single manual choice. What shipped: Node.js/Express, PostgreSQL, 10 integrated retailers, 200+ brands, Stripe checkout, A/B experimentation, and an admin dashboard.
What broke
I built the personalization engine before I had anything to personalize — weeks into recommendation logic before I asked what a new user actually sees. The answer was nothing. The second problem: the product catalog required scraping, which meant code I can't audit running inside a product I was considering shipping.
What I learned
Design the zero-data state before you design the system that fills it — I got this exactly backwards. The harder lesson: I was evaluating the product by whether it worked, not by whether it was trustworthy. Those are different criteria.
If I kept going
I'd run an explicit vs. implicit onboarding A/B test to validate the cold start hypothesis. I'd also audit every external integration before shipping — not as a checklist, but as a genuine 'do I understand what this code accesses?' review.


