← Back to projects
Marketplaces & FinTech Case study

Autoplius.lt — The Largest Automotive Classifieds Portal in the Baltic States

Development and evolution of the high-load automotive classifieds portal Autoplius.lt (Baltic Classifieds Group): search, listings catalog, tools for private sellers and car dealers, market analytics. Stack: Symfony, ElasticSearch, RabbitMQ, Redis, Twig.

Technologies 6
PHP
JavaScript
Symfony
PostgreSQL
Elasticsearch
Redis
Autoplius.lt — The Largest Automotive Classifieds Portal in the Baltic States
Featured project ↗

About the project

Autoplius.lt is the most visited automotive classifieds portal in the Baltic States, with the largest selection of used cars in the region. Since 2003, the portal has been helping buyers find suitable vehicles and private sellers and car dealers attract potential buyers.

The portal hosts over 210,000 listings — from passenger cars, heavy transport, and bicycles to spare parts, tires, and wheels, of which more than 44,000 are new and used passenger car listings. The audience in Lithuania is nearly 600,000 users per month, with over 11 million visits per month. On average, a user spends about 1 hour 40 minutes per month on Autoplius.lt — in August 2026, the portal ranked first among sites participating in the Gemius study in Lithuania.

I worked on the project as a Symfony developer: responsible for the platform's backend, search infrastructure, integrations with vehicle history and analytics services, and tools for dealers and private sellers. The project is part of Baltic Classifieds Group, managed and developed by UAB "Diginet LTU".

Autoplius.lt — The Largest Automotive Classifieds Portal in the Baltic States

Autoplius.lt is the most visited automotive classifieds portal in the Baltic States, with the largest selection of used cars in the region. Since 2003, we have been helping buyers find suitable vehicles and private sellers and car dealers attract potential buyers.

The portal hosts over 210,000 listings — from passenger cars, heavy transport, and bicycles to spare parts, tires, and wheels. Of these, more than 44,000 are new and used passenger car listings.

The Autoplius.lt audience in Lithuania is nearly 600,000 users per month, with over 11 million visits per month. On average, a user spends about 1 hour 40 minutes per month on Autoplius.lt — in August 2026, the portal ranked first among sites participating in the Gemius study in Lithuania.

My Role in the Project

Symfony Developer: responsible for the platform's backend, search infrastructure, integrations, and tools for dealers and private sellers.

Technology Stack

  • Backend: Symfony (PHP)
  • Frontend: Twig
  • Search: ElasticSearch
  • Queues: RabbitMQ
  • Cache and Sessions: Redis
  • Infrastructure: background workers for asynchronous processing of listings, indexing, and notifications

Key Tasks

  • Evolving the search infrastructure on ElasticSearch
  • Asynchronous processing of listings and events via RabbitMQ
  • Caching and output optimization via Redis
  • Integration with the Autoistorija.lt vehicle history service
  • Tools for car dealers (Autopulsas, market analytics)
  • Features for private sellers (car valuation, "Mokėk, kai parduosi")
  • Performance optimization under high load
  • Monitoring and alerting of key processes

Outcome

The platform reliably serves hundreds of thousands of users per month and millions of visits, providing fast search across hundreds of thousands of listings, analytics for dealers, and convenient tools for private sellers.

What I delivered

01

Users need fast and relevant search across more than 210,000 listings with numerous filter...

The challenge

Users need fast and relevant search across more than 210,000 listings with numerous filters (make, model, year, mileage, price, region, body type, etc.). Heavy SQL queries could not handle the load and did not deliver the required relevance.

Solution

  • Designed and optimized ElasticSearch indices for key entities (listings, cars, dealers, spare parts).
  • Implemented data synchronization between the DB and ElasticSearch via RabbitMQ events.
  • Configured faceted search, aggregations, and sorting for filters.
  • Optimized mappings and reindexing for large volumes.

Results

  • Fast and relevant search across hundreds of thousands of listings.
  • Flexible filters and facets for users.
  • Reduced load on the primary database.

02

Publishing, editing, moderating, and indexing listings are heavy operations that cannot be...

The challenge

Publishing, editing, moderating, and indexing listings are heavy operations that cannot be performed synchronously in the HTTP cycle. Under growing load, this caused delays and timeouts.

Solution

  • Designed event queues for publishing, updating, deleting, and moderating listings.
  • Implemented workers using Symfony Messenger + RabbitMQ.
  • Added retry policies, a dead-letter queue, and monitoring.
  • Ensured idempotency of handlers.

Results

  • Fast interface response regardless of background operations.
  • Resilience to failures and peak loads.
  • Scalable listing processing.

03

Popular pages (homepage, categories, top listings, dealer pages) generated enormous DB loa...

The challenge

Popular pages (homepage, categories, top listings, dealer pages) generated enormous DB load on every request. Faster delivery and reduced load were required.

Solution

  • Introduced multi-level caching of hot data and aggregates in Redis.
  • Configured cache invalidation via events (listing publish/edit/delete).
  • Used Redis for sessions and distributed locks.
  • Added monitoring of hit/miss and response times.

Results

  • Significant reduction in response time for key pages.
  • Lower load on the database.
  • Stable operation under peak load.

04

Buyers need access to vehicle history reports directly on the listing page. A reliable int...

The challenge

Buyers need access to vehicle history reports directly on the listing page. A reliable integration with the external Autoistorija.lt service was required without blocking user requests.

Solution

  • Implemented an integration client with Autoistorija.lt with response caching.
  • Moved heavy requests into asynchronous tasks via RabbitMQ.
  • Added error handling, timeouts, and fallback scenarios.
  • Ensured report rendering in Twig templates on the listing page.

Results

  • Users receive vehicle history directly on the listing page.
  • No blocking when the external service is unavailable.
  • Increased buyer trust in listings.

05

Car dealers need tools for market assessment, analysis of listing performance and competit...

The challenge

Car dealers need tools for market assessment, analysis of listing performance and competitive landscape, and automation of listing management. Existing capabilities were insufficient for assortment planning.

Solution

  • Developed the backend for Autopulsas: market data aggregation, segment metric calculation.
  • Implemented analytics on dealer and competitor listings.
  • Added bulk listing management tools (bulk operations).
  • Built reports and exports for dealers.

Results

  • Dealers gained tools for assortment planning and performance evaluation.
  • Automation of daily listing work.
  • Increased dealer engagement on the platform.

06

Private sellers need simple tools: car valuation and the ability to pay for a listing afte...

The challenge

Private sellers need simple tools: car valuation and the ability to pay for a listing after the car is sold ("Mokėk, kai parduosi"). Correct handling of payments and service terms was required.

Solution

  • Implemented a car valuation service based on market data.
  • Developed the "Mokėk, kai parduosi" mechanics: deferred payment, sale tracking, charge per terms.
  • Integrated the payment gateway and status processing via RabbitMQ.
  • Added notifications and a seller dashboard.

Results

  • Simplified listing for private sellers.
  • Flexible payment model increased listing conversion.
  • Transparent terms and statuses for the seller.

07

The portal serves nearly 600,000 users and over 11 million visits per month. Stable operat...

The challenge

The portal serves nearly 600,000 users and over 11 million visits per month. Stable operation under peak load without response degradation was required.

Solution

  • Profiled bottlenecks and optimized SQL queries and indices.
  • Introduced caching and asynchronous processing of heavy operations.
  • Optimized Twig templates and static asset delivery.
  • Configured horizontal scaling of workers.

Results

  • Stable operation under peak load.
  • Reduced response time for key pages.
  • Readiness for further traffic growth.

08

The portal operates 24/7, and failures in indexing, queues, or integrations are business-c...

The challenge

The portal operates 24/7, and failures in indexing, queues, or integrations are business-critical. A monitoring and alerting system was required.

Solution

  • Set up collection of metrics for ElasticSearch, RabbitMQ, Redis, and key business events.
  • Implemented alerts for anomalies (DLQ growth, indexing delays, worker errors).
  • Added dashboards for the team.
  • Integrated logging of critical operations.

Results

  • Fast detection and response to incidents.
  • Reduced downtime.
  • Transparency of platform state for the team.

09

Hundreds of thousands of listings are published on the portal, including duplicates, fraud...

The challenge

Hundreds of thousands of listings are published on the portal, including duplicates, fraudulent, and incorrect posts. Automated moderation was required without delays for legitimate sellers.

Solution

  • Implemented a moderation pipeline: automated rules + manual review queue.
  • Added checks for duplicates and suspicious patterns.
  • Moved moderation into asynchronous tasks via RabbitMQ.
  • Added tools for moderators and decision logging.

Results

  • Reduced number of fraudulent and duplicate listings.
  • Fast publishing for legitimate sellers.
  • Convenient tools for the moderation team.

10

All actions on listings (creation, editing, moderation, deletion) needed to be tracked for...

The challenge

All actions on listings (creation, editing, moderation, deletion) needed to be tracked for dispute resolution and analytics. An audit system was required that does not slow down core processes.

Solution

  • Designed an audit log schema linked to listing, user, and action.
  • Implemented asynchronous audit writing via RabbitMQ.
  • Added tools for searching and exporting audit logs (ElasticSearch).
  • Ensured immutability of records.

Results

  • Complete audit of listing actions.
  • Fast dispute resolution.
  • Foundation for seller behavior analytics.

11

Growing audience and number of listings required infrastructure scaling without rewriting...

The challenge

Growing audience and number of listings required infrastructure scaling without rewriting key components. A solution resilient to peak loads and data growth was required.

Solution

  • Moved heavy operations into separate horizontally scalable workers.
  • Configured ElasticSearch index sharding.
  • Optimized Redis and RabbitMQ usage.
  • Introduced load testing and profiling.

Results

  • Infrastructure ready for traffic and data growth.
  • Resilience to peak loads.
  • Predictable performance of key scenarios.

Technologies & topics

Project tags

#Symfony #PHP #Twig #ElasticSearch #RabbitMQ #Redis #Classifieds #Marketplace #High Load #Auto #Autoplius #Baltic Classifieds Group #REST API #Symfony Messenger #Async Processing #Search #Moderation #Antifraud #Audit Logging
04
Start a project

Want a similar technical approach?

Let's discuss your project, architecture and the best technology stack for it.

Let's talk ↗