Service marketplace
The same webedge-db engine for services — profiles, enquiries, reviews.
Dev-storyChallenge
A services market is not about listings you buy — it is providers, the requests clients send them, and the reviews that build trust.
What we did
The carsmarket/housemarket architecture retargeted to services (Vue 3 + Vite + webedge-db, realtime search) with provider profiles, a client-enquiry flow and reviews.
Result
One more vertical proven on the shared engine, this time around enquiries and reputation rather than for-sale items.
Dev-story article
Service marketplace: how the project was built
We already had a working marketplace engine on our reactive backend, but it was built around products: a catalog, price filters, a finance calculator, a checkout-shaped flow. Services don't work that way — the thing being sold is a person with a profile, and buyers don't buy, they ask. The tension was reusing the same realtime engine while inverting the transaction: from browse-and-purchase to post-an-enquiry-and-receive-offers.
Sections
05
Modules
05
Stack
Vue 3 + webedge-db
Why the project exists
A services market is not about listings you buy — it is providers, the requests clients send them, and the reviews that build trust.
We already had a working marketplace engine on our reactive backend, but it was built around products: a catalog, price filters, a finance calculator, a checkout-shaped flow. Services don't work that way — the thing being sold is a person with a profile, and buyers don't buy, they ask. The tension was reusing the same realtime engine while inverting the transaction: from browse-and-purchase to post-an-enquiry-and-receive-offers.
What was built
The carsmarket/housemarket architecture retargeted to services (Vue 3 + Vite + webedge-db, realtime search) with provider profiles, a client-enquiry flow and reviews.
A Vue 3 SPA where providers own editable profiles, clients post service requests, and providers answer those requests with offers. Reviews, per-provider lead tracking, and search all run through the same reactive backend that powers our property and vehicle sites, with the data model retyped from listings to profiles and enquiries.
Main modules and user path
service_requests plus service_request_offers: a client posts an enquiry and providers respond with offers, inverting the usual browse-then-buy flow into ask-then-answer
seller_profiles with an upsertMine mutation so each provider owns and edits exactly their own profile record
service_reviews with server-side summary aggregation (summaryForAds) so rating rollups are computed in the backend, not the client
Lead tracking via contact_messages and lead_events, giving each provider an inbox and a per-seller event history for analytics
SPA-on-Cloudflare-Pages plumbing: _redirects plus a write-spa-route-shells script that emits lightweight per-route index.html shells so a client-rendered app still has crawlable URLs
Architecture and technology decisions
Built with Vue 3, webedge-db, Marketplace.
Vue 3 + Vite SPA with @unhead/vue for meta, our reactive backend for database, realtime search and storage, BetterAuth for auth, and a migration of the Vue data layer onto TanStack Vue Query; deployed static to Cloudflare Pages.
Result and lessons
One more vertical proven on the shared engine, this time around enquiries and reputation rather than for-sale items.
It is honestly a young fork — two commits deep — that proves the same reactive marketplace engine can carry a services model, not just product listings, without rewriting the backend.
Related articles
Read next
Related project stories
These projects share nearby technical or product decisions, so they show how the same principle behaves in another context.
Dev-storyCars marketplace
A car marketplace — a Vue 3 SPA with realtime search, external auction sources and price-drop alerts.
Dev-storyReal estate marketplace and radar
The car engine retargeted to real estate, with a listing-change radar.
Universal classifieds marketplace
Universal classifieds marketplace
A universal classifieds board on the same engine — 10 categories, faceted search.
Have a similar idea?
Discuss your project