← Back to Work
AI & Documents · MVP · Functional Prototype

Medical Report Analyzer

A dual-platform (React web + Android) tool that extracts lab biomarkers with an AI-plus-offline pipeline, tracks trends, and generates non-diagnostic doctor-discussion guides.

Status MVP · Functional Prototype
Type Technical Build
Domain HealthTech / Healthcare Informatics
Attribution FTM Engineering Team

Overview

The app ingests PDFs and images, extracts structured biomarkers via a multimodal model with a deterministic offline fallback, classifies values with a tolerance buffer, indexes them into a longitudinal history, and generates non-diagnostic talking points — with medical disclaimers throughout.

Problem & Context

Lab reports are dense, abbreviated, and lab-specific. Patients misread borderline values and doctors have little time to review baseline trends across scattered documents.

Key Capabilities

  • Multi-format ingestion (PDF, image, camera)
  • Hybrid analysis: cloud multimodal extraction with an offline heuristic fallback
  • Tolerance-based status classification (normal / attention / abnormal)
  • Automatic longitudinal biomarker trend tracking
  • Doctor-discussion guide generation
  • Parallel React web and Android (Jetpack Compose) implementations

Engineering Notes

01

Dual-tier analysis pipeline

A cloud multimodal model handles real documents while a deterministic rule engine guarantees a working offline/no-key path — the app never hard-fails.

02

Tolerance-based classification

A 15% range buffer separates normal, attention, and abnormal, avoiding false alarms on borderline values.

03

Automatic longitudinal indexing

Saving a report decomposes each biomarker into a time-series history, turning isolated documents into a trend record.

04

Schema-enforced LLM output

Structured JSON schema enforcement keeps model output deterministic for the UI.

Verified in the Repository

Facts below are verified in the project's source repository (static code audit). They are not runtime or business metrics.

  • Two complete implementations: React 19 web and native Android (Kotlin/Jetpack Compose)
  • Android persistence via Room SQLite with foreign keys and cascade delete
  • Offline heuristic parser implemented on both platforms

Current Status & Limitations

MVP · Functional Prototype.

  • No cloud authentication or sync — profiles are stored locally.
  • Web persistence is in-memory and resets on server restart.
  • One Android screenshot test references legacy boilerplate and fails.

Tech Stack

React 19TypeScriptGoogle GeminiKotlinJetpack ComposeRoom SQLiteExpress

Links & Availability

Want something like Medical Report Analyzer built for your business?

Let's talk through the architecture, scope, and rollout for your system.

Start a Project →