CLE Compliance Platform
Legal · Bar Association
The Continuing Legal Education department ran attorney CLE compliance on a 15-year-old Microsoft Access application. We replatformed it into a secure, cloud-hosted web platform on Azure — with attorney self-service, a staff back-office, and a public sponsor portal.
The Challenge
For over 15 years, the State Bar Association's Continuing Legal Education department tracked CLE compliance for the entire Bar Association in a Microsoft Access 2010 application — a split database whose forms, queries, reports, and VBA lived in a shared .mdb file linked to SQL Server over ODBC.
It worked, but it had hit the ceiling every long-lived Access app eventually does: it lived on the office network with no real remote access, concurrent use ran into Access's file-locking limits, compliance logic was buried across macros and 160+ saved queries, credit-card payments were imported and reconciled by hand, and attorneys had no way to see or manage their own CLE status.
Our Approach
Rather than a risky big-bang rewrite, we used a strangler-fig migration: we stood up modern cloud services alongside the existing data, moved the legacy Access tables into a normalized, foreign-key-constrained SQL schema, and ran the old and new compliance regimes side by side through the transition.
On top of that we built three role-separated Angular single-page apps over ASP.NET Core 8 APIs on Azure: attorney self-service for checking and meeting CLE requirements; a staff back-office for courses, sponsors, exemptions, non-compliance, and reporting; and a public sponsor portal. Server-side reporting replaced the Access report catalog, and authoritative member data flows in from the Bar's IMIS system on a schedule.
Outcomes
CLE compliance now runs as a secure, cloud-hosted platform instead of a single-office Access file:
- Attorneys can check and manage their own CLE status online — self-service that didn't exist before.
- Staff work in a true multi-user web back-office, free of Access's file-locking limits and reachable from anywhere.
- The flat Access tables became a normalized relational schema with data integrity the old model never enforced.
- Compliance calculation, attestation, exemptions, and non-compliance live in tested application code rather than buried macros and queries.
- Reporting and document generation run server-side as PDF web endpoints.