Built for Kenyan law firms · JICMS-ready

The case managementmodern firms run on.

Centralise every case file, send invoices in seconds, and reconcile M-Pesa payments automatically. One secure workspace per firm — built on bank-grade tenant isolation.

No credit card required · 14-day pilot · Hosted on Vercel

Open cases
Receivables this month
Outstanding
KES 1,240,500
Collected
+18%
KES 862,300
Overdue
KES 94,000
Case
Client
Status
Amount
HCC/E123/2026
Mwangi v. Republic
Mwangi, J.
Active
KES 320,000
HCC/E198/2026
Kamau Holdings — Contract review
Kamau Ltd.
Paid
KES 145,500
ELC/E044/2026
Otieno Estate — Probate
Otieno Family
Pending
KES 78,000
Trusted infrastructureSupabase Postgres + RLSSafaricom DarajaVercel EdgeUpstash Redis
Two pillars. Zero clutter.

Everything a firm needs. Nothing it doesn't.

We built LexiFlow around the two workflows that consume real partner time — managing case files and getting paid. The rest can wait.

Case files

A single source of truth — secured per firm.

JICMS-aligned folders, signed-URL document access, and full case lifecycle from Open to Closed. Your firm's data lives in its own row-level-secure boundary.

  • JICMS-compliant case numbering & folder depth
  • PDF upload to per-tenant storage buckets
  • Status workflow: Open → Active → Pending → Closed
  • Signed download URLs scoped per session
Invoicing & M-Pesa

Invoice. Push. Reconciled — automatically.

Generate a branded invoice against a case, trigger an M-Pesa STK Push to the client's phone, and watch the invoice flip to Paid the moment the Daraja callback clears.

  • STK Push from any open invoice
  • Daraja callback signature verification
  • Auto-reconciliation against open invoices
  • Live receivables dashboard per firm
Security model

Tenant isolation is a hard rule — not an afterthought.

Every database query, storage path, and API response is scoped to your firm's tenant ID at the database layer. Firm A can never see Firm B's files, even by mistake. We enforce it at the row, not the application.

Read the security overview
Row-Level Security on every table
Postgres RLS policies auto-filter by tenant_id from session claims. No app-level filtering.
Per-tenant storage buckets
Documents live at /{tenantId}/{caseId}/{filename}. Bucket policies refuse cross-tenant reads.
Verified Daraja callbacks
Every M-Pesa webhook is signature-verified and ResultCode-checked before an invoice is marked Paid.
Get running today

Onboard your firm in under five minutes.

  1. 01

    Claim your subdomain

    Pick a slug — yourfirm.lexiflow.app. We provision a fully isolated workspace with its own auth, database boundary, and storage bucket.

  2. 02

    Add your first case

    Use the JICMS-aligned form to log the case number, client, matter type, and date opened. Drag in the case PDFs.

  3. 03

    Send an invoice

    Build line items, generate the PDF, and trigger an M-Pesa STK Push. The invoice settles itself when the client pays.

Ready to run a tighter firm?

Spin up your firm's LexiFlow workspace in seconds. Pilot it with one matter — keep it for everything.