Case study · Law firms
Every matter, document and hour in one secure place
A legal technology company wanted to give small law firms the practice management that large firms buy from enterprise vendors. This is how we built a SaaS product for matters, documents, time and billing, with the confidentiality a law firm is obliged to keep.
Project overview
A SaaS product for a regulated profession.
- Industry
- Law firms
- Client
- Confidential
- Solution
- Practice management SaaS
- Platform
- Angular and .NET on Azure
- Timeline
- 30–38 weeks
- Team
- 7 people
- Tenancy
- A separate database per firm
- Security
- Matter-level access and audit trail
- Integration
- Email, documents and accounting
Expected business outcomes
What the client set out to achieve
Small firms buy on time saved and on trust.
-
15–25%
More billable time captured
Time is recorded from emails, calls and documents as the work happens.
Target range; compared with each firm's previous recording
-
50–70%
Less time preparing bills
Bills are drafted from recorded time and agreed rates.
Target range per billing run
-
100%
Of document access recorded
Every view, download and change is attributed to a person.
By design; enforced in the data layer
Business challenges
Where the client started
Small firms ran on shared folders, spreadsheets and memory.
Matters
Files in shared drives, named differently by each fee earner.
Time
Hours reconstructed at the end of the week, and often lost.
Billing
Bills typed by hand from timesheets.
Software
Enterprise products priced and built for large firms.
Duty
Client confidentiality that a breach would destroy.
Proposed solution
What the product covers
The matter is the centre, and everything attaches to it.
-
Matter management
Parties, key dates, tasks and notes for each matter.
-
Document store
Documents and emails filed to the matter, with versions and access control.
-
Time recording
Timers and prompts that capture time from everyday work.
-
Billing
Bills drafted from time and disbursements, at agreed rates.
-
Client portal
Secure document sharing and messages, in place of email attachments.
-
Audit and compliance
A complete record of who saw and changed what.
Project requirements
What the client asked us for
The request was an affordable product for firms of two to thirty people. The requirement that shaped the architecture was confidentiality: firms needed to know their data could never sit beside another firm's.
Each firm was therefore given its own database, which costs more to run and is far easier to explain to a managing partner.
What the project had to deliver
- 01Matters, documents, time and bills together
- 02A separate database for every firm
- 03Time captured as the work happens
- 04A price a small firm can pay
Key challenges & considerations
What made it harder, and what we did
-
Regulatory duties on client confidentiality and data location
What we did
Each firm was given its own database in the required region, with access controlled down to the matter.
-
Large volumes of documents and email
What we did
Documents were stored separately from the database and indexed for search, so large files never slowed the application.
-
Conflict checks across every matter
What we did
A conflict search ran across parties and matters whenever a new matter was opened.
-
Firms migrating years of files from shared drives
What we did
An import tool filed existing folders to matters, with a report of anything it could not place.
What we watched for
- Design isolation before features
- Capture time where the work happens
- Make migration part of the product
- Test security before launch, not after
Development process
Security designed first, features second
A pilot firm used every release and its partners reviewed each one.
-
Discovery
Working days observed in three small firms.
-
Architecture and security
Tenancy, access control and audit designed and reviewed.
-
Matters and documents
The matter record and the document store.
-
Time and billing
Time capture, rates and bill drafting.
-
Portal and migration
Client portal and tools to import existing files.
-
Release
Security testing, then general release.
Technology stack
A database per firm, one product
Isolation by design, managed by automation.
Front end
- Angular
- TypeScript
- Design system
Back end
- .NET
- Azure SQL database per tenant
- Azure Blob Storage
Security
- Microsoft Entra ID sign-in
- Encryption at rest and in transit
- Audit log
Platform
- Automated tenant provisioning
- Automated tests
- CI/CD
- Penetration testing
Quality assurance & deployment
Tested as a product many customers share
A SaaS product is one codebase serving every customer, so a defect reaches all of them at once. Tenant isolation, billing and upgrades were tested as deliberately as the features.
- Automated unit and API tests, run on every change
- Tenant isolation tests: one customer can never see another's data
- Billing, plan and permission scenarios tested end to end
- Code review by a second engineer before anything was merged
- Load tests at the expected number of tenants and users
Deployment
- 01Portal and migrationClient portal and tools to import existing files.
- 02ReleaseSecurity testing, then general release.
- 03Releases without downtimeUpdates shipped behind feature flags, with database changes that can be rolled back.
- 04Monitoring and warrantyUptime, errors and usage per tenant monitored from day one, and six months of free bug fixing.
Final deliverables
A small firm run like a large one
Fee earners now open a matter and find its documents, emails, time and bills together, and clients receive documents through a portal rather than an attachment.
The client can show any firm exactly where its data lives and who has touched it, which is what closes the sale.
- One record per matter
- Time captured during the work
- Bills drafted in minutes
- Every access recorded
Handed over to the client
- 01Production SaaS platformMulti-tenant, deployed and monitored
- 02Source codeIn a repository the client can access
- 03Billing and admin consolePlans, tenants and permissions
- 04Test suite and pipelineIncluding tenant isolation tests
- 05Six-month warrantyFree bug fixing after delivery
Success metrics
How success is measured
| Measure | Outcome | How it is measured |
|---|---|---|
| More billable time captured | 15–25% | Target range; compared with each firm's previous recording |
| Less time preparing bills | 50–70% | Target range per billing run |
| Of document access recorded | 100% | By design; enforced in the data layer |
Verified reviews
What clients say about our SaaS development work
Verified reviews from our clients on the same kind of work, published on Clutch.
-
Web Development
Custom Web Development for a Software Solutions Company
We can rely on them to handle almost any task with confidence, as they consistently deliver good results.
Verified review on Clutch (Casper Hougaard Jensen, opens in a new tab)
Casper Hougaard Jensen
CEO & Co-Founder, Iterator IT Jul 2021 – Sep 2022
-
Web Development
Web & Mobile App Development for a Software Development Company
They efficiently organized tasks and deliverables while promptly addressing questions.
Verified review on Clutch (Damien Retzinger, opens in a new tab)
Damien Retzinger
Founder, Graycore Jun 2021 – Feb 2023
-
Web Development
Website Development for a Software Engineering Company
They have a broad understanding of different technologies.
Eugene Bosikov CEO, Ezibeline LLC Mar 2022 – Ongoing Verified review on Clutch (Eugene Bosikov, opens in a new tab)
Free discovery call
Have an idea? Let's turn it into AI-powered software.
Book a free discovery call with our experts. Share your idea and we will help you shape the scope, timeline and budget, under NDA.
- Free consultation
- NDA before we talk
- Transparent estimate




