LP Agency

Creating a highly loaded real estate marketplace

with real-time communication and video streaming

About the project

Type:
highly loaded marketplace
Sphere:
real estate, digital platform
Format:
development from scratch + real-time communication + video streaming (chat, WebRTC calls, short-format video tape)
Stack:
Laravel 10 + React + Redis + WebSockets + WebRTC + HLS + FFmpeg + VPS
Link:

Task

Our goal was to create a digital real estate platform that would combine:

  • 100,000+ objects
  • 10,000+ users
  • short-content video tape
  • real-time chat
  • WebRTC-video calls
  • CRM logic for processing applications
  • integration with banks and external services

Monetization is based on submitting applications to developers and receiving a commission.

This is not just a catalog of objects, but a communication environment for the real estate market.

Our role

We became a full technology partner: we developed the platform from scratch, formed a team of 4 people (backend, frontend, DevOps, architect). We independently designed the real-time layer, set up the infrastructure on the VPS and ensured the smooth operation of all integrations. In fact, we took over not only coding, but also engineering support — from stack selection to deployment and monitoring.

Architectural model

The backend is based on Laravel 10 (PHP 8.1) in a monolithic style.: this made it possible to quickly iterate and not complicate support at the start. We use OAuth2 (Passport) for access control, Redis is for caches, queues, and pub/sub, and WebSockets is for real-time.

Frontend — separate React SPA on Vite and SCSS, requests via Axios. The infrastructure has been upgraded to a VPS, where a WebSocket server, a TURN server for WebRTC, and a video processing system (HLS + FFmpeg) are deployed. All video storage is on the server, without external CDNs, which gave full control over media streams.

Backend:

  • laravel 10 (PHP 8.1)
  • monolithic architecture
  • oAuth2 (Passport)
  • redis
  • queues
  • WebSockets
  • HLS
  • FFmpeg

Frontend:

  • react (a separate SPA application)
  • vite
  • SCSS
  • axios

Infrastructure:

  • VPS
  • redis (pub/sub)
  • WebSocket server
  • TURN server for WebRTC
  • the video is stored on the server

The system is built as a monolithic backend + dedicated SPA frontend + separate real-time layer.

Laravel is responsible for:

  • business logic
  • roles and access rights
  • working with objects
  • CRM processes
  • payment integrations
  • API for the frontend

React is responsible for:

  • video tape
  • dynamic interface
  • chat
  • custom scripts

The real-time layer is implemented via:

  • WebSockets
  • Redis pub/sub
  • queues for asynchronous processing

Duui2

The most difficult technical blocks

Real-time chat:

  • persistent WebSocket connections
  • synchronization of message statuses
  • scaling connections
  • working through Redis pub/sub

Video tape and HLS

  • video processing via FFmpeg
  • generating HLS streams
  • optimizing returns
  • playback stability

WebRTC Calls:

  • configuring the TURN server
  • NAT traversal
  • stability of compounds
  • session management

Load logic. As users grow:

  • increasing the number of active WebSocket connections
  • growth of media operations
  • the increase in the number of applications

The monolithic architecture was chosen deliberately to speed up development and simplify support at the launch stage.

Safety

Data protection issues were particularly acute in such a project: the platform works with users’ personal data, real estate applications and the transfer of information to developers. That is why we have established a multi-level security system from the very beginning.

At the access level, a rigid role model is implemented: an ordinary user, a realtor, a developer, and an administrator. Everyone sees only what they’re supposed to see. Access to real estate is limited not only by roles, but also by application statuses.

Authentication is based on OAuth2 via Laravel Passport. All requests between the React frontend and the API are protected by tokens, which have a limited lifetime and can be revoked.

Data separation — public information (place cards, photos) and private information (chat, applications, personal data) are separated at the API logic level. Even if there is an error on the frontend, you cannot get other people’s data.

Additional control — all asynchronous processing (queues, events) goes through Redis with isolated channels, which eliminates data leakage between different business processes. No direct requests to the database from the front—end — only through a validated API.

Business logic

The main scenario:

Viewing an object → Communication → Application processing → Transfer to the developer → Commission.

The platform unites:

  • marketplace
  • CRM
  • media service
  • the communication system

Result

The project has been successfully completed, launched and continues to develop by us. We have received not just another website with ads, but a full-fledged digital platform for the real estate market, which combines a marketplace, CRM, media service and communication hub.

Key achievements:

  • A platform has been created and launched from scratch that fully meets business requirements.
  • implemented a stable real-time layer: The chat works without delay, and notifications arrive instantly.
  • built-in video tape in the format of short content (an analogue of rails) and full-fledged WebRTC video calls between the user and the developer.
  • Video processing via FFmpeg + HLS made it possible to optimize playback even on weak channels.
  • The architecture is prepared for horizontal scaling — as the load increases, you can add resources without rewriting the code.
  • The business model of commission applications has been implemented: the user submits an application → the platform transmits it to the developer → receiving the commission. All processes are automated and transparent.

User Result: A visitor can find an object in 2 minutes, watch a short video, ask a question in a chat and immediately make a video call without leaving the platform.

Business result: The client received a working traffic monetization tool and a ready-to-scale IT infrastructure.