syakittoは、Webカメラを使ってあなたの姿勢をリアルタイムでチェックし、猫背を検知してお知らせするデスクトップアプリケーションです。長時間のデスクワークによる姿勢の乱れを防ぎ、健康的な毎日をサポートします。
- リアルタイム姿勢分析: Webカメラの映像からリアルタイムであなたの姿勢を分析し、「猫背スコア」として表示します。
- 多彩な通知機能: 猫背を検知すると、アニメーション、音声、デスクトップ通知など、お好みの方法でお知らせします。
- ポモドーロタイマー: 作業と休憩のサイクルを作るポモドーロタイマーを搭載。集中力の維持を助けます。
- プライバシーへの配慮: 映像の解析はすべてお使いのPC内で完結します。インターネットに映像データが送信されることは一切ありませんので、安心してお使いいただけます。
- カスタマイズ性: 通知のタイミングや種類、検知の感度などをあなたの好みに合わせて細かく設定できます。
- 起動: アプリケーションを起動します。
- キャリブレーション: 最初に表示されるカメラ映像に顔と肩が映るように座り、「正しい姿勢を記憶」ボタンを押して、あなたの正しい姿勢をアプリに記憶させます。
- 自動チェック開始: キャリブレーションが完了すると、自動的に姿勢のチェックが始まります。
- スコア確認: 猫背になるとスコアが上昇します。スコアが一定の値を超えると、設定した方法で通知が届きます。
syakittoは、以下の3つの主要な技術要素で構成されています。
-
画面表示 (フロントエンド)
- 技術: Next.js, React, TypeScript
- 役割: あなたが操作する設定画面、カメラ映像、スコア表示など、アプリの見た目全般を担当しています。Web技術をベースに作られています。
-
デスクトップアプリの器 (Electron)
- 技術: Electron
- 役割: Web技術で作られた画面を、WindowsやmacOSで使えるデスクトップアプリとして動かすための「器」の役割を担っています。OSの通知機能の呼び出しや、画面上へのポップアップ表示なども担当します。
-
姿勢検知エンジン (TensorFlow.js)
- 技術: TensorFlow.js, MediaPipe
- 役割: アプリの心臓部です。Webカメラから受け取った映像をリアルタイムで解析し、顔や肩の関節の位置を特定して、猫背スコアを計算します。この処理はすべてあなたのPC上で行われ、外部にデータが送信されることはありません。
syakittoは、あなたの「耳」「目」「肩」の位置関係から、猫背の度合いをスコアとして計算しています。
-
基準となる正しい姿勢: まず、キャリブレーション(正しい姿勢を記憶)時に、あなたの「目と肩の距離」を基準として覚えます。
-
猫背のチェック: 次に、リアルタイムの映像から「耳と肩の距離」を常に計測します。
-
スコアの計算: 正しい姿勢の時と比べて、耳が前に出て「耳と肩の距離」が「目と肩の距離」に近づくほど、猫背スコアが高くなります。つまり、頭が前に突き出ているほど、スコアが上昇する仕組みです。
この計算により、あなたが画面に近づいたり離れたりしても、正確に姿勢の変化を捉えることができます。
最新版のアプリケーションは、以下のリンクからダウンロードできます。
macOSをご利用の場合、ダウンロードしたアプリケーションが正常に起動しない場合があります。これはmacOSのセキュリティ機能(Gatekeeper)によるものです。以下のコマンドをターミナルで実行することで、問題を解決できる場合があります。
xattr -d com.apple.quarantine /Applications/syakitto.appsyakitto.app の部分は、アプリケーションをインストールしたパスに合わせて変更してください。
例: ダウンロードフォルダに存在する場合は /Users/あなたのユーザー名/Downloads/syakitto.app
開発者向け情報 (For Developers)
- Next.js
- TypeScript
- TensorFlow.js
- @tensorflow-models/pose-detection (MoveNet)
- Tailwind CSS
- Electron (デスクトップアプリ版)
- リポジトリのクローン:
git clone https://github.com/TsubasaShioda/syakitto.git cd syakitto - 依存関係のインストール:
npm install
- 開発サーバーの起動:
npm run dev
- ブラウザで確認: http://localhost:3000 をブラウザで開く。
-
Electron開発モードの起動:
npm run electron:dev
-
デスクトップアプリのパッケージング:
npm run electron:package:mac
npm run build