Proventus
Social security case analysis for law firms, in use at two firms.
My role
Architecture, backend and the document pipeline.
- 2
- law firm customers, still using it
- 3 → 1
- repositories merged into one monorepo
Problem
Social security law firms review contribution records and documents by hand, case by case. It's slow and error-prone.
Solution
A Python pipeline with LangGraph and Prefect extracts data from contribution records and documents with Gemini. Retirement rules run in a deterministic engine, GoRules ZenEngine, not in the model. FastAPI backend and Next.js frontend.
Highlights
- The model reads and the rules decide. Eligibility never depends on generated text.
- Merged three repositories (API, app and pipeline) into one Turborepo and pnpm monorepo.
- Real-time events over Redis Streams.
Result
Two law firms bought the system and still use it.