Suppose you launch a classifieds site for selling used cars. After a month, you find that the search by make and model lacks detailed filters (no year, mileage), moderators manually check every listing, and buyers complain they can't see nearby ads. Familiar? We build classifieds where geo search works in milliseconds, moderation automatically filters out 90% of junk, and monetization recovers development costs within six months. Our clients range from niche flea markets to federal classifieds with millions of listings. Classifieds development is a complex task requiring balanced solutions. In this article, we'll dissect how to build a classifieds site that doesn't lag with a million listings, moderates itself, and generates profit. We'll cover key technical decisions: dynamic attributes, geo search, messenger, moderation, and escrow.
What Matters When Developing a Classifieds Site?
Let's start with architecture. Each listing contains at minimum: transaction type, title, description, category, price, photos, contacts, location, and activity period. But the main feature is dynamic attributes. For cars – make, model, year; for real estate – area, floor, wall material. Attributes are stored flexibly:
CREATE TABLE category_attributes ( id INT PRIMARY KEY, category_id INT, name VARCHAR(255), type ENUM('text','number','select','boolean'), options JSONB, required BOOLEAN, searchable BOOLEAN ); CREATE TABLE listing_attributes ( listing_id INT, attribute_id INT, value_text TEXT, value_number NUMERIC, value_boolean BOOLEAN ); The listing form is built dynamically – category attributes are loaded via AJAX. Users fill only relevant fields, boosting conversion rates.
Why Geo Search Is a Key Feature
"Listings near me" is the primary scenario on classifieds. We implement it using PostGIS with a spatial index:
SELECT l.*, ST_Distance(l.location::geography, $1::geography) AS dist FROM listings l WHERE ST_DWithin(l.location::geography, $1::geography, 10000) AND l.category_id = $2 AND l.status = 'active' ORDER BY dist; To speed things up, we add Redis caching for popular queries. Typical response time is <50 ms on 100,000 listings. Geo search with PostGIS gives a 10x speed improvement over a plain LIKE search on coordinates. This is especially critical for real estate and auto classifieds.
How We Organize Communication: Built-in Messenger
Buyers write to sellers directly within the listing – contacts are hidden until a deal is ready. The chat is tied to the listing (e.g., "Your listing 'iPhone 14'"). Stack: WebSocket (Laravel Reverb) + PostgreSQL for history + Redis for online statuses. Messages are stored in a partitioned table – no lag as data grows.
Choosing Moderation: Pre vs Post
| Criteria | Pre-moderation | Post-moderation |
|---|---|---|
| Time to publication | Hours to days | Instant |
| Quality | High | Low without automation |
| Fraud risk | Low | High |
| Moderator load | Constant | Report-based |
We combine both: pre-moderation for expensive categories (cars, real estate), post-moderation for cheap ones. Automation detects duplicates (same title + phone within 7 days), spam patterns, and prohibited items via an ML model. Automated moderation reduces operator load by up to 70%, saving up to 60% of the moderation budget.
What's Included in the Work
- Analytics: competitor audit, prototype, user flow.
- Design: responsive UI, 5 key screens.
- Frontend: React/Next.js or Vue/Nuxt (your choice).
- Backend: Laravel or Node.js, admin panel.
- Moderation: automatic filter + moderator cabinet.
- Monetization: payment gateway, promotion packages.
- Documentation: API (OpenAPI), admin manual.
- Training: 2 hours for your team.
- Warranty: 6 months of free bug fixes.
Our Process
- Analytics and prototype (1-2 weeks). Define MVP, draw User Story Mapping.
- Architecture design (1 week). ER model, API specification.
- Implementation (6-20 weeks). 2-week iterations, each sprint includes a demo.
- Testing (2 weeks). Load tests (k6), e2e (Cypress), security checks.
- Deployment and launch (1 week). CI/CD, monitoring (Sentry, Grafana).
Estimated Timelines
| Stage | Time |
|---|---|
| MVP (listing, search, filters, photos, contacts) | 6-8 weeks |
| + messenger + geo search | +4-6 weeks |
| + moderation + monetization | +4-6 weeks |
| Full feature set with escrow | 5-6 months |
Pricing is determined individually after a briefing. Order a consultation – we'll evaluate your project in 1-2 days.
Transaction Security: Escrow Account
For expensive categories (cars, electronics), we implement "Safe Deal": the buyer pays to the platform's escrow account, the seller ships the item, and upon delivery confirmation, funds are released. Integration with YooKassa or Stripe; funds are held in a separate account, not mixed with operational flows.
Technologies We Use
PostGIS, Laravel, Vue, Nuxt, Redis, Docker, Nginx, WebSockets. All versions are current at the time of development.Our engineers have experience in classifieds – 20+ launched projects. We work turnkey with a result guarantee. Get a free consultation on classifieds website development right now.







