MyVitals
Health guides

The MyVitals blog

Plain-language guides to reading your lab reports and tracking your health over time.

Vitamin D Test Results Explained: Deficient, Insufficient or Sufficient?
Understanding lab reports

Vitamin D Test Results Explained: Deficient, Insufficient or Sufficient?

Vitamin D deficiency is extremely common, especially in India despite abundant sunlight. Here's how to read the 25-OH vitamin D test and what the categories mean.

8 September 20261 min read

What Is HbA1c? The Blood Sugar Test That Looks Back 3 Months
Understanding lab reports

What Is HbA1c? The Blood Sugar Test That Looks Back 3 Months

Unlike a fasting glucose test, HbA1c reflects your average blood sugar over roughly three months. Here's how it works and why doctors rely on it.

7 September 20261 min read

Kidney Function Test: Creatinine, Urea and eGFR Explained in Plain Language
Understanding lab reports

Kidney Function Test: Creatinine, Urea and eGFR Explained in Plain Language

Creatinine, blood urea and eGFR each measure kidney function differently. Here's how they relate, and why eGFR is often the more useful number.

6 September 20261 min read

Liver Function Test (LFT) Decoded: SGOT, SGPT, Bilirubin and What They Actually Measure
Understanding lab reports

Liver Function Test (LFT) Decoded: SGOT, SGPT, Bilirubin and What They Actually Measure

SGOT, SGPT, ALP, bilirubin — a liver function test bundles several different measurements together. Here's what each one actually tells you about liver health.

5 September 20261 min read

CBC Explained: What Every Line on Your Complete Blood Count Report Means
Understanding lab reports

CBC Explained: What Every Line on Your Complete Blood Count Report Means

Hemoglobin, WBC, platelets, MCV — a complete blood count is one of the most commonly ordered tests and one of the least explained. Here's what each line means.

4 September 20261 min read

I Shipped an App Store App That Updates Itself, Because There's Nothing in It to Update
Engineering

I Shipped an App Store App That Updates Itself, Because There's Nothing in It to Update

How MyVitals reaches the Play Store with almost no native UI — a thin WebView shell pointed at a live URL — and the pile of small native tricks it takes to make a website stop feeling like one.

3 September 20263 min read

The Month My AI Pipeline Failed 100% of the Time and Every Log Said "Success"
Engineering

The Month My AI Pipeline Failed 100% of the Time and Every Log Said "Success"

A real postmortem on a silently degrading LLM pipeline stage, the retry budget that has to match your reverse proxy's timeout, and why "the upload succeeded" turned out to mean nothing.

3 September 20263 min read

Building "Login As Mom" Without Building a Permissions System
Engineering

Building "Login As Mom" Without Building a Permissions System

How MyVitals lets one family member act as another with full read/write access, why the permission check is never cached, and the req.userId vs req.effectiveUserId footgun.

3 September 20262 min read

Two Caches, One WebView, and a Deep Distrust of navigator.onLine
Engineering

Two Caches, One WebView, and a Deep Distrust of navigator.onLine

Why MyVitals runs a Workbox service worker AND a hand-rolled IndexedDB cache for the same data, why navigator.onLine lies, and the profile-scoping bug that comes with multi-tenant offline caching. ---

3 September 20262 min read

Teaching a Dictionary to Learn Instead of Hand-Curating It Forever
Engineering

Teaching a Dictionary to Learn Instead of Hand-Curating It Forever

How MyVitals reconciles "FBS," "Fasting Blood Sugar," and "Glucose (Fasting)" into one canonical metric with a four-tier matching pipeline, and the duplicate-metric bug that taught me why "exact-only" matters.

3 September 20263 min read

I Wired 4 LLM Providers Into One Interface So I'd Never Have to Beg a Single Vendor for Mercy
Engineering

I Wired 4 LLM Providers Into One Interface So I'd Never Have to Beg a Single Vendor for Mercy

How MyVitals swaps Gemini, OpenAI, Anthropic, and Mistral behind one interface, why extraction and chat run on different providers, and the 400 Invalid Model bug that taught me to stop trusting env vars.

3 September 20262 min read

normal-range-vs-optimal-range-blood-test
Understanding lab reports

Normal Range vs. Optimal Range: Why Your 'Normal' Blood Test Might Still Be a Warning Sign

A result inside the 'normal' range isn't automatically a good result. Here's the difference between statistically normal and clinically optimal, and why it matters.

3 September 20261 min read