How we helped a healthcare startup increase patient onboarding by 180%arrow_right_alt
Explore by capability.

In-house AI, running on your machines not ours.

Explore ready-to-run AI solutions that work securely in your environment.

Start Exploring

shield Everything runs in your browser — nothing you type, record, or upload is sent to Tathastha Labs or any server. Not a medical device: for demonstration only, not clinical or diagnostic use.

TRY MORE DEMOS

Explore by capability.

View All arrow_forward
Clinical NER demo preview

Clinical NER

Extract patient, clinician, and facility names from raw clinical text using a named-entity model.

Explore Solutions arrow_forward
Image Classification demo preview

Image Classification

Classify any photo in-browser — upload, preprocess, inference, ranked output.

Explore Solutions arrow_forward
Disease Detection demo preview

Disease Detection

Recognize disease and condition mentions in clinical notes with a biomedical NER model.

Explore Solutions arrow_forward
Speech to SOAP Note demo preview

Speech to SOAP Note

Record a visit and get a structured note — transcription, then drafting, all on-device.

Explore Solutions arrow_forward
Invoice Processing demo preview

Invoice Processing

Photograph a receipt and extract vendor, date, and totals via OCR and a small instruct model.

Explore Solutions arrow_forward
Retrieval-Augmented Q&A demo preview

Retrieval-Augmented Q&A

Upload a document and ask it questions — retrieve, then generate, entirely on-device.

Explore Solutions arrow_forward
Controlled Chunk Overlap demo preview

Controlled Chunk Overlap

The same retrieval pattern, with chunk overlap you control so split facts aren't missed.

Explore Solutions arrow_forward
RAG with Reranking demo preview

RAG with Reranking

Cast a wider net, then re-score candidates with a cross-encoder for a stronger final answer.

Explore Solutions arrow_forward
Claims Normalization demo preview

Claims Normalization

Vote across claim lines and classify fields valid/invalid/null — real logic from an open-source healthcare-data library.

Explore Solutions arrow_forward
Patient Record Matching demo preview

Patient Record Matching

Probabilistic record linkage with real trained weights — the same math behind patient-matching engines.

Explore Solutions arrow_forward
Risk Score Calculator demo preview

Risk Score Calculator

Real CMS-HCC demographic and hierarchy logic, with your own coefficients — no invented numbers.

Explore Solutions arrow_forward
Encounter Grouping demo preview

Encounter Grouping

Group claims from a flat file and a FHIR feed into one real-world encounter using real chaining rules.

Explore Solutions arrow_forward
PPE Compliance Detection demo preview

PPE Compliance Detection

Detect coveralls, face shields, gloves, goggles, and masks in a photo with a real fine-tuned object-detection model.

Explore Solutions arrow_forward
Hard-Hat Detection + Worker ID demo preview

Hard-Hat Detection + Worker ID

Enroll a worker's face, then check a site photo — a violation gets tied to a specific identified person, not just a box.

Explore Solutions arrow_forward
Restricted-Zone Intrusion Detection demo preview

Restricted-Zone Intrusion Detection

Draw a hazard zone on any photo and flag every detected person whose position overlaps it.

Explore Solutions arrow_forward
Live Hair Color Try-On demo preview

Live Hair Color Try-On

Real-time hair segmentation and face tracking on your live camera, recoloring hair while preserving its natural highlights and shadows.

Explore Solutions arrow_forward
A clinical named-entity recognition interface highlighting disease and condition mentions in a note
01 · Clinical NER

Extract clinical entities from a note.

A named-entity model finds people, organizations, and locations in raw clinical text — patient and clinician names, facility names — the same category of model that underlies de-identification and structured-extraction pipelines.

~45 MB first run only

A professional workspace with a desktop scanner and monitor used for computer-vision pipelines
02 · Image classification

Classify any image, in-browser.

~90 MB first run only

A clean clinical data visualization highlighting disease and condition entities
03 · Disease detection

Find disease mentions in a note.

An open-source biomedical NER model, fine-tuned specifically to recognize disease and condition mentions in clinical text — the kind of model that feeds structured problem lists and registries.

~65 MB first run only

A minimalist speech-to-text medical interface with a live waveform
04 · Speech to SOAP note

Record a visit. Get a structured note.

Speech is transcribed first, then a small instruct model drafts a structured clinical summary from the transcript — the same two-stage pattern behind our ambient scribe work, running entirely on-device here. Both models are small for browser-friendly size, so treat the formatting as a rough draft, not a polished SOAP note — production engagements use larger, evaluated models for that.

~340 MB first run only

or
Transcript (editable)
A professional document-processing scene with receipts and invoices being scanned
05 · Invoice & receipt processing

Photograph a receipt. Get structured fields.

Text detection finds and reads every line on the page, in the language you choose, then a small instruct model turns the raw text into structured fields — vendor, date, totals. The same detect-then-structure pattern behind document-processing pipelines, running entirely on-device here.

~20 MB first run per language, plus the drafting model used above

A clean data visualization of retrieval-augmented generation, matching passages to a question
06 · Retrieval-augmented Q&A

Upload a document. Ask it questions.

Text is split into passages and embedded, then a question is matched against the most relevant passages and answered from them alone — the same retrieve-then-generate pattern (naive RAG) behind most document Q&A systems, indexed and queried entirely on-device.

Plain text only, 1 MB max. ~25 MB first run for the embedding model, plus the drafting model used above. Larger documents take longer to index.

A clean data visualization of retrieval-augmented generation, matching passages to a question
07 · Advanced RAG

Same idea, with chunk overlap you control.

Passages are cut with a fixed size but the overlap between consecutive passages is yours to set. More overlap means a fact split across a chunk boundary is less likely to be missed, at the cost of indexing more redundant text. Re-indexing here updates the document used by this and the reranking playground below.

Reuses the embedding and drafting models already loaded above.

200 characters
A clean data visualization of retrieval-augmented generation, matching passages to a question
08 · RAG with reranking

Cast a wider net, then re-score it.

Instead of trusting embedding similarity alone, this pulls a wider pool of candidate passages, then a cross-encoder reranker scores each one against the question directly — a slower but more accurate second pass. The top three reranked passages each generate their own answer, so you can compare which passage actually answered the question best.

Uses whichever document you indexed in Naive or Advanced RAG above. ~15 MB first run for the reranker.

A sophisticated, clean data-engineering pipeline visualization
09 · Claims data normalization

Line-level claims. One claim-level answer.

A claim can arrive with several lines, and a field like admission type is sometimes coded inconsistently across them. This "votes" across a claim's lines — the most-frequent value wins — to pick one claim-level answer, then classifies each line-level field into valid / invalid / null, exactly the three-bucket split a real data-quality pipeline uses.

The voting logic, the valid/invalid/null classification, and the UB-04 admission type codes below are copied from an actual open-source healthcare-data dbt project's normalization and data-quality models — including a real quirk: its paid-amount check only has valid/null buckets, so a negative amount still counts as "valid" there. The NPI/ICD-10 reference lists here are a small illustrative sample, not the full real terminology tables. Runs entirely in JavaScript — no model download.

Column headers just need to resemble the sample below (e.g. "ClaimID" or "Claim Number" both work) — exact wording isn't required.

A probabilistic record-linkage visualization: two digital patient records being compared
10 · Patient record matching

Probabilistic record linkage, the Fellegi-Sunter way.

A pair of records only gets compared if they share a blocking key (exact match on name+DOB, or on SSN alone). Each shared field then contributes a Bayes factor — how much more likely a true match is to agree this way than two random people are — multiplied against a prior to get a match probability. Pairs scoring ≥ 0.70 auto-link, 0.50–0.70 go to a review queue, below that they're dismissed.

Uses the real blocking rules and trained comparison weights (m/u probabilities) from an actual open-source Splink-based record-linkage model, not invented weights — including its real limitation: first/last name similarity is plain string similarity, with no nickname dictionary. Runs entirely in JavaScript — no model download.

A translucent panel showing a healthcare risk-scoring model with condition-level contributions and an overall risk score
11 · Risk score calculator

Real classification logic. Your own coefficients.

CMS-HCC risk adjustment sorts each patient into a demographic segment (community non-dual aged, institutional, new enrollee, etc. — CMS's actual category codes), then sums a demographic factor with disease-category factors. A condition's more-severe HCC excludes its milder version via an explicit exclusion list — not "pick the bigger number" — so it isn't double-counted.

The demographic-segment logic and the exclusion-list hierarchy mechanism below are copied from an actual open-source healthcare-data dbt project's CMS-HCC model. Its own coefficient seed tables ship empty in that project too — CMS's official rate-table numbers aren't redistributable — so the numbers below are clearly-marked placeholders for you to replace with official CMS Rate Announcement values, exactly as that project requires. Runs entirely in JavaScript — no model download.

Patients

Headers just need to resemble the sample below — exact wording isn't required.

Demographic factor seed (PLACEHOLDER — not real CMS values)

Headers just need to resemble the sample below — exact wording isn't required.

Disease/hierarchy seed (PLACEHOLDER — not real CMS values)

Headers just need to resemble the sample below — exact wording isn't required.

Abstract visualization of interconnected data nodes, representing linked records across sources
12 · Encounter grouping across sources

Two claims, two sources, one visit.

A single ED visit often produces two separate claims — an institutional (facility) claim and a professional (physician) claim — and today those might arrive as a claims flat file from one system and a FHIR feed from another. This runs claims from both source shapes through the same chaining rules for deciding which claims belong to one emergency-department encounter: an exact same-day/same-facility match, a next-day transfer, a general date overlap at the same facility, or — since professional claims don't carry facility or discharge fields — a looser overlap-or-adjacent-day rule when either claim is professional.

The four chaining rules are copied from an actual open-source healthcare-data dbt project's real emergency-department encounter-grouping model, applied here with a union-find over the same pairwise conditions instead of that model's original row-closure SQL — same rules, same resulting groups. The FHIR shape uses the standard public FHIR Encounter resource fields, not that project's own FHIR-ingestion connector code (which lives in separate repositories this build didn't have access to). Worth flagging directly: that project's real connectors cover claims flat files, FHIR feeds, EHR database extracts, and ADT feeds — no CCDA support was found anywhere in its actual code, so it's left out here rather than invented. Runs entirely in JavaScript — no model download.

Claims file (Source A)

Headers just need to resemble the sample below — exact wording isn't required.

FHIR Encounter feed (Source B)
A clean clinical data visualization used to illustrate PPE compliance detection
13 · PPE compliance detection

Find missing protective equipment — in a photo, or live.

A real object-detection model — DETR, fine-tuned on the CPPE-5 dataset — finds coveralls, face shields, gloves, goggles, and masks and draws a box around each. Use a photo, or turn on your camera for continuous analysis of a live feed — the same shape of pipeline behind real video-analytics safety monitoring, running periodically rather than a single one-off check.

Fine-tuned checkpoint and dataset are both openly published (see /models/README.md). ~43 MB first run only, self-hosted from this site — no third-party model host is queried.

or
A translucent panel used to illustrate a worker safety monitoring model
14 · Hard-hat detection + worker ID

Not just "someone" — flag exactly who.

A YOLOv8 model trained specifically for hard-hat compliance runs alongside a face-recognition model, so a violation isn't just a red box on a screen — it's tied to a specific person. Enroll a worker below with a photo and a name, then check a second photo — or a live camera feed, continuously re-identifying and re-checking every couple of seconds — to see them matched against their PPE status.

Enrollment and matching both run entirely on-device — nothing about the photo, the name, or the computed face signature is ever sent anywhere. Use your own photo rather than a stranger's: this step only makes sense with a face whose use you actually control. ~12 MB hard-hat model self-hosted here, plus ~14 MB of face-recognition weights loaded from their publisher's CDN, first run only.

Step 1 — Enroll a worker
Step 2 — Check a site photo or live feed
or
A sleek dashboard showing real-time predictive-monitoring signals
15 · Restricted-zone intrusion detection

Draw a zone. Flag who steps into it — live.

Draw a rectangle over any hazardous area — a loading dock, a forklift lane, equipment with a live exclusion radius — on a photo or directly over your live camera feed, and a general-purpose object detector flags every person whose position overlaps it, continuously. This is the same underlying pattern (person detection plus a geofenced rule) behind proximity and restricted-access video analytics on a real production floor, in any industry.

~40 MB first run only.

or

Drag on the image or live feed below to draw a restricted zone.

A workspace with a scanner and monitor used to illustrate live computer-vision rendering
16 · Live hair color try-on

Recolor hair on a live camera, in real time.

Google's MediaPipe hair-segmentation model finds the hair region on every video frame; a luminance-preserving color blend recolors it while keeping natural highlights and shadows intact — the same core mechanic behind commercial AR beauty SDKs (ModiFace, Banuba, DeepAR), running entirely in your browser. An optional face-mesh overlay (478 points, also MediaPipe) shows the head-tracking layer that a full 3D try-on would anchor styling to.

Worth being direct about scope: this proves the core segmentation → recolor → render pipeline, not a production SDK. It doesn't do strand-level alpha matting, 3D hairstyle overlays, or the native 60fps mobile performance a real product would need — see the case study write-up for that gap. Hair-segmentation model ~1 MB; face-mesh model (loaded only if you enable it) ~4 MB. Both loaded from Google's model CDN, first run only — nothing about your camera feed is ever sent anywhere.

Color:
FINANCIAL SERVICES

Intelligent document processing for faster underwriting.

View case study arrow_forward
40%Faster diagnosis
95%+Model accuracy
ImprovedPatient outcomes
MANUFACTURING

Predictive maintenance for uninterrupted operations.

View case study arrow_forward
50%Reduction in downtime
30%Lower maintenance cost
HigherAsset lifespan
READY TO BUILD WHAT'S NEXT?

Not sure where to start? Start with the problem.

Tell us what you're trying to achieve. We'll help you explore the right approach from idea to impact.

View All arrow_forward
Contact us

Have a problem worth getting right?

Send us the paragraph you'd normally write to a colleague. We'll get back to you within 24 hours.

mailhello@tathastha.com