All projects

Universal classifieds marketplace

A universal classifieds board on the same engine — 10 categories, faceted search.

Vue 3webedge-dbListings
01

Challenge

General classifieds cannot hard-code one product type; it needs one listing model that works across transport, real estate, jobs, electronics and more.

02

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.

03

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

01

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.

02

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.

03

Main modules and user path

M01

Unified listing search wired to a reactive backend that returns category counts and facets live, so filtering never needs a page reload

M02

Ten generalized categories reusing the same schema that already powers the car and property boards, rather than a bespoke model per vertical

M03

Favorites and saved searches persisted per user, letting a buyer re-run a facet query later

M04

Listing detail flow with photo gallery, seller contact form, phone-reveal tracking and abuse reports

M05

A migration of the reactive-query layer to TanStack Vue Query for caching and request dedup across the SPA

04

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.

05

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.

Read next

These projects share nearby technical or product decisions, so they show how the same principle behaves in another context.

Have a similar idea?

Discuss your project