架空の人物のダミーデータで動かしている公開デモです。 仕組み ISGRAPH の事例ページへ

仕組み

形の違う記録を毎日取り込み、読めるかたちにそろえて、ひとつの画面にまとめる。

このサイトは、架空の人物のダミーデータで動かしている公開デモです。

データの流れ

記録 Apple ヘルスケアの 書き出し(zip) Withings の API 取り込み・整形 Python 日ごと・1夜ごとの 表にそろえる 画面 Observable Framework Observable Plot 9ページ 公開 Cloudflare Pages・Workers 毎日自動で公開 取り込みから公開までを、Linux サーバーが毎日自動で回す

毎日の更新

そろえていること

記録をそのまま並べると、同じ日に値が二重にあったり、単位が違ったりします。画面に出す前に、次のことをしています。

何を どうそろえるか
出どころが2つある体重・体脂肪率 Withings を優先し、無い日だけ Apple ヘルスケアで埋めて1本の系列にする
睡眠 起きた日の記録として数える。昼寝は除き、1夜につき1つの機器の記録だけを使う
割合(体脂肪率・血中酸素など) 0〜1 と 0〜100 が混ざっているので、% にそろえる
明らかな誤計測・完全な重複 取り除く(例:体脂肪率 75%)
書き出した当日 途中までしか記録がないので、日ごとの集計から外す
比べ方 その日の値ではなく 7日移動平均どうしで比べ、日々のぶれに振り回されないようにする

使った技術

役割 使ったもの
取り込み・整形 Python(標準ライブラリ)、Withings API
画面 Observable Framework、Observable Plot、D3
自動更新 Linux サーバー、Docker、systemd、通知(ntfy・メール)
公開 Cloudflare Pages・Workers

このデモのデータ

業務のデータにも

形の違うデータを取り込んでそろえ、毎日自動で更新される画面にする、という組み立ては、売上・在庫・アクセスログ・問い合わせの記録などにもそのまま使えます。

ISGRAPH に相談する