Daeda Wishlist
Increase repeat sales - customers return to buy saved products.



About
Our wishlist app integrates seamlessly with your store. Customers can save favourite products or variants for later, view all saved items in one place, and add them to cart when ready. Shoppers can use a floating button with a side drawer or a navigation link with a dedicated page, and you can customise button and icon colours to match your store's branding. Guest shoppers are prompted to log in or create an account to keep their wishlist, helping you capture more sign-ups and repeat sales.
Daeda Wishlist was a Shopify app I built solo over three months in Chiang Mai, then maintained for fourteen more before shutting it down. Customers could save products or variants for later via a floating drawer or a dedicated wishlist page, with merchant-controlled colours, layout, and guest-to-account prompts. The full stack was Remix, Prisma, Supabase Postgres, Polaris for admin UI, Liquid for the storefront extension, and Shopify's OAuth and app extensions.
It launched on the Shopify App Store in January 2025. I dropped the £1/month price to free in April after seeing setup-funnel friction, and traffic to the listing jumped 62% the following month. In August I rebuilt the merchant onboarding from sixteen steps down to a single flow because uninstalls were spiking during setup. By November the first proper active merchants had wired the wishlist into their live stores, and the app eventually reached 103 installs across all time.
I took it down in April 2026. Three reasons. The app was free, so it generated zero revenue while costing £10 per month in Supabase hosting. The Shopify ecosystem is difficult to maintain long-term: Liquid theme work has terrible hot reload, the docs are inconsistent, and Remix as a framework added its own friction. And focus mattered more than habit. Maintaining a stagnant product was draining attention from things with growth potential.
This was my first end-to-end full-stack ship. At the start I did not believe I would finish. I did, and the marketplace launch made me feel like I had truly accomplished a hard goal.
Tech Stack
Links
Pricing
Free
- ✓ Wishlist button on product pages
- ✓ Save favourites and variants
- ✓ Add items to cart from wishlist
- ✓ Prompt guests to create an account
- ✓ Customise button + heart colours
- ✓ Choose side drawer or page layout
Build Timeline
First Lines of Code
Set up Remix, Prisma, Supabase, and started learning the Shopify API.
Submitted to Shopify App Store
After 3 months of building, submitted for review.
Approved & Live
App went live on the Shopify App Store.
First Review
Got a review on the App Store.
Dropped the $1/month Price to Free
Removed the premium tier - 62% increase in Shopify App Store traffic the following month.
Shopify Reviews Purge
Shopify archived reviews from inactive stores - lost the app's only 5-star review.
Rebuilt the Setup Flow
Cut the merchant setup from 16 steps to a streamlined flow after seeing uninstalls spike during onboarding.
First Proper Active Merchant Use
Merchants added the wishlist to their live stores.
Decision to Sunset
Taking the app down to cut costs and focus on other projects.
What I Learned
- → The Shopify ecosystem is complex - Liquid themes are terrible with hot reload, their docs are kinda messy and Remix as a framework is 😑 so maintaining a Shopify app quite annoying
- → Free apps don't generate revenue but still cost money to run. Supabase was costing £10/month for a product with zero income.
- → Focus matters. Maintaining something that isn't growing takes energy away from things that could.
- → Building a full-stack app end-to-end - from database schema to production deployment - taught me more than any tutorial ever could. At the beginning I didn't believe I could finish the app, but I did.
- → 3 months of focused building in Chiang Mai was one of the most productive periods of my life, but also the most lost I've felt.
Frequently Asked Questions
What was the tech stack for Daeda Wishlist?
TypeScript, Node.js, Remix (Shopify's recommended framework), React for the merchant admin UI, Liquid for the storefront widget, Polaris for admin UI components, Prisma ORM with PostgreSQL on Supabase, and the Shopify APIs for OAuth, app extensions, and storefront integration.
Why was Daeda Wishlist taken down?
Three reasons: the app was free so it generated no revenue while costing £10/month in database hosting; the Shopify ecosystem is complex to maintain long-term; and focus - maintaining a stagnant product takes energy away from projects with more potential.
How many people used Daeda Wishlist?
The app reached 103 total installs on the Shopify App Store, with 24 still active at sunset. At least 2 merchants actively added the wishlist to their live stores, and the app received its first review.
Related Blog Posts
Read more about how I built this project and what I learned along the way
Discussion & Feedback
Have questions about this project? Built something similar? Share your thoughts!
(Requires GitHub account to comment)
Related Projects
Daeda Sheets Sync
Daily sales metrics to Google Sheets - including zero-sales days for a complete history. Syncs Shopify store stats on a set schedule, removing the need for dashboards or manual exports. Features automated data movement, shared visibility for non-technical teams, and faster analysis and check-ins.
Auto Associations Pro
I helped develop this HubSpot app that automatically creates associations between CRM records based on custom rules. We designed it to eliminate manual linking and reduce data fragmentation. Our custom rules define logic like 'associate all Contacts from Companies to Deals'.
Clean Dial
HubSpot workflow app for formatting and verifying phone numbers. Format Phone Number (free, unlimited) standardizes numbers across 245 countries into E.164, international, national, digits-only, and RFC3966 formats. HLR Lookup confirms whether a phone is actually switched on and connected to a mobile network by querying the Home Location Register in real-time. Automatically populates HLR status, syntax check, and formatted number properties.