ITD / I Tuoi Diritti
Legal operations platform
2024 - now · Platform architecture, AI workflows and technical leadership
Domain-specific legal-operations platform for Italian bankruptcy indemnity work — creditor and procedure management, InfoCamere monitoring, AI decree extraction, search and reporting.
Turning Legal Entitlement Into Operational Software
The ITD Platform is a full-stack legal operations system built for I Tuoi Diritti, an Italian company helping creditors, former employees, businesses, professionals and bankruptcy parties pursue Legge Pinto indemnities.
Since 2017, I Tuoi Diritti has worked in a precise but complex legal field: economic indemnities owed when Italian bankruptcy proceedings last beyond the statutory threshold. The public service promise is simple: identify eligible people and companies, support them through the claim process, and monitor ongoing proceedings so compensation applications can be filed at the right time.
The software behind that work is not a generic CRM. ITD Platform is a domain-specific backoffice for bankruptcy procedures, creditors, collaborators, lawyers, invoices, commissions, documents, reports and continuous monitoring. It translates legal operations into structured workflows: fallimenti, creditori, collaboratori, fatture, provvigioni, document timelines and InfoCamere data all live inside one operational system.
The application is built as a Turborepo monorepo with TypeScript across the stack. The admin SPA uses Vue 3.5, Vite, Pug, Pinia, Tailwind CSS 4 and Microsoft Fluent UI v9 components wrapped into Vue through veaury. The API is a NestJS service with Zod validation, Supabase server access, Typesense search, Excel report generation and AI-assisted PDF extraction. PostgreSQL, Supabase Auth, Storage, RLS and Realtime provide the data layer, while Sequin streams Postgres changes into Typesense for fast, scoped search.
A major part of the platform is the monitoring module. The official ITD website explains that companies are often involved in multiple bankruptcies and require continuous monitoring of all open procedures. The platform implements that operational need through InfoCamere AIWS integration: operators can search companies by tax code, VAT number or business name, subscribe them to bankruptcy-related updates, receive weekly changes, download historical company records and surface closure events automatically.
The admin interface is built around dense, long-session legal work. Components such as NuovoMonitoraggioDialog, VerificaInfocamereDialog, MonitoraggioStatoBadge, PDFExtractionDialog, PDFViewerWithHighlights, ExportCreditoriDialog, DetailsDrawer and shared selector components support daily operator workflows without hiding the domain language. Search is handled through Typesense collections for creditors, companies, bankruptcies, invoices, collaborators and monitored companies, with scoped keys generated per user role.
The backend adds automation where manual legal administration is slowest. The AI module extracts structured data from Legge Pinto decree PDFs: claimants, lawyers, indemnity amounts, failed companies, court metadata and confidence scores. The reports module exports Excel files for commissions, invoices, mandates, billing statistics and creditor integrations. The notification system combines database-backed in-app notifications, Supabase Realtime broadcast topics and React Email templates sent through Resend.
Deployment is self-hosted: Docker Compose runs Supabase, Postgres, PostgREST, GoTrue, Realtime, Storage, Kong, Typesense, Sequin CDC and Traefik, alongside the production admin and api containers. The result is a legal operations platform designed around traceability, performance and Italian bankruptcy terminology rather than generic SaaS abstractions.
In practical terms, ITD Platform turns a legally complex service into an operational machine: it helps teams identify eligible cases, organize creditor and bankruptcy data, monitor procedural changes, generate reports, automate document reading and coordinate the professionals working across Italy’s Courts of Appeal and Tribunals.
AI-Assisted Decree Reading
One of the most distinctive parts of the platform is the AI workflow built to read Legge Pinto decrees. These PDFs are not standardized forms: every court writes differently, layouts change, OCR quality varies, the relevant decision is often buried near the end of the document, and the same legal concept may appear through different formulas. A decree may contain multiple claimants, historical company names, rejected claims, lawyer fees, procedural expenses, closing dates and indemnity amounts that must not be confused with bankruptcy-credit amounts.
To handle that variability, the platform uses a fine-tuned extraction workflow rather than a simple text parser. The backend downloads the decree from Supabase Storage, converts the PDF into text with unpdf, then sends it to an OpenAI-powered extraction agent through the Vercel AI SDK. The agent is constrained by a strict Zod schema and a legal rulebook: it must identify creditors, lawyers, the failed company, court metadata, decree number, decree date, indemnity amounts, legal fees, aliases, former company names and possible bankruptcy closure dates.
The extraction is not treated as blindly correct. Every field comes back with a confidence score from 1 to 3, rendered in the UI as a traffic-light quality system: red for data that must be checked against the PDF, orange for uncertain extraction, green for high-confidence fields. Operators review the AI output side by side with the original PDF, and each extracted field can trigger a visual highlight inside the document.
The second layer is record matching. Extracted creditors are compared against the existing database using fiscal codes, VAT numbers, normalized company names, historical aliases and fuzzy Levenshtein similarity. Matches are classified as exact VAT match, exact name match, alias match or fuzzy match, with a visible score. When the system cannot safely resolve the association, the operator manually links the extracted party to an existing creditor record.
Only after review does the platform persist changes. Confirmed data can update indemnity amounts, decree references, company VAT/tax codes when missing and valid, and bankruptcy closure status when the decree supports it. Invalid fiscal identifiers are dropped after checksum validation, and low-confidence data stays under human supervision. The result is a hybrid legal-AI workflow: automation accelerates document reading, but database enrichment remains traceable, reviewable and controlled.
The screenshots shown are anonymized: real creditor and company names, fiscal codes, VAT numbers and amounts have been replaced with fictitious data.
Gallery







