Building MyZubster Marketplace Demo v2: A Marketplace You Can Explore Without Fake Transactions
I’ve been working on the next evolution of MyZubster Marketplace, and this update is less about adding another button and more about making the Marketplace something people can actually explore and understand safely.
The result is Marketplace Demo v2.
From 6/12 to 12/12 categories
The Marketplace already supported 12 categories, but the integrated demo experience originally covered only six.
We completed the missing categories, bringing demo coverage to 12/12:
🌱 Seeds & Plants
🥕 Produce
👕 Clothing
🎒 Accessories
🎪 Event Equipment
🛠️ Tools
💼 Services
🤝 Volunteering
🐶 Pet Adoption
🔎 Pet Lost & Found
🐾 Pet Services
We also added automated regression coverage: if we introduce a new Marketplace category in the future without providing demo content for it, the tests can catch it.
But 12 cards aren't a marketplace experience.
So we went further.
Marketplace Demo v2 is interactive
Demo listings can now be opened and explored in more detail.
Instead of a static showcase, users can understand things like the listing's description, location, availability, category, exchange/payment mode and category-specific information.
We also introduced filtering across the demo content:
Category · Location · Search · FREE · BARTER · EUR · MYZ
This makes the demo behave much more like the real discovery experience we're building.
A request flow — without creating fake business
One of the most important additions is the simulated request flow.
A visitor can open a demo listing and try the journey from listing discovery to reviewing and confirming a request.
But there is a strict boundary:
Demo requests never become real transactions.
No real order is created.
No payment is processed.
No real seller receives a message.
No personal request data needs to be persisted.
This gives us a useful product demo without filling the production database with fake economic activity.
A pet adoption isn't the same thing as selling a product
This became particularly important when expanding the categories.
Marketplaces often make the mistake of forcing everything into the same product → price → checkout model.
That doesn't work for MyZubster.
A volunteering opportunity isn't a product.
A lost pet alert isn't a product.
Pet adoption shouldn't behave like an e-commerce checkout.
So Demo v2 introduces specialized contextual information for volunteering, pet adoption, lost & found and pet services.
The category isn't just a label anymore — it can influence how an opportunity is presented.
One Marketplace demo, not two
We previously had a separate /marketplace-demos showcase alongside the actual React Marketplace.
That was useful early in development, but maintaining two different demo experiences creates duplication.
We've now consolidated them.
The old demo route points toward the main Marketplace demo experience.
One Marketplace. One demo model. One source of truth.
Payments are getting the same treatment
At the same time, we've been cleaning up MyZubster's payment architecture.
One interesting production case involved a €9.90/month Stripe subscription.
Zorgax showed the user as Free.
Initially, that looked like a billing bug.
It wasn't.
The subscription was for Marketplace Seller, not Zorgax Pro.
Same price.
Same account.
Different product.
Instead of artificially granting Zorgax Pro, we separated the two states properly:
Zorgax: Free
Marketplace: Seller active
That's an architectural principle we're carrying into the Marketplace:
A payment tells us that money moved. It doesn't tell us what the user owns.
The product, purchase and resulting entitlement need to remain explicit.
Where MyZubster Marketplace is now
We now have 12/12 demo category coverage, interactive listing details, search and filtering, multiple exchange modes, specialized community categories, a simulated request journey and automated regression coverage.
And most importantly:
Real transactions stay real.
Demo transactions stay simulated.
Seller subscriptions stay separate from Zorgax subscriptions.
There's still plenty to build, but the Marketplace is starting to behave less like a collection of screens and more like a coherent system.
That's the part of development I enjoy most: not just making features appear, but figuring out how they should interact without creating problems later.
Building MyZubster, one layer at a time.
MyZubster #CoderLegion #WebDevelopment #React #NodeJS #JavaScript #Marketplace #Stripe #BuildInPublic #IndieDev