Personal Health / Data Viz

健康工作台

A personal health workbench built on years of real dual-person exam data. The Body Map view reorganizes scattered lab, imaging, and symptom notes into a human-body perspective. It continues the earlier healthmeanagment exploration in privacy-first report parsing, folding years of data into one sustainable personal health OS.

Role
Owner / Product Engineer:从真实个人健康工作流出发,覆盖信息架构、前端、数据建模与隐私设计。
Time
Ongoing · 2026-07-31
Platforms
Desktop Web / Mobile Web

Turn years of real exam data into "what to care about today"

01 / Background

Why this exists: data scatters, decisions come too late

  • Exam data is naturally fragmented: a different institution and format every year, reports sitting in PDFs and photo albums; by the time you need a real decision, the continuous picture is already lost.
  • The real problem is not "no chart" but "no action" — you hold a decade of data yet cannot answer "what to watch this year" or "which item is quietly worsening".
  • Two people's data stacked together is messier: the same metrics drift independently, and comparing by hand is slow and misses cross-signals.
健康工作台 current product surface
Current product surface

The current public 健康工作台 surface.

01

02 / Vision

The ideal: turn years of real data into "what to care about today"

  • I want a personal health OS: the first screen is not a metric list but "me" — what is stable, what is at the boundary, what was not checked this year.
  • The long-term plan turns scattered points into a continuous narrative: year-by-year drill-down, traceable anomalies, generatable follow-ups, toggleable privacy. It serves the everyday self, not a single visit.
  • It must be local-first and private; when shown to others, it can be anonymized in one click without losing the product judgment itself.
01Body Map default view
02Real dual-person exam data
03Six views + qual/quant track
04Hand-written SVG, zero chart libs
05real / masked privacy modes
06healthmeanagment evolution
Project record

The project’s current priorities and delivered decisions.

02

03 / Evolution

Evolution: from healthmeanagment to health-workbench

  • The earlier healthmeanagment was a "privacy-first report parsing" exploration: it parsed a single high-privacy report into traceable insight and linked a long-term record chain, validating the "upload-parse-analyze-track" product feasibility.
  • But it stopped at "one report" and never folded years of data into a people-centered main view. health-workbench is its mature form — no longer parsing singles, but folding years of data into the Body Map so that integration itself becomes the product.
  • They are not a replacement but two convergences of the same idea: first validate parsing and privacy boundaries, then elevate it into a sustainable personal health OS.
01Collect
02Map
03Prioritize
04Drill
05Review
Product flow

The core path from input to outcome.

03

04 / Process

Process & thinking: from "metric list" to "body part"

  • The first version was organized by department and metric; finishing it felt not intuitive enough — it echoed the hospital's taxonomy, not the user's view. The key turn was swapping the axis from "metric dimension" to "body part".
  • Narrative does not call an LLM: 6 rules (labs all green but imaging at risk / in-range yet fastest-moving / recurring for years / data gap / already recovered / two people diverge) generate "looks healthy but…" cues, each tagged with its data source.
  • Body map, trends, and sparklines are all hand-written SVG with zero chart-library dependency; privacy is anonymized at the view-model layer while the raw dataset keeps true values. Apple-style spring motion; attention organs breathe and respect reduced-motion.
04

05 / Positioning

Positioning: personal decision aid, not a clinical tool

  • It explicitly states "personal gauge only, not clinical": the health score is a rule (in-range ratio minus follow-up penalty) to help prioritize for yourself, not to replace a doctor's judgment.
  • Local-first and private; real / masked dual modes let the same product serve both self-use and anonymized showcase. Six views cover overview, velocity, trend matrix, two-person compare, qual/quant, and follow-up.
  • The two-person compare is just one of the views — useful, but a sub-capability under the "integrated view", not the product's main axis.
05

06 / Efficiency

Efficiency: compress "flipping N PDFs" into one screen

  • An annual review used to mean flipping through every year's reports, comparing by hand, then listing re-checks yourself; now you open to prioritized organs and drill into yearly values and annualized change in one tap.
  • The follow-up view turns out-of-range / borderline items directly into a next-check list, removing manual整理. Privacy toggle makes "showing others" no longer a re-screenshot redaction chore.
  • What it saves is not seconds but the review you "would never have done" — letting long-term health records truly enter daily life.
06

Experience in depth

Pain points, user stories, and interaction design

Not a tech stack section. This is about the situation people are in, where they get stuck, and what I did about it.

My pain points

Every project here starts from somewhere I personally got stuck.

  1. P01

    A new clinic and a new format every year leaves reports sitting in PDFs and photo albums, so ten years of data never form a continuous picture.

  2. P02

    Having charts is not the same as being able to act — with a decade of data I still could not answer "what matters most this year".

  3. P03

    Two people's data stacked together is worse: the same metric drifts differently for each, and manual comparison misses cross signals.

  4. P04

    The first version was organised by department and metric. It restated the hospital's taxonomy and never answered the user's point of view.

  5. P05

    Showing the product judgment to anyone else would have meant exposing real health data.

User stories

Written as "as … I want … so that …", each mapped to a verifiable product action.

  • US01

    As someone doing an annual review, I want the first screen to show me as a person — stable here, borderline there, untested this year — so I can prioritise immediately.

  • US02

    As someone tracking long-term change, I want to drill from any body region into yearly values and annualised change, so quiet deterioration becomes visible.

  • US03

    As someone fooled by all-green reports, I want the system to flag "looks healthy, but…" exceptions, so cross signals are not missed.

  • US04

    As someone scheduling checkups, I want out-of-range and borderline items to become a follow-up list automatically, so no manual compilation is needed.

  • US05

    As someone presenting this publicly, I want a one-click masked mode that keeps the product judgment intact, so privacy and presentation stop conflicting.

Experience journey

In real usage order: what they are doing, where it hurts, how the product responds.

StageWhat they are doingFrictionProduct response
01Collect
Feeding in years of reports, subjective symptoms, and historical imaging.
Formats and conventions change annually, so scattered data cannot be compared directly.
ETL runs parse → metric extraction → reference-range alignment → year stacking, turning scatter into computable structure.
02Map
Opening the first screen expecting to see a person, not a metric list.
Organising by department and metric simply restates the hospital taxonomy.
The primary axis moved from metrics to body regions; organ-map attaches metrics to regions and the Body Map becomes the first screen.
03Prioritise
Asking what deserves attention this year.
All-green labs can hide imaging risk, and in-range metrics can still be moving fastest.
Six explicit rules generate "looks healthy, but…" prompts without an LLM, each annotated with its data source.
04Drill
Doubting one region and wanting the yearly numbers.
This previously meant opening every year's PDF and comparing by hand.
Tapping a region drills into yearly values, annualised change, and the trend matrix on the same screen.
05Review
Turning the review into a next action.
Compiling follow-up items manually is exactly the work that never gets done.
The follow-up view converts out-of-range and borderline items directly into the next checkup list.

Interaction details

The micro-decisions that make it feel fluid or clumsy.

Clickable body regions
The full-body view uses state semantics for stable, borderline, and untested-this-year, and each region opens a detail panel.
Breathing cue on attention regions
Regions needing attention pulse slowly on an Apple spring curve, and the motion respects reduced-motion.
Every prompt is traceable
Each "looks healthy, but…" line is annotated with its source and can be traced back to a specific year and metric.
One-click real / masked
Masking happens in the view-model layer rather than as visual redaction, so the product judgment survives the switch.
Six views, one view-model
Overview, rate of change, trend matrix, two-person comparison, subjective/objective tracks, and follow-up share one model without reloading.

Design details

Tradeoffs in the visual system, state language, and pacing.

Hand-written SVG, no chart library
Body map, trend lines, and sparklines are hand-written SVG so the visual language is not pulled back to a generic template.
Rules, not an LLM, generate narrative
Six explicit rules are explainable and reproducible, which suits a high-trust domain far better than uncontrolled generation.
A stated non-clinical boundary
The health index comes from in-range share minus follow-up penalties and is labelled as a personal, non-clinical scale.
A seven-layer contract
routes → data → view-model → primitives → feature → theme → verification, so any change maps to exactly one layer.
Data separated from presentation
Feature components only compose and never hold business rules; privacy is handled once, in the view-model.