Live engagement
Bilingual legal services marketplace — directory, appointments, legal tools, emergency contacts
Legal services · National marketplace · Q1 → Q2 2026 — ~16 weeks from kickoff to public launch
The challenge
The market had no single trusted entry point for citizens seeking legal services. Lawyer discovery was fragmented across social networks and word-of-mouth, appointment booking was phone-only, and free legal tools (court fees, deadlines, legal interest) lived in PDFs scattered across ministry sites. The client — a Ministry-of-Justice-licensed entity — needed to launch the national reference platform: directory of certified lawyers, firms, experts, mediators, and arbitrators; multi-channel appointment booking; legal calculators; police directory with emergency hotlines; provider workspace — all bilingual EN/AR, GDPR-compliant, and compliant with Ministry rules.
How we approached it
- →Monorepo (Turborepo) split between marketplace, provider workspace, and admin — shared types, separate deploys
- →Bilingual-by-default architecture via next-intl: every model carries EN + AR fields, every route prerenders both languages
- →Multi-channel appointment booking — video, phone, in-office — with automated confirmations via transactional email + Web Push
- →Free legal tools (court fees, deadlines, legal interest calculators) generated as static, indexable pages for SEO
- →Police directory with Leaflet map + emergency hotlines, designed for fast access on mobile
- →Provider verification flow: lawyers register, upload credentials, get reviewed, publish a verified profile
- →PDF generation with QR codes via pdf-lib for legal document workflows
Outcomes
Market coverage
Before
Fragmented lawyer search across social media
After
Single ministry-licensed national marketplace
Language reach
Before
Competitor sites EN-only or AR-only
After
Full EN/AR bilingual, prerendered both languages
Service breadth
Before
Directory-only competitors
After
Directory + booking + legal tools + emergency
Stack highlights
- Next.js 16 + TypeScript + React 19 in a Turborepo monorepo
- next-intl for full EN/AR bilingual with RTL support
- Drizzle ORM on PostgreSQL — single schema, two languages
- Postmark for transactional email, Web Push API for notifications
- Leaflet for the police directory map
- pdf-lib for legal documents with QR-code provenance
- Tailwind CSS 4, deployed on Vercel
“A complete bilingual platform compliant with regulator requirements. Technical quality and delivery speed are outstanding.”
— Founding team, national legal services platform
Start an engagement
Run the same playbook for your team
Tell us your workflow, your KPI, and the systems involved. We'll send a scoped statement of work within 5 business days.