← All case studies
Case Study / Legal Practice Management

Law Practice Management App for iOS & Android

A Flutter app that puts a law firm's whole operating system in a lawyer's pocket: clients, matters, billable time, invoicing, documents, conflict checks, secure client messaging and a multi-stage expense approval workflow.

Law Practice Management App for iOS & Android screens showing matters, billable time tracking and invoicing
Project Overview & Specs
Platforms
iOS · Android
Client
Digitslaw Network Limited, Lagos
Architecture
GetX, controller/view per module
Modules
18 screen modules, 186 files
Codebase
348 Dart files, ~55K lines

01 / The Challenge

A full practice-management suite that had to work away from the desk

DigitsLaw is an all-in-one law practice platform, clients, cases, billing and trust accounting, that firms ran from a web dashboard. The work it manages, though, happens in courtrooms, client meetings and on the road, where a browser tab is the wrong tool. The mobile brief was not a companion app with a few read-only lists; it was the same regulated workflows, billing accuracy, approval chains and confidentiality included, rebuilt for a phone.

Billable time is the firm's revenue, so a timer had to survive backgrounding, app kills and lost connectivity without losing or double-counting minutes

Firms run mixed roles, partners, associates, auditors, approving managers, so every module needed server-driven permission gating rather than one flat feature set

Firm expenses move through a request, review, approval, disbursement and retirement chain that had to be represented faithfully, not simplified

Client-confidential documents and messages needed controlled participants, attachment handling and server-issued download links

Firms bill across currencies and read the app in different languages, so amounts and copy could not be hard-coded to one locale

02 / Here is What We Did

One GetX codebase, every module, one permission model

We built the app as a modular Flutter codebase on GetX, with a consistent controller/view pairing per feature so routing, dependency injection and reactive state stay predictable across every module. Every screen talks to the DigitsLaw REST API through a single Dio-backed service layer, with 82 typed models keeping responses safe and a design system generated from Figma tokens keeping the UI consistent with the web product.

Permissions are fetched from the server at session start and enforced in 51 files, so a user's role reshapes the app rather than just hiding a button.

STEP 01

Foundations & Practice Core

Shipped auth, the home summary dashboard, billable time entries with a server-synced timer, progress notes, court updates and document management, on a design system generated straight from the product's Figma tokens.

STEP 02

Clients, Matters, Billing & Conflict Checks

Added client records for both individuals and companies, matters, expenses, full invoice creation with tax, discounts, flat fees and bank details, and a conflict-check flow producing a downloadable PDF that can be saved straight onto a matter, alongside multi-currency support and role-based permission gating.

STEP 03

Expense Requests & Secure Messaging

Built the multi-stage expense request workflow, requestor, reviewer, approving manager, auditor and disburser, with fund release, retirement and refund-to-firm paths, then layered on secure client messaging with participant control and attachment sharing.

03 / Features

The firm's operating system, on a phone

01

A billable-hours timer that starts, pauses and stops against the server, with a 60-second background sync so a killed app, a lock screen or a dropped connection never costs the firm billable minutes.

02

Client and matter management covering both individual and company clients, contact information, assigned legal teams, relationship managers, matter rates and status tracking.

03

Full invoicing built in-app: time entries, expenses and flat fees pulled onto one invoice, per-line tax and discounts, billing currency, bank account and payment instructions, invoice themes with signature, plus a send-for-approval and approve flow.

04

A five-stage expense request workflow, request, review, approval, disbursement and retirement, with dedicated approving-manager, auditor and accounting-fund views, fund release, refund to firm and threaded comments at each stage.

05

Conflict checks run against both the for side and the opposing side, producing a downloadable PDF report that can be attached directly to the matter it clears.

06

Secure client messaging with controlled participants, add and remove access, shared-file listings and server-issued attachment links, kept inside the firm's own system rather than personal email.

07

Document management with type classification, upload from device storage, background downloads and matter-level filing, plus court updates and progress notes for case-by-case history.

08

Multi-currency billing with live exchange-rate conversion between home and foreign currency, four fully translated interface languages, and a dark mode that carries across every screen.

04 / Technologies

Flutter and GetX over the DigitsLaw REST platform

Flutter
Dart
GetX
Provider
Dio
REST API
Cloud Msging
Dynamic Links
Local Notify
ScreenUtil
Prefs
Network
Downloader
Mixpanel

05 / Results & Impact

A production practice-management app, shipped and maintained

348
Dart files across 17 modular GetX features
139
REST endpoints wired through one typed service layer
82
Data models keeping every API response type-safe
106
Mixpanel events instrumented across the product
iOS & Android
Live on both stores from a single Flutter codebase
4 languages
English, French, German and Italian, 630+ translated keys each
Role-aware
Server-driven permissions enforced across 51 files
App StoreGoogle Play

The DigitsLaw law firm app is specifically designed to make your practice run without hitches or hassles, even when you're away from the office.

Digitslaw Network Limited
Have something similar in mind?

Let's take your platform mobile without cutting it down.

Tell us the workflows your team already depends on and we'll bring the Flutter engineering to move them onto a phone, approvals, permissions and all.

Start a project