Universal classifieds marketplace
A universal classifieds board on the same engine — 10 categories, faceted search.
Universal classifieds marketplace
Challenge
General classifieds cannot hard-code one product type; it needs one listing model that works across transport, real estate, jobs, electronics and more.
What we did
Built from the carsmarket/housemarket codebase into a general classifieds site with 10 categories (transport, real estate, jobs/services, computing, equipment, comms, entertainment, household, clothing, children), unified live webedge-db filters with category counts and facets, favorites and saved searches.
Result
The marketplace engine stretched to its widest case — one search and listing model spanning every category instead of a per-vertical build.
Dev-story article
Universal classifieds marketplace: how the project was built
We already had an engine running niche boards for cars and real estate, each with its own schema and live search. The question was whether that same engine could carry a general classifieds portal — ten unrelated categories, from transport to children's goods — without forking into a fifth codebase. The tension: keep the shared schema and reactive search, but generalize the categories so a phone listing and an apartment listing live in the same faceted index.
Sections
05
Modules
05
Stack
Vue 3 + webedge-db
Why the project exists
General classifieds cannot hard-code one product type; it needs one listing model that works across transport, real estate, jobs, electronics and more.
We already had an engine running niche boards for cars and real estate, each with its own schema and live search. The question was whether that same engine could carry a general classifieds portal — ten unrelated categories, from transport to children's goods — without forking into a fifth codebase. The tension: keep the shared schema and reactive search, but generalize the categories so a phone listing and an apartment listing live in the same faceted index.
What was built
Built from the carsmarket/housemarket codebase into a general classifieds site with 10 categories (transport, real estate, jobs/services, computing, equipment, comms, entertainment, household, clothing, children), unified live webedge-db filters with category counts and facets, favorites and saved searches.
A Vue 3 + Vite single-page classifieds marketplace with ten top-level categories, a unified search that computes category counts and facets live, and per-listing detail pages with photo galleries, seller contact, phone-reveal tracking and reports. Sellers get public profiles and a dashboard; there is an admin zone and feed/import tooling. It is statically hosted, with SPA route shells so every category and listing URL resolves for SEO.
Main modules and user path
Unified listing search wired to a reactive backend that returns category counts and facets live, so filtering never needs a page reload
Ten generalized categories reusing the same schema that already powers the car and property boards, rather than a bespoke model per vertical
Favorites and saved searches persisted per user, letting a buyer re-run a facet query later
Listing detail flow with photo gallery, seller contact form, phone-reveal tracking and abuse reports
A migration of the reactive-query layer to TanStack Vue Query for caching and request dedup across the SPA
Architecture and technology decisions
Built with Vue 3, webedge-db, Listings.
Vue 3 + Vite SPA with Tailwind v4 and @unhead/vue for title/meta/canonical/JSON-LD; the database, realtime queries, search and file storage run on our self-hosted reactive backend with BetterAuth, and the data layer was later moved onto TanStack Vue Query. Ships as a static Cloudflare Pages build with an SPA redirect fallback.
Result and lessons
The marketplace engine stretched to its widest case — one search and listing model spanning every category instead of a per-vertical build.
Proof that one vertical-marketplace engine generalizes to a broad ten-category classifieds portal without a new codebase — the same schema, search and auth, re-pointed at generalized categories and a static host.
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.
Dev-storyService marketplace
The same webedge-db engine for services — profiles, enquiries, reviews.
Have a similar idea?
Discuss your project