Locked in Proprietary Software. We Built a Way Out.
Court recordings were locked in a proprietary format that only two Windows apps could open. Staff spent over an hour on every conversion request. I built a single Flutter app powered by FFmpeg that gets it done in under 15 minutes, on any machine.
& Developer
Ongoing
"We went from a 2-app, 1-hour headache to a single-click solution that saves nearly 45 minutes per request."
Court Staff Feedback
The Problem vs. The Solution
The proprietary format was a dead end for anyone not on Windows. Cutting out both legacy apps and going straight to FFmpeg is what made it possible.
The Double-App Bottleneck
Court staff juggled two Windows-only proprietary tools to extract audio from every proceeding. Every request meant an hour of active work, and clients still had to come back to collect.
One App, One Click
A Python backend using FFmpeg handles decryption, concatenation, and conversion simultaneously. A Flutter frontend gives staff a clean, single-dashboard experience that works on any OS.
60 Minutes Became 15
A 6-hour court day used to cost staff an hour of conversion work on top. Now it costs them a folder selection and a coffee break.
From Fragments to Files
Court audio was stored in dozens of 5-minute encrypted chunks. The old workflow meant handling each one manually. FFmpeg processes the whole folder at once, decrypting and merging everything in a single pass.
A full 6-hour court day, previously stored as 72 individual 5-minute encrypted files, becomes a single consolidated .mp3 that plays on any device.
The Build Process
Research from the AI Transcriber project surfaced FFmpeg as the key to cracking the proprietary format. From there the work split into two tracks: the Python backend to handle the heavy lifting, and the Flutter frontend to make it usable for staff who had never touched a command line.
Understanding the Constraint First.
The existing workflow was documented before a single line was written. Staff walkthroughs showed the bottleneck wasn't speed. It was the 2-app handoff. Wireframes focused on collapsing that into a single screen.
-
✗
Two apps, two configs, two mental models for staff to hold
-
✗
No progress visibility. Staff had no idea how long conversion would take
-
ℹ
UX Principle: reduce cognitive load by exposing only what's needed at each step
Backend Logic, Frontend Simplicity
The bridge between a command-line tool and a product a court clerk would actually use.
Python + FFmpeg
The backend engine. Python orchestrates FFmpeg commands that decrypt, concatenate, and convert the proprietary audio chunks in one pass. No manual intervention.
Flutter
The cross-platform UI layer. Flutter renders identically on Mac and Windows, the two operating systems court staff actually use, with no codebase split required.
Figma
All wireframes and high-fidelity screens were prototyped in Figma and tested with actual court staff before Flutter development began. Design validated the workflow before any code was committed.
Before & After: Side by Side
Every step of both workflows, mapped out. The difference isn't subtle.
Feature Comparison
The same task. Completely different experience.
| Feature | Legacy Workflow | Audio Converter |
|---|---|---|
| Apps Required | ✗ 2 Proprietary Windows Apps | ✓ 1 Custom Flutter App |
| Manual Steps | Multi-step selection across 2 apps | Select folder & click "Convert" |
| Conversion Time | 60+ Minutes | < 20 Minutes |
| Output Format | Fragmented / Proprietary | Single consolidated .mp3 / .wav |
| OS Compatibility | Windows only | Mac, Windows, iOS, Android |
| Client Pickup | Must return for handoff | Same-day, no return trip |
The Impact
Putting the right tool in front of court clerks changed the numbers fast.
Let's build something impactful.
I'm currently open to new opportunities in UX/UI Design, Product Design, and GovTech transformation roles. If you have a legacy nightmare that needs solving, I'd love to chat.