💢

Claude APIを$100/日使わないと怒られるアプリを作った話

に公開

作ったもの

Claude APIの使用量が1日$100未満だと激怒してくるアプリ「Hundred Dollar Enforcer」を作りました。Claude Max(月額$100/$200の定額制プラン)を最大限活用するためのモチベーション維持ツールです。

https://github.com/kentaro/hundred-dollar

なぜ作ったか

私はClaude Maxプランを契約しています。Claude Maxには2つのプランがあります:

  • 月額$100: Claude Proの5倍の使用量
  • 月額$200: Claude Proの20倍の使用量

どちらのプランでも月額固定なので、使えば使うほどお得になります。

本当に使い倒すなら1日$100分以上は使いたい。これは$100プランなら月額の30倍、$200プランなら月額の15倍の価値を引き出すことになります。

1日$100分以上使うことを「頑張っている指標」として、使用量が少ないと怒ってくれるという逆転の発想でこのアプリを開発しました。定額制プランを最大限活用し、生産性を爆上げするためのモチベーション維持ツールです。

デモ

目標達成時($100以上使用)

=== HUNDRED DOLLAR ENFORCER ===

Date: 2025-06-27
Target: $100/day
Current Spending: $156.83
Requests: 0
Tokens: 77748

Progress: [████████████████████] 100.0%

Status: CALM
素晴らしい!今日も十分に働いていますね。

使用量が少ない時($50未満)

=== HUNDRED DOLLAR ENFORCER ===

Date: 2025-06-27
Target: $100/day
Current Spending: $45.23
Requests: 0
Tokens: 22451

Progress: [█████████░░░░░░░░░░░] 45.2%

Status: FURIOUS
信じられない!たったの$45.23!? あなたは今日何をしていたんですか!?
今すぐClaude APIを使って仕事をしなさい!!!

$100も使えないなんて恥ずかしくないんですか!?

特徴

🎯 4段階のフィードバックレベル

使用量に応じて4段階のフィードバックがあります:

レベル 使用量 メッセージ例
CALM(穏やか) $100以上 「素晴らしい!今日も十分に働いていますね。」
ANNOYED(イライラ) $75-99 「まあまあですが、まだ$25.00足りません。もう少し頑張りましょう。」
ANGRY(怒り) $50-74 「何をやっているんですか!?まだ65%しか使っていません!仕事をしてください!」
FURIOUS(激怒) $50未満 「信じられない!たったの$45.23!? 今すぐClaude APIを使って仕事をしなさい!!!」

さらに、ANGRYとFURIOUSレベルではランダムな追加メッセージも表示されます:

  • 「怠け者!!!」
  • 「あなたは本当にエンジニアですか!?」
  • 「$100も使えないなんて恥ずかしくないんですか!?」

🔔 デスクトップ通知

1時間ごとに現在の使用状況を通知します。目標達成時も未達成時も通知が来るので、常に意識できます。

# 通知の例(未達成時)
💢 怒り爆発!!!
現在の使用量: $45.23 / $100 (45.2%)
あと$54.77必要です!
信じられない!たったの$45.23!? あなたは今日何をしていたんですか!?

🚀 Mac起動時の自動実行

インストールスクリプトを実行すれば、Macを起動するたびに自動的に監視が始まります。

./scripts/install-autostart.sh

ログは以下の場所に保存されます:

  • ~/Library/Logs/hundred-dollar-enforcer.log
  • ~/Library/Logs/hundred-dollar-enforcer.error.log

🔑 APIキー不要

npx ccusageを使用するため、Claude APIキーの設定は不要です。既存のClaude CLIの認証情報を利用します。

使い方

インストール

git clone https://github.com/kentaro/hundred-dollar.git
cd hundred-dollar
npm install
npm run build

基本的な使い方

# 現在の使用量をチェック
npm run dev check

# 監視を開始(15分ごとにチェック)
npm run dev start

# オプション指定
npm run dev start --target 150 --interval 10

# 強制的に通知を表示
npm run dev check --notify

Mac起動時の自動実行設定

# 自動起動をインストール
./scripts/install-autostart.sh

# 自動起動を削除
./scripts/uninstall-autostart.sh

技術的なポイント

1. ccusageコマンドの活用

Claude APIの使用量取得にはccusageコマンドを使用しています。これにより、APIキーの管理が不要になりました。

const { stdout } = await execAsync('npx -y ccusage@latest --json');
const data = JSON.parse(stdout);

const dayData = data.daily?.find((d: any) => d.date === dateStr);

2. launchdによる自動起動

macOSのlaunchdを使用して、ログイン時の自動起動を実現しています。

<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<dict>
    <key>SuccessfulExit</key>
    <false/>
</dict>

3. 段階的なフィードバックシステム

使用量のパーセンテージに応じて、適切なフィードバックを返す設計にしました。

export function getFeedbackLevel(dailySpent: number, target: number): FeedbackLevel {
  const percentage = (dailySpent / target) * 100;
  
  if (percentage >= 100) {
    return {
      level: 'calm',
      message: '素晴らしい!今日も十分に働いていますね。',
      color: 'green'
    };
  } else if (percentage >= 75) {
    return {
      level: 'annoyed',
      message: `まあまあですが、まだ${(target - dailySpent).toFixed(2)}ドル足りません。`,
      color: 'yellow'
    };
  }
  // ... 他のレベル
}

4. プログレスバーによる可視化

使用量を視覚的に把握できるよう、プログレスバーを実装しました。

private createProgressBar(current: number, target: number): string {
  const percentage = Math.min((current / target) * 100, 100);
  const filled = Math.floor(percentage / 5);
  const empty = 20 - filled;
  
  const bar = '█'.repeat(filled) + '░'.repeat(empty);
  return `[${bar}] ${percentage.toFixed(1)}%`;
}

実際の効果

このアプリを使い始めてから、Claude APIの使用量が明らかに増えました:

  1. 朝一番の通知効果: 起動時に通知が来ることで、その日のClaude API使用を意識するようになった
  2. 可視化の力: 使用量とプログレスバーが見えることで、「もっと使おう」という気持ちになる
  3. ゲーミフィケーション: 100%達成を目指すというゲーム感覚で楽しく使える
  4. 負の強化: 怒られたくないという心理が働いて、積極的にClaude APIを使うようになった
  5. 定額制の価値最大化: 月額$200を払っているという意識から、「元を取る以上に使い倒そう」という気持ちが強くなった

カスタマイズ

目標金額は自由に変更できます:

# $200/日を目標にする
npm run dev start --target 200

# 5分ごとにチェック
npm run dev start --interval 5

Claude Maxプランについて

参考までに、Claude Maxプランの詳細:

Claude Max 5x Pro(月額$100)

  • Claude Proプラン(月額$20)の5倍の使用量
  • 5時間あたり約225メッセージ送信可能

Claude Max 20x Pro(月額$200)

  • Claude Proプラン(月額$20)の20倍の使用量
  • 5時間あたり約900メッセージ送信可能

両プランとも以下が利用可能:

  • Claude Code
  • 統合機能(Integrations)
  • 高度な検索機能(Advanced Research)
  • Webサーチ

1日$100分使うということは、$100プランなら定額料金の約30倍、$200プランなら約15倍の価値を引き出すことを意味します。

まとめ

「怒られる」という負のフィードバックを逆手に取ることで、定額制プランを最大限活用するモチベーションにつなげるという面白いアプローチができました。

Claude Maxプランを契約しているけど十分に活用できていないと感じている方は、ぜひ試してみてください。1日$100使うまで、容赦なく怒ってくれます!

定額制の元を取るどころか、15〜30倍の価値を引き出すことを目指しましょう!

リポジトリ

https://github.com/kentaro/hundred-dollar

ぜひスターをお願いします!⭐️

今後の展望

  • Windows/Linux対応
  • Slack/Discord通知対応
  • 使用量の履歴グラフ表示
  • チーム全体の使用量監視機能
  • 褒める頻度を増やす(現在は怒りがメイン)

皆さんのフィードバックをお待ちしています!

GitHubで編集を提案
GMOペパボ株式会社

Discussion