About
How GeneTranslate works
GeneTranslate is an educational tool that converts clinical genetic-test PDFs into plain-language summaries you can bring to your genetic counselor. It is local-first, ephemeral by design, and intentionally narrow in scope: explanation, never diagnosis.
The pipeline
1. Extract the PDF
We parse the uploaded PDF in memory using pdfjs-dist. The file never touches disk and is discarded as soon as the request returns.
2. Detect the lab and parse variants
Lab-specific parsers identify Invitae and GeneDx report layouts and pull out gene, HGVS notation, ACMG classification, condition, inheritance, and zygosity. Unknown layouts fall back to manual entry.
3. Enrich with ClinVar
Each variant is looked up against NCBI ClinVar via E-utilities (esearch + esummary) so the LLM has current public evidence to ground its explanation.
4. Local LLM analysis
A model running on your machine through Ollama (default qwen2.5:7b-instruct) writes a plain-language summary, per-variant explanations, and counselor questions. No cloud LLM calls.
5. Safety scan
Before anything reaches the page, the output is scanned for prohibited content: diagnostic claims, treatment recommendations, prognostic statements. Findings in high-risk genes (BRCA1/2, Lynch genes, TP53, etc.) trigger an elevated mode that hides quantitative risk and routes you back to a counselor.
Under the hood
- Frontend
- Next.js 16 (App Router) + React 19 + Tailwind v4
- PDF parsing
- pdfjs-dist running in the Node runtime
- LLM
- Ollama (default qwen2.5:7b-instruct), JSON mode
- Evidence
- NCBI ClinVar via E-utilities (esearch + esummary)
- Storage
- None server-side. sessionStorage on the client.
- Resend, optional. Addresses are not retained.
What GeneTranslate does not do
- ×Provide a diagnosis, prognosis, or medical advice of any kind.
- ×Recommend screening intervals, prophylactic surgery, or any treatment.
- ×Quote quantitative risk percentages for high-risk genes.
- ×Replace a board-certified genetic counselor or physician.
- ×Send your data anywhere — the LLM runs locally on your machine.