Med-Tracker — 日々の健康トラッカー

Mobile

概要

Med-Tracker は、HackUMass 2018 のハッカソンで短期間に開発された、毎日の健康行動を記録・可視化するプロトタイプです。ユーザーの生活習慣データを収集して機械学習モデルで分析し、「その人にとって良い日課」を予測することを目指します。アプリ起動時や週次で入力を促す通知機能があり、一定回数入力がたまると週次グラフとサマリーを表示します。実装は主に Jupyter Notebook を用いた分析中心で、簡易なアプリ側ディレクトリも含まれています。

GitHub

リポジトリの統計情報

  • スター数: 4
  • フォーク数: 1
  • ウォッチャー数: 4
  • コミット数: 26
  • ファイル数: 11
  • メインの言語: Jupyter Notebook

主な特徴

  • 日次入力を促す通知と、週次でのグラフおよびサマリー生成
  • ユーザーのルーティンを収集し、機械学習で「良い習慣」を予測する理念
  • 短期間(24時間)で作られたプロトタイプ的実装と分析ノートブック
  • 分析(analysis)とアプリ(app)フォルダに分かれた構成

技術的なポイント

リポジトリは分析志向のプロトタイプで、主要なコードや実験は Jupyter Notebook にまとめられている点が特徴です。analysis ディレクトリにはデータの前処理やモデル学習・評価に関するノートブックが置かれている想定で、pandas や scikit-learn といった一般的な Python データサイエンスライブラリを使っている可能性が高いです。app ディレクトリはフロントエンドや簡易な通知ロジック、データ入力用のUIプロトタイプを含むと推測されますが、本格的なモバイルアプリというよりは概念実証(PoC)に近い構成です。

通知は「アプリ起動時」と「週次」のタイミングでユーザーに入力を促す仕様で、ユーザーが6回入力すると週次サマリーを生成するという閾値が README に明示されています。機械学習モデルについては詳細なアルゴリズムは README に記載されていませんが、「ユーザー毎の最適習慣を予測する」という目的から、個人別に特徴量を作成してラベル(良い/悪い習慣や推奨度)を付与する教師あり学習、あるいはクラスタリングによるパーソナライズが想定されます。

実装面の注意点として、ハッカソン時間で作られたためコードやデータの永続化・プライバシー保護、モデルの汎化性能は今後の改良対象です。プロダクト化するにはセキュリティ(個人データ保護)、継続的なデータ収集、モデル更新のパイプライン、モバイル通知の信頼性向上などの追加実装が必要となります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • .idea: dir
  • README.md: file
  • analysis: dir
  • app: dir

…他 6 ファイル

使いどころと改善案

  • 使いどころ:個人の生活習慣を可視化して行動変容を促すツールのプロトタイプとして、UX テストや機械学習の仮説検証に適しています。研究プロトタイプやハッカソン成果物のデモとして有用です。
  • 改善案:
    • データスキーマとサンプルデータを追加して再現性を確保する
    • ノートブック内の前処理/モデル訓練をスクリプト化し CI/CD に組み込む
    • ユーザープライバシーに関するポリシー実装(暗号化・匿名化)
    • モバイル通知はプラットフォーム固有の方式に移植して信頼性を高める
    • モデルの評価指標(精度、再現率、F1、AUC など)を明示する

まとめ

短時間で作られた健康トラッキングの分析プロトタイプ。拡張性は高いが実用化には設計改善が必要。

リポジトリ情報:

READMEの抜粋:

Med Tracker

  • Project completed during HackUMass 2018 - Completed in 24 hrs with 3 Developers
  • A daily health tracker where you get notified to add entries daily. Weekly graphs and summary is posted, once you enter 6 times.

Idea

  • We gather information from the user on what’s his/her daily routine like
  • A machine learning model trains a data and tests this on that data predicting the best daily practices for the User
  • User is notified every time they open the app and every week to enter…