FirmAssist: Streamlit UI and Local Data Categorization
A legal intake prototype that categorizes case documents locally with a Streamlit interface and an on-device classification pipeline.
-60%
Document Triage Time
100%
Data Retained On-Device
3 Weeks
Time to Prototype
Law firms handle large volumes of unstructured case documents during intake. FirmAssist was built as a prototype to reduce manual triage by automatically categorizing documents locally before they ever leave the user's machine.
How does the FirmAssist interface work?
We chose Streamlit for the user interface because it allows rapid iteration and a clean, Python-native experience for legal staff. Users drag in documents, review category predictions, and export structured summaries without needing a backend connection or cloud upload.
How is local data categorization executed?
Document text is extracted and passed through a small transformer model converted to ONNX for local inference. The pipeline uses zero-shot and few-shot classification to map documents to case types, parties, and urgency levels. All vectorization and model execution stay inside the browser-controlled local runtime, not an external API.
What were the key outcomes?
The prototype reduced average triage time by roughly sixty percent while keeping one hundred percent of client data on-device. It also served as a reusable pattern for other document-heavy workflows where privacy and speed are both critical.
What is the technical architecture?
The stack is intentionally lightweight: a Streamlit frontend, a local ONNX runtime, scikit-learn for fallback heuristics, and Hugging Face transformers for embedding and classification. This made the prototype fast to deploy and easy to extend into a production legal tool.