Overview
Lexium is a full-stack legal services marketplace designed to connect citizens with verified legal professionals such as advocates, mediators, arbitrators, notaries, document writers, and tax consultants.
The platform supports the complete journey from discovering a professional and booking a consultation to filing a case, tracking its progress, completing the service, leaving a review, and releasing the associated payment.
Three roles
The platform is built around three distinct roles: citizens, legal professionals, and administrators.
- Citizens can browse approved professionals, view their profiles and services, book consultations, file and track cases, and submit reviews.
- Providers have their own dashboard for managing incoming cases, appointments, active cases, profiles, reviews, and earnings.
- Administrators supervise the platform by approving providers, managing users, monitoring cases and transactions, and controlling the release of escrowed payments.
Case lifecycle and escrow
A major part of Lexium is its case lifecycle and escrow system. When a citizen files a case, it moves through defined stages such as pending, under review, in progress, awaiting documents, resolved, and closed, with timeline entries recording important updates.
Once a consultation is completed, the associated payment enters escrow and can only be released by an administrator after the linked case reaches an eligible resolved or closed state.
Compliance and performance
- Providers get performance badges and leaderboard ranking, compliance notices and guidance, and a transparent earnings ledger alongside their dashboard analytics.
- Administrators handle complaint moderation and resolution, and can escalate issues with warnings, earnings deductions, or escrow holds. They also have leaderboard and performance analytics, and audit trails for all compliance actions.
Architecture
Client
React 19 + Vite
Vercel
API
Laravel 13 REST API
Render
Data
MongoDB Atlas
Primary database
Auth
Firebase Authentication
Separate flow for admins
- React 19 + Vite → Firebase Authentication — citizen / provider identity
- Sync
- Async
- Auth
Firebase Authentication handles citizen and provider identity, while administrators use a separate authenticated flow.
Stack
- Frontend
- React 19, Vite, Tailwind CSS v4, Framer Motion
- Backend
- Laravel 13, PHP 8.2+
- Database
- MongoDB Atlas (via laravel-mongodb)
- Auth
- Firebase Authentication (citizens and providers), separate admin flow
- Tooling
- Docker
- Deploy
- Vercel (frontend), Render (backend)