Back to all work

Case study · 2024 — Present

Precision Health Platform

A clinical genomics platform built from an empty repository to production — a million classified variants, ACMG classification, polygenic risk scores, and a physician-configurable AI layer on top.

  • Next.js
  • FastAPI
  • PostgreSQL
  • Genomics
  • ACMG
  • PRS
  • Pharmacogenomics
  • Docker
  • RBAC
  • HIPAA

The problem

The largest system I have built end to end. A patient registers, completes intake, then uploads whatever they have — blood work, a microbiome panel, a raw 23andMe or AncestryDNA export — and the platform keeps analysing it rather than producing one report and stopping.

Underneath is a genomic analysis engine holding close to a million classified genetic variants, and above it a personalised assistant that a physician can configure for their own patients.

What it does

  • Raw genotype files classified against ACMG guidelines, cross-referenced against ClinVar and GWAS Catalog.
  • Polygenic risk scores across a few hundred conditions, alongside drug-gene interaction analysis for pharmacogenomics.
  • Multi-omic integration: genetics, clinical chemistry, microbiome, mitochondrial function, epigenetic age and wearable data in one model of the patient.
  • Parsers for dense lab formats including MITOswab and GI Effects, with output rendered in English or Persian.
  • An ensemble AI layer — several models where that improved reliability, one model where it did not — plus a peptide and pathway analysis layer.
  • Role-based access control and audit logging across admin, doctor, technician and patient roles.
  • Interactive 2D and 3D visualisations mapping findings onto the body, and exportable patient-ready clinical reports.
  • Containerised and cloud-deployed, designed against HIPAA and GDPR from the start.
Health Hub showing the overall health score and eight data sources
Fig. 1 One score built from eight independent data sources — genomics, risk scores, blood labs, microbiome, epigenetics, mitochondria, wearables.
SNP database browser showing 998,204 genetic variants by category
Fig. 2 998,204 classified variants, grouped into the categories the clinical rules query against.
Dashboard with clinical findings and genetic risk distribution
Fig. 3 Clinical findings ranked critical before warning, with the polygenic scores that produced them.
Agent Builder screen for configuring a custom AI advisor
Fig. 4 The Agent Builder — a physician configures a specialised advisor, scoped to the data it is allowed to read.

What was hard

A million variants is a data problem before it is an ML problem

Classification is only as good as the reference set behind it. Most of the work was building and reconciling the variant database — ClinVar and GWAS Catalog disagree, evidence levels change, and a stale classification in a clinical context is worse than no classification.

Language models hallucinate confidently about genetics

The AI layer never invents a finding. It is constrained to interpret data the engine has already classified, which is why the ensemble exists — agreement between models is used as a reliability signal, not as a way to sound more certain.

Continuous analysis, not a one-time report

Every new upload has to re-open conclusions drawn from earlier ones. That reframes the whole system from a report generator into something closer to a longitudinal record with an opinion.

Amir Trs Biomedical AI Engineer

Built with Next.js and Tailwind · 2026-08-26