注意: 本記事はドキュメント・公開情報をもとにした評価記事です。コード例はシミュレーションです。

3行要約

  • 「1.01の365乗」という習慣の複利効果を、数学的な裏付けとともに可視化してモチベーション維持を自動化する。
  • 他のタスク管理ツールと違い、単なる「完了・未完了」の記録ではなく、成長の傾きをグラフで認識させることに特化している。
  • データの数値化を好むエンジニアには最適だが、定性的な日記要素を求める人には向かない。

📦 この記事に関連する商品

HHKB Studio

習慣化した執筆やコーディングの効率を最大化し、1%の積み上げを加速させる究極の道具

Amazonで見る 楽天で見る

※アフィリエイトリンクを含みます

結論から: このツールは「買い」か

結論を言えば、自身の成長をデータとして管理したい中級以上のエンジニアなら、一度は触っておく価値があります。 ★評価は4.0/5.0です。 多くの習慣化アプリが「バッジ」や「ストリーク(連続記録)」といった、いわば子供騙しのゲーミフィケーションに頼る中、このツールは「複利の計算」という冷徹な数学的アプローチを軸にしています。

私がこれまで機械学習のプロジェクトで見てきた「モデルの精度向上曲線」と同じ感覚で、自分自身のスキル向上を眺めることができるのは、理系的な感性には非常に心地よいものです。 ただし、単にスマホでポチポチ記録したいだけのライトユーザーには、このツールの本質的な価値(データの蓄積と傾向分析)は過剰かもしれません。

このツールが解決する問題

従来の習慣化ツールの最大の欠点は、1日のサボりが「ゼロ」に見えてしまうことです。 実際には、1日サボることは単なる現状維持ではなく、それまでの積み上げが減衰する負の複利が働きます。 この1% Betterは、その微細な変化をログとして残し、可視化することで「サボることの恐怖」と「積み上げの威力」を同時に突きつけてきます。

私がSIerにいた頃、資格試験の勉強が続かなかったのは「今日やらなくても、明日やれば同じ」という錯覚があったからです。 このツールは、今日実行した0.5%の努力と、実行しなかった場合の0.5%の損失を明確に数値で示します。 「改善を測定できないものは、改善できない」というピーター・ドラッカーの言葉を地で行く、非常にエンジニアライクな解決策を提示してくれます。

実際の使い方

インストール

1% Betterは基本的にはWebサービスおよびモバイルアプリですが、中級エンジニア向けに提供されているCLIツールやAPIを活用することで、開発環境と同期させることが可能です。 Python環境であれば、公式のリポジトリにあるラッパーを利用して、自身のスクリプトから進捗をプッシュできます。

pip install one-percent-better-sdk

インストール自体は10秒もかかりません。 前提条件として、Node.js 18系以降、またはPython 3.9以降が必要です。 最近の環境であれば、依存関係で詰まることはまずないでしょう。

基本的な使用例

基本的には、APIキーを取得し、自身の特定の「アクション」に対して進捗を記録する形式をとります。 例えば、毎日のGitHubへのコミット数や、技術書の読了ページ数を送信するスクリプトは以下のようになります。

from one_percent_better import HabitTracker

# APIキーとユーザーIDを設定
# 環境変数から読み込むのが実務上の定石
client = HabitTracker(api_key="your_api_token_here")

# 特定の習慣(例:技術学習)に対して進捗を記録
# scoreは0.0〜2.0の範囲で、1.0が目標達成を意味する
def log_study_progress(pages_read, target=20):
    progress_score = pages_read / target
    response = client.update_habit(
        habit_id="tech-learning-2024",
        score=progress_score,
        note=f"{pages_read} pages read today"
    )

    if response.status_code == 200:
        print(f"Current Compound Growth: {response.compound_index}%")
    else:
        print("Logging failed.")

log_study_progress(25) # 目標を上回る1.25のスコアを送信

このコードの肝は、scoreが単なるバイナリ(0か1か)ではない点です。 125%の達成を記録すれば、グラフの傾きは急になり、複利効果が加速します。 この動的な変化が、API経由で即座に返ってくるレスポンス(compound_index)として確認できるのが非常に面白い。

応用: 実務で使うなら

私の場合、RTX 4090を回してローカルLLMのベンチマークをとる際、その検証作業の「密度」をこのツールで管理しています。 具体的には、Slackの特定のチャンネルへの投稿内容をトリガーにして、以下のように自動連携させています。

# SlackのBot経由で学習ログを自動取得し、Habit Trackerに飛ばす例
import os
from slack_sdk import WebClient
from one_percent_better import HabitTracker

slack_client = WebClient(token=os.environ["SLACK_BOT_TOKEN"])
tracker = HabitTracker(api_key=os.environ["ONE_PERCENT_API_KEY"])

def sync_work_to_habit():
    # 本日の活動履歴を取得
    history = slack_client.conversations_history(channel="C12345678")
    messages = [m['text'] for m in history['messages'] if 'done:' in m['text']]

    # 活動数に応じてスコアを算出(1件につき0.2、最大5件で1.0)
    score = min(len(messages) * 0.2, 1.5)

    tracker.update_habit(
        habit_id="dev-productivity",
        score=score
    )

sync_work_to_habit()

このように、既存のワークフロー(Slack、GitHub、Jira)の末端にこのAPIを仕込むことで、意識せずとも自分の「生産性の複利」がグラフ化されていきます。 手動入力は必ず飽きが来ますが、APIによる自動化を前提とした設計になっている点は高く評価できます。

強みと弱み

強み:

  • 複利計算モデルが組み込まれており、長期間の積み上げが視覚的に報われる設計になっている。
  • APIがシンプルで、既存のPythonスクリプトやCI/CDパイプラインに組み込みやすい。
  • データのインポート・エクスポートがJSON形式で容易であり、ベンダーロックインの懸念が低い。

弱み:

  • ダッシュボードのUIが英語のみで、設定項目の用語が一部、統計学的な知識を必要とする。
  • 無料プランでは作成できる「習慣」の数が3つに制限されており、本格的な運用には月額制のサブスクリプションが必要。
  • オフラインでの動作が不安定で、API同期が失敗した際の再試行ロジックを自分で書く必要がある。

代替ツールとの比較

項目1% BetterHabiticaNotion (Custom)
核心となる概念数学的複利RPG的ゲーム性自由なDB管理
自動化のしやすさ非常に高い (REST API)普通 (Webhook中心)高い (API連携)
分析機能成長曲線の予測ほぼなし自作が必要
向いている人データ重視のエンジニア飽き性な人管理マニア

Habiticaのような「ドット絵のキャラが育つ」ことに喜びを感じるなら、1% Betterは味気なく感じるはずです。 逆に、Notionで複雑なリレーションを組んで挫折した経験があるなら、このツールの「成長率」に特化した潔さは救いになるでしょう。

私の評価

私はこのツールを、単なる習慣化アプリではなく「自己資産のダッシュボード」として評価しています。 エンジニアにとって、技術力や生産性は一種の資産であり、その増減をRTX 4090の温度やGPU使用率を監視するのと同じレベルで数値化できる点は、非常に理にかなっています。

もしあなたが「なんとなく最近成長していない気がする」といった漠然とした不安を抱えているなら、このツールで自分の行動を一度定量化してみるべきです。 逆に、数字に追われることにストレスを感じるタイプの人や、ガチガチの管理を嫌う人には全くおすすめしません。 私は、自分のGitHubコミットログと連動させてから、深夜の無駄なネットサーフィンが減り、その時間を技術ドキュメントの読解に充てるようになりました。 数字が少しずつ右肩上がりになる快感は、エンジニアにとって最高級の報酬です。

よくある質問

Q1: APIの利用制限(レートリミット)はどの程度ですか?

無料枠でも1分間に60リクエスト程度は許容されますが、個人開発の習慣ログとしては十分すぎるスペックです。バルク処理用のエンドポイントも用意されているため、過去データの流し込みもスムーズに行えます。

Q2: データのバックアップはエンジニアが納得できる形で取れますか?

はい。設定画面から全データをJSON形式で即座に出力可能です。私はこのデータをローカルのPostgreSQLに入れ直して、独自のGrafanaダッシュボードで再可視化して楽しんでいます。

Q3: モバイルアプリ版とWeb版の同期速度はどうですか?

WebSocketを利用しているようで、Web版でAPIを叩いた直後にiPhoneアプリ側でグラフが更新されるのを確認しました。遅延は概ね0.5秒以内と、非常にレスポンスは良好です。


あわせて読みたい