自分のペースで集中するワークスペース
Tempo
カンバン、ポモドーロタイマー、メモ、目標、習慣をひとつにつなぐ、個人向けの集中ワークスペース。
ReactTypeScriptFastAPIPythonPostgreSQL
“日々の計画を、正確な時間管理、非公開データ、振り返りにつながる進捗記録と結びつけます。”
01
課題
タスク、集中時間、メモ、習慣が別々のツールに分かれると、計画と実際の行動をつなげにくくなります。Tempoはそれらをひとつにまとめ、作業への集中と進捗の振り返りを支えます。
02
担当
プロダクト設計、React・TypeScriptフロントエンド、FastAPIバックエンド、データモデリング、認証、タイマー設計、自動テスト。
03
制約
再読み込みやバックグラウンド移行でもタイマーの精度を保ち、アカウント間でデータを分離する必要がありました。集中セッションの重複記録を防ぎ、目標やレビューでは日付・週・月の境界も正しく扱います。
04
プロセス
タスクカードと共通の集中タイマーを接続し、メモ、サブタスク、目標、習慣、レビューを追加しました。サーバー側の所有者チェックでデータを保護し、終了時刻に基づく計時とトランザクションによる保存で進捗の整合性を保ちます。
05
成果
非公開ボード、集中履歴、個人メモ、習慣の連続記録、進捗レビュー、テーマ・タイマーのカスタマイズを備えたフルスタックアプリです。登録せずに試せる期限付きデモも用意しています。
体験のポイント
- 優先度、見積もりセッション数、メモ、サブタスクを備えたカンバン
- 再読み込み後も復元できるポモドーロと休憩タイマー、任意の完了通知
- 非公開スクラッチパッド、自動・手動の目標、曜日ごとの習慣管理
- 集中セッション、完了タスク、習慣を振り返る週次・月次レビュー
- テーマとタイマーの外観設定、アカウント管理、24時間のサンプルワークスペース
設計とパフォーマンス
- React・TypeScript・ViteとFastAPI・Pydanticを組み合わせた構成
- ホスティング用PostgreSQLとローカル開発用SQLiteに対応
- scryptによるパスワード保護、HttpOnlyセッション、CSRF対策、所有者範囲付きクエリ
- 終了時刻に基づく計時とトランザクションで時間のずれやセッションの重複記録を防止
- バックエンドとフロントエンドのテストでデータ分離、タイマー復元、日付境界、UI操作を検証