Mobile App Development for Legal Consultations
A legal app is more than just appointment booking. Here, lawyers pass clients sensitive documents with third-party personal data; clients upload passport scans and contracts — all of this must be legally structured: data processing consent, audit trail of every action. An app without this is a regulatory liability, not a working tool.
Technical Challenges Encountered During Development
Document management is the main pain point. PDF files on mobile must not just download — they must open securely, sign if needed, and return. Implementing via WKWebView on iOS with inline PDF viewer hits limitations: WKWebView doesn't allow PDF annotation without third-party libraries. PDFKit (native for iOS 11+) solves this, but in Flutter it requires platform channels.
Second problem — role-based access. The app simultaneously serves: client, lawyer, admin, accountant. Each sees their dataset. Spatie Permissions on backend and local guards in Flutter are standard, but access policy errors here are costlier than in e-commerce.
Chat tied to case. Not just messenger, but correspondence in specific case context — with message numbering, no-delete requirement (legal practice requirement), PDF export for court. Stream Chat SDK supports immutable messages via custom message actions.
Architecture and Stack
Flutter 3.x for client apps (iOS + Android from one codebase), Laravel 10 backend with REST API, PostgreSQL.
Online consultations via Daily.co or Agora with session recording — recordings stored encrypted on S3-compatible storage, accessible only to case participants. Retention period configurable in admin panel.
Electronic document signature via integration with ESIA (State Services) or digital signature via CryptoPro DSS API — for those needing legally significant signatures. For most private practices, simple e-signature with IP/time/email confirmation suffices.
Case status notifications via FCM: "Lawyer replied to your question", "Document signed", "Hearing scheduled".
Billing: hourly rates with timer, hour packages, one-time consultations. Payment via YooKassa. Invoices auto-generated via backend templating.
Work Stages and Timeline
Requirements analysis → role model and document workflow design → UX/UI in Figma → development → load testing → publication → support.
App for single lawyer or small practice (booking, chat, documents, payment) — 10 to 16 weeks. Multi-lawyer marketplace with ratings, billing, and CRM — 24+ weeks.
Pricing is calculated individually after requirements analysis.







