Juriscan

Vue.jsTypeScriptAdonisJSDeepSeekIA

Context

MVP for automated data extraction from legal documents (writs of summons, enforcement orders, official reports) for a firm of judicial officers. OCR plus AI interpretation, structured field extraction, export into the client's internal CRM. One month, solo, as a freelancer, from scoping to delivery.

My approach

The core of it is a two-stage pipeline. First an OCR with layout understanding runs on the PDF, then an LLM reads the resulting markdown and identifies the fields to extract (parties, dates, amounts, addresses) per document type. Everything runs locally on GPU, no cloud APIs: the data is sensitive and the client wouldn't have it any other way. A Rust worker orchestrates multithreading and keeps throughput acceptable on batches of PDFs.

  • Fully self-hosted AI pipeline: DeepSeek-OCR for the read, DeepSeek-Coder-V2 for structuring, llama.cpp + CUDA for inference. Data never leaves the client's server.
  • Rust worker for multithreading and orchestration: parallel OCR, predictable memory. Node would have folded under this kind of volume.
  • Vue 3 + shadcn-vue front: upload, PDF preview on the left, editable extracted data on the right, CSV export to the client CRM.

Stack & technical choices

AdonisJS 6 + PostgreSQL for persistence and the API on the back. Vue 3 + Tailwind + shadcn-vue on the front. The centerpiece is the infrastructure: a Rust worker that calls DeepSeek-OCR then DeepSeek-Coder-V2 (via llama.cpp) on a local GPU, multithreaded, deployed via Docker + NVIDIA Container Toolkit. Everything stays self-hosted: a firm of judicial officers can't exactly send its documents to OpenAI.

Vue.jsTypeScriptAdonisJSDeepSeekIA

Outcome & takeaways

MVP delivered, currently in testing on the client side. On a personal level, this was my first real AI project, and the first one I built mostly paired with an AI coding assistant. A stack I didn't know going in (Rust, llama.cpp, local DeepSeek on CUDA), learned and shipped in one month. It's exactly the kind of case where an assistant speeds you up without degrading quality, as long as you stay in charge of the architecture.

Tell me about your project. I'll be straight with you about whether I can help.

Senior freelance fullstack developer. I help startups and tech teams build the right thing, and build it right.

Based in France, fully remote or on-site depending on the project. Lyon, Grenoble, Annecy, Paris…