WorkPulse
個人の生産性監視ではない。
チームのリズム、会議と集中作業のバランス、稼働のオン/オフを構造化された一つの解像度で見るための、組織向けの運営レイヤー。
- status
- live
- version
- 1.2.0
- tenants
- ∞
- signals
- 4
- patterns
- 6
- tz
- JST

「働き方の解像度を上げる」とは、
行動の集計ではなく、組織のリズムを読むことだ。
Build kit,
six modules.
PC稼働の連続計測
エージェントが常駐し、キーストローク・クリック・マウス移動・アクティブウィンドウ・マイク/カメラ検出をローカルで連続収集。離席検出と誤入力フィルタを経由して 30 秒粒度に正規化、サーバーへトークン送信されます。
Slack リアルタイム連携
Bot Token + Events API でメッセージ・スレッド・リアクションをリアルタイム取得。Presence は 30 秒ポーリング、2 時間ギャップでセッション分割し、深夜の誤検知を回避した稼働時間を算出します。
Google Workspace 横断
Google Calendar の会議スケジュールに加え、Workspace のメール送受信・Drive 操作の Audit ログを定期同期。会議出席はカレンダー × マイク・カメラ検出でクロス検証し、遅刻/早退を自動バッジ化。
5 レーン・タイムライン
PC / Slack / 入力 / 会議 / マイク・カメラを 5 本のレーンで一日に重ね、活動パターンを 6 種(通常 / 集中 / サボり疑い / 会議 / 離席 / 時間外)に自動分類して可視化します。
完全マルチテナント
1 顧客 = 1 テナント。コードは単一・データは tenant_id で厳密分離。テナント単位でロゴ/プライマリカラー/Slack・Google 連携を切り替え、子会社や拠点別の運用にも耐える設計です。
4 階層 RBAC
superadmin(プラットフォーム運用)/ admin(テナント全権限)/ manager(タグ + 可視メンバー制限)/ member(自己情報のみ)の 4 ロール。可視性とアクセスを宣言的に制御します。
毎週ひらく、実画面
Slack 月次分析
メンバー別のスレッド開始・返信・リアクション送受信・オンライン時間を月次でランキング。タグでチームを絞り込めます。

入力ランキング
エージェントが収集したタイプ数・クリック数・マウス移動距離を集計。PC稼働の「量」を、そのままランキングで可視化します。

3 階層、HTTPS で疎結合
- ·JWT + 4-role RBAC
- ·scheduler · 30s / 15m / daily
- ·pattern.classify() → 6 patterns
- ·heatmap / timeline / ranking
- ·per-tenant subdomain
- 01
Agent
Python · PyInstaller→ Win .exe / macOS .appメンバー PC に常駐し、入力/ウィンドウ/音声デバイスのシグナルをトークン認証で API に送信。
- 02
API
FastAPI · SQLAlchemy→ PostgreSQL · RenderPulse 受信、Slack Events 受信、Calendar / Workspace 同期、活動パターン分類と RBAC を担う中核層。
- 03
Dashboard
Next.js 15 · React 19→ Cloudflare Pages (static)SSR なしの静的サイトとしてビルドし、テナントごとにサブドメインで配信。
Spec sheet
Frontend
| Stack | Next.js 15 · React 19 · Tailwind 4 |
|---|---|
| Output | Static export → Cloudflare Pages |
| Auth | JWT (24h) · localStorage |
| Hosting | asikaze-workpulse.com — per-tenant subdomain |
Backend
| Stack | FastAPI · SQLAlchemy · APScheduler |
|---|---|
| Database | PostgreSQL (Render Managed) |
| Schedule | Slack 30s · Calendar 15m · Workspace daily |
| Auth | JWT + 4-role RBAC, tenant-scoped |
Agent
| Stack | Python · PyInstaller |
|---|---|
| Builds | Windows .exe / macOS .app |
| Lifecycle | 自動起動 ・ 自動復活 |
| Sampling | 30s normalized pulse |
Operations
| Tenancy | 1 customer = 1 tenant, shared codebase |
|---|---|
| Isolation | tenant_id row-level enforcement |
| Tunneling | Cloudflare Tunnel (per-tenant subdomain) |
| TZ | JST midnight 起点 · UTC 永続 |
Releases
- v1.2.02026-05current
マルチテナント基盤完成
- +tenant 単位のロゴ/プライマリカラー/Slack・Google 連携切替
- +superadmin による tenant 発行 + tenant admin 初期化フロー
- +サブドメイン経由のテナントログイン (asikaze-workpulse.com)
- +tenant_id による row-level データ分離の厳格化
- v1.1.02026-04
Workspace 連携と会議出席検証
- +Google Workspace Audit (Gmail / Drive) 同期
- +会議出席のカレンダー × マイク・カメラ クロス検証
- +遅刻/早退バッジ、ワークバランス(会議 vs 集中作業)
- +メンバーランキング(月/週、活動者のみ表示)
- v1.0.02026-03
first release
- +Agent (Windows .exe / macOS .app) — 自動起動/自動復活
- +Slack Events API + Presence 30s ポーリング
- +5 レーン・タイムライン、24h ヒートマップ、GitHub 風アクティビティカレンダー
- +PostgreSQL 移行 + Cloudflare Pages / Render 本番デプロイ
- roadmapunreleased
- ~アラート(活動率低下の自動検知)+ Slack/メール通知
- ~週次レポート自動生成(業務委託の稼働証明 PDF/CSV)
- ~Agent 配布の効率化(署名付き .exe / 公証済み .app)
- ~JWT リフレッシュトークン
- ~Agent 軽量化(Python → Go / Rust, ~10MB 以下)
- ~SSO(SAML / OIDC)
組織の動きを、
可視化する
トライアル導入のご相談、テナント発行、社内デモのご依頼までお気軽に。Ansel Technologies がオンボーディングまで伴走します。
