ポモドーロ学習セッションプランナー
120分を25分の集中と5分の休憩で区切ると、ポモドーロがちょうど4サイクル入り、学習100分、休憩20分で余りはありません。始める前に各ブロックの開始と終了の分が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 合計分数
- 120
- サイクル数
- 4
- 作業の分数
- 25
- 休憩時間 (分)
- 5
- 作業時間の合計 (分)
- 100
ポモドーロ学習セッションプランナーは、使える時間の長さ・集中したい時間・休憩したい時間という3つの数字を、作業ブロックと休憩ブロックからなる分単位の完全なスケジュールへと変換します。頭の中でインターバルを数えたり、セッションの途中で見失ったりする代わりに、収まるポモドーロサイクルの正確な回数、各ブロックの開始分と終了分、そして余る時間の長さを把握できます。
何もない午後の時間を具体的な計画へ
学習セッションでいちばん難しいのは、勉強そのものではなく構造づくりであることが少なくありません。2時間の時間を前に「休憩も取ろう」という曖昧な意向だけで座っても、40分後には休まず進めすぎて燃え尽きるか、休憩に時間を食われて集中が切れるかのどちらかになりがちです。ポモドーロ学習セッションプランナーは、その都度の調整ごとを完全に取り除きます。
実際に使える合計時間(理想ではなく現実の時間)と作業インターバル、休憩インターバルを宣言するだけで、正確な開始分・終了分を持つブロックの順序立ったリストとしてセッション全体が展開されます。25分作業と5分休憩の4サイクルが120分に無駄なく収まることも、始める前に確認でき、途中で気づくことにはなりません。
計算によって計画が生成され即興ではないため、同じ条件を指定すれば結果は常に同じです。だからこそ、スクリプトや学習アプリ、教室向けツールの中に組み込んでも安心です。出力は合計も正直に伝えます。
何分が作業に充てられ、何分が休憩に充てられ、予算のうち何分がもう1つの作業ブロックを収められないのかが分かるので、余りをなかったことにするのではなく、インターバルを調整する判断ができます。
スケジュールの計算方法
アルゴリズムは意図的にシンプルで、完全に決定的です。0分目から開始し、残り時間の中にもう1つの完全な作業インターバルが収まるかを確認します。収まる場合はその作業ブロックがスケジュールに追加され、時計が進みます。
収まらない場合は計画を終了します。各作業ブロックの後には、完全な休憩インターバルも残りの予算内に収まる場合に限って休憩が設定されます。合計時間をはみ出す中途半端な休憩は決して追加されません。
遅れて終わる計画は計画とは言えないからです。休憩が収まらない場合、セッションは最後の作業ブロックで終了し、残りは未使用の分として報告されます。知っておくべき厳格なルールが1つあります。
作業インターバルは正の値でなければなりません。ゼロや負の作業時間ではループが意味を成しません。休憩はゼロでも構いません。
その場合、休憩を別に管理する人向けに、連続した作業ブロックが生成されます。
上手な使い方と適した場面
古典的なポモドーロは25分の作業と5分の休憩であり、これらがデフォルトですが、プランナーがその教義を強制することはありません。試験勉強をする学生は50分の集中と10分の休憩を好むことが多く、年少の学習者には15分と3分の組み合わせが向いています。未使用の分数はフィードバックとして捉えてください。
30分インターバルで100分のセッションを組んで10分余るなら、クールダウンの時間として受け入れるか、予算にぴったり収まる25分インターバルに切り替えるかを選べます。ブラウザではツールは無料です。サイクル数、分の合計、開始分と終了分を持つブロックの配列で、タイムラインとして描画したりカレンダーに流し込んだりする準備が整った形です。
チームはコホート全体で一貫した学習計画を生成するために利用し、講師はレッスンノートに埋め込み、生産性アプリはサーバーサイドから呼び出すことで、スケジュールロジックがユーザーが無料ページで見た内容からずれないようにしています。
活用例
試験勉強のブロックを計画する
その晩に使える分数を入力するだけで、正確なサイクル数とブロックの時刻が得られます。体力が尽きたときではなく、計画したとおりのタイミングで復習を終えられます。
採用前にインターバルの長さを調整する
無料のブラウザ版で作業と休憩の組み合わせを試し、サイクル数・休憩合計・未使用分の変化を確認してから、自分のリズムを決められます。
よくある質問
料金はいくらですか?
また、このページ上でブラウザから無料で実行することもでき、同じコードで同じ出力が得られます。
作業インターバルがゼロや負の値だとどうなりますか?
作業インターバルは正の分数でなければならず、それがなければスケジュールは成立しません。
なぜ最後に時間が余るのですか?
スケジュールされるのは完全な作業ブロックのみで、休憩も全体が収まる場合にのみ追加されます。
古典的な25/5のインターバルは必須ですか?
いいえ。 あくまでデフォルトです。任意の正の作業時間と、ゼロ以上の任意の休憩時間を指定できるため、50/10や15/3など、ご自身に合ったリズムで計画できます。
結果は毎回同じですか?
はい。 計算は固定の丸めを伴う純粋な算術処理であり、時計や乱数を使わないため、同一の入力からは常に同一の出力が得られます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/life/study-break-pomodoro \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_minutes":120}'const res = await fetch("https://api.kit.forhosting.com/life/study-break-pomodoro", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_minutes": 120
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/study-break-pomodoro",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_minutes": 120
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/study-break-pomodoro", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_minutes":120}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_minutes":120}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/study-break-pomodoro", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"total_minutes": 120
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.study_break_pomodoro",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
ブラウザでは無料で、API経由では自動化用途向けに、同じ決定的な計算処理が実行されます。
スケジュールの計算方法
無限の集中も負の集中も勉強法ではないため、プランナーは推測で進めるのではなく、型付きの invalid_input エラーで拒否します。
上手な使い方と適した場面
API経由では、1リクエストあたり$0.002で、毎回同じJSON構造が返されます。
連携の活用例
学習アプリ内でスケジュールを生成する
バックエンドからAPIを呼び出し、返されたブロックをタイムラインとして描画できます。決定的な計算のため、サーバーとクライアントの結果は常に一致します。
技術的な質問
休憩なしで作業だけを計画できますか。
はい、可能です。break_minutes をゼロに設定すると、合計時間が埋まるまで連続した作業ブロックの計画になります。