習慣トラッカー
毎日の習慣をチェックして連続日数を草グラフで可視化。
アプリを試す
別タブで開く ↗ユーザーが投稿した外部アプリを埋め込み表示しています。表示されない場合は「別タブで開く」からご利用ください。
続けたい習慣を登録して、毎日ボタンを押すだけで連続日数と達成の履歴が溜まっていくツールです。記録はソースコード管理でよく見る草グラフ形式のヒートマップで表示され、約4か月ぶんの達成状況が一目で並びます。アカウントも同期もなく、記録はその端末のブラウザに入ります。
こんなときに使う
- 筋トレやストレッチを「何日続いているか」で動機づけしたいとき
- 練習・配信・投稿など、複数の習慣を色分けして同時に追いかけたいとき
- 昨日押し忘れたぶんを後から埋めたいとき(過去のマスを直接クリックできます)
- アプリを入れたくない、アカウントを作りたくない、という前提で記録を始めたいとき
使い方
- 上部の入力欄に習慣の名前を入れます(例:読書、ストレッチ)。最大40文字で、Enterキーでも追加できます。
- 名前の右のカラーパレットから色を選びます。選ばずに追加すると7色を順番に自動で割り当てます。
- その日にやったら「今日 チェック」を押します。押すと選んだ色で塗られ、「✓ 今日 達成」に変わります。
- 押し忘れた日は、下のヒートマップの該当マスをクリックして直接オンにできます。もう一度押すと取り消しです。
- 追いかけるのをやめる習慣は、カード右上の「削除」で消します。
仕様と機能
| 項目 | 内容 |
|---|---|
| ヒートマップ | 18週ぶん(約4か月)。日曜始まりの縦7マスを1列として左から並べます |
| 未来の日付 | マスは配置されますが押せず、透明で表示されます |
| 今日のマス | 細いリングで囲って位置が分かるようにしています |
| 現在の連続 | 今日から遡って達成が途切れるまでの日数。今日まだ未達成なら昨日から数え始めます |
| 最長記録 | 全記録のうち、日付が1日ずつ連続している最長の区間 |
| 合計 | 達成として記録されている日数の総数 |
| 色 | 7色(緑・青・アンバー・ピンク・紫・赤・ティール) |
| 保存先 | localStorage(キーは habit-tracker-v1)。日付は「YYYY-MM-DD」形式で端末のローカル時刻から生成 |
達成の取り消しは、値をfalseにするのではなくその日付のキー自体を削除する実装にしています。使わなくなったデータが残り続けないので、長く使ってもデータが膨らみにくくなっています。
作るときに決めたこと
「現在の連続」の数え方が、このアプリでいちばん考えたところです。素直に今日から数えると、まだ何もしていない朝の時点で連続が0にリセットされて見えてしまいます。3週間続けてきた人が朝いちばんに0を見せられるのは、動機づけの道具として明確に失敗です。そこで、今日が未達成の場合は昨日を起点にして数えるようにしました。日付が変わっても、実際に1日飛ばすまでは記録が保たれます。
ヒートマップの範囲は18週にしました。1年ぶんにすると横に長くなりすぎ、スマートフォンでは延々と横スクロールする表になります。逆に1か月では連続の手応えが見えません。4か月ぶんという中途半端な数字は、スマートフォンの横スクロールが1〜2回で済む上限として選んだものです。
過去のマスを直接クリックできるようにしたのは、記録漏れを許すためです。この種のツールは「押し忘れた1日」で嫌になって使われなくなります。あとから直せる前提にしておくほうが長く続きます。同時に、未来のマスは押せないようにしました。先んじて埋められる記録は記録として意味を持たないからです。
入れなかったのは通知(リマインダー)と同期です。通知はブラウザの許可を求める体験が重く、毎日1本作るアプリの範囲を超えます。同期はアカウントが必要になり、「開いたらすぐ使える」という前提が崩れます。そのぶん、端末を変えたら記録が引き継がれないという制約は残っています。
注意点
- 記録はこの端末のブラウザにのみ保存されます。外部への送信はありません。ブラウザのデータを削除したり、プライベートウィンドウで使ったりすると記録は失われます。
- 日付は端末のローカル時刻で判定します。日をまたぐ時間帯に使うときや、時差のある地域へ移動したときは、意図と違う日に記録されることがあります。
- ヒートマップに表示されるのは直近18週ぶんですが、それより古い記録も内部には保持され、「最長記録」「合計」には反映されます。