>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
TypeScript

LiftShiftでトレーニングログを最大限に活用する

LiftShift Logo

あなたがHevy、Strong、Lyftaなどのアプリで健身房で各セットを丁寧に記録しているなら、きっと気づいたことがあるでしょう。モバイルトラッカーは生データの収集には優れていますが、その解釈はほとんどサポートしてくれません。せいぜい、1ヶ月間のエクササイズ別グラフを表示し、新しい1RMを祝ってくれる程度です。 本当の問題は、どの筋群を継続的に過小訓練しているか、いつ本当のプラトーに達してアプローチを変える必要があるか、3セット目の通常の疲労と何が違うのかを見極めるのが難しいことです。

最近、オープンソースプロジェクトのLiftShiftを発見しました。ブラウザ上で直接動作し、登録不要でトレーニングログを深く解析するウェブツールです。


このプロジェクトできること

コアコンセプトはシンプルです:エクスポートデータをアプリにフィードするか、アカウントを連携すると、トレーニングログをスポーツのペリオダイゼーション観点から整理してくれます。

UI Screenshot 1

UI Screenshot 2

ダッシュボードを探索すると、すぐに注目される機能がいくつかあります:

  • 筋群ヒートマップ。インタラクティブな身体モデルが各筋群のボリューム負荷を表示します。特定の筋群をクリックすれば、その刺激をもたらしたエクササイズを確認できます。アルゴリズムはトレーニング経験に応じてボリュームゾーン(MEVとMRVの閾値)を計算し、0から100の筋肥大スコアを割り当てます。
  • プラトー検出。単純な重量トレンドではなく、エクササイズに明確なステータス(成長、プラトー、低下)を割り当てます。システムは行き止まり型のプラトー(重量とレップが完全に停滞した場合)と波のような変動を区別し、解決策を提案します:レップを追加、デロード週の稼働重量を減らす、レップレンジを変更する、などです。
  • 各セットの詳細分析。過去のセッションを開き、セットの評価を確認できます。システムは通常の疲労、急激な重量上昇、適切に実行されたドロップセット、失敗までやったセット(AMRAP)を識別します。各セットにはバッジが付き、次のワークアウトへの直接的なアドバイスが得られます。
  • 異なるアプリからのデータ統合。Strongで何年も使ってきた後、Hevyに乗り換えた場合、履歴が分断してしまうのが普通です。このプロジェクトは同じエクササイズに対する異なる名前をマッチングし、重複を削除して、单一タイムラインに統合できます。
  • ニューラルネットワーク向けエクスポート。組み込みチャートが不十分な場合、ChatGPTやClaudeへのプロンプト用に構造化されたフォーマットでデータをエクスポートできます。 готовыеモジュールがあります:ジャンクボリューム監査、左右バランスチェック、関節負荷評価です。
  • GitHub形式のカレンダーヒートマップ。年間を通じた連続記録、空白の週、一貫性を明確に確認できます。

UI Screenshot 3

UI Screenshot 4


内部構造

プロジェクトのアーキテクチャはプライバシー重視です。すべての計算、CSV解析、チャートレンダリングはクライアントサイドで実行されます。

UI Screenshot 5

UI Screenshot 6

フロントエンドはReact 19、TypeScript、Vite、Tailwind CSS、Rechartsライブラリを使用した最新のスタックで構築されています。ExpressとPuppeteerを使用した小さなNode.jsバックエンドは、HevyやLyftaなどのトラッカーへのAPI呼び出しの代理としてのみ使用され、ブラウザのCORS制限または認証が必要です。トレーニングログはサーバーには保存されません。

Strongとの連携では、セミコロンの区切り文字、引用符、ヘッダーの重量単位サフィックスを含むCSVファイルのインポートがサポートされています。


ローカルでの実行方法

プロジェクトをローカル環境にデプロイしたり、カスタムパーサーを書きたい場合、数コマンドだけで済みます。Node.jsバージョン22以上が必要です。

git clone https://github.com/aree6/LiftShift.git
cd LiftShift
npm install
npm run dev

起動後、ローカルサーバーはViteの標準ポートで開きます。

Workflow Steps CSV Upload Analytics Filtering

プロジェクトウェブサイトの公開バージョンを使用する場合は、プラットフォームを選択し、CSVをアップロードするかAPIキーを貼り付け、単位(kgまたはポンド)を指定して、ダッシュボードに進みます。

小さな注意点:Hevyからエクスポートする際、日付形式についてアプリが文句を言うことがあります。これはソースアプリの英語以外のロケールによるものです。一時的にエクスポート言語を英語に変更してください:

Hevy Language Settings


このプロジェクトの対象者

LiftShiftはシンプルなジムのノートと複雑なExcelのトレーナーシートの間のギャップを完璧に埋めます。各筋群のトonnageを手動で計算し、不均衡を見つけるのが面倒な場合、ウェブクライアントが数秒でそれを行います。

このプロジェクトはAGPL-3.0ライセンスで配布されています。コードベースはクリーンで厳密なTypeScriptで書かれているため、お気に入りのフィットネストラッカーのサポートを追加したり、新しいペリオダイゼーションメトリクスを実装したい場合は、ここでコントリビュートするのはかなり快適です。

関連プロジェクト