Timer - Programmable timer web app for gym workouts or stretching sessions

Show HN: Programmable timer web app (for gym workouts or stretching sessions)

Timerは、ジムでのワークアウトやストレッチセッションなど、さまざまなシーンで活用できるプログラム可能なタイマーWebアプリです。このアプリは、ユーザーが自分のニーズに合わせてタイマーを柔軟に設定できるように設計されています。例えば、インターバルトレーニングやポモドーロテクニックなど、時間管理を必要とするあらゆるアクティビティに利用できます。シンプルで直感的なインターフェースにより、誰でも簡単にタイマーをプログラムし、効率的な時間管理を実現します。ブラウザ上で動作するため、インストール不要ですぐに利用でき、オープンソースとしてGitHubで公開されています。

このタイマーアプリを使えば、ワークアウトやストレッチの時間を自由にプログラムでき、トレーニングの効率が格段に向上します。
  1. r3trohack3r

    リンクをクリックする前の最初の反応は、「なぜ誰もがプログラム可能なタイマーを欲しがるのだろう?」というものだった。

    リンクをクリックしてデモを見た後の反応は、「ああ、ずっとプログラム可能なタイマーが欲しかったんだ」というものだ。

    これは素晴らしい。ワークアウトや集中セッションに使えると思う。共有してくれてありがとう。

  2. gabrielsroka

    何年か前に、Pith(Python風構文のJS)を使って、これに似た、よりシンプルでプログラム不可能なものを書いたことがある。

    https://gabrielsroka.github.io/webpages/pith.html

    cancel = false

    editor.style.display = 'none'

    debug.hide()

    btn = button('Stop', 'cancel=true id=stopBtn')

    bar.html(btn)

    beep = new Audio('beep.mp3')

    lock = await navigator.wakeLock.request('screen')

    stopBtn.style.fontSize = runProgram.style.fontSize = results.style.fontSize = '72px'

    wus = 'roll shoulders,arm circles,arm hugs,knee raises,rotate torso,rotate hips'

    wus = wus.split(',')

    sets = 'march in place,squat,push up,standing bicycle crunch,stand and box,split squat,push up,plank,jumping jacks,wall sit,push up,standing side crunch'

    sets = sets.split(',')

    cools = 'walk,hands up,hands forward,hands back,right leg,left leg,right hams,left hams,balance'

    cools = cools.split(',')

    await countdown('check volume.', 5, true)

    for wu in wus

    await countdown(wu, 12)

    await countdown('first up ' + sets[0])

    for set in range(sets.length)

    msg = (set + 1) + '. ' + sets[set]

    await countdown(msg, 30, true)

    if set < sets.length - 1

    await countdown('next up: ' + sets[set + 1])

    for cool in cools

    await countdown(cool, 15)

    results.html('done')

    lock.release()

    editor.style.display = ''

    async def countdown(msg, secs=5, play)

    for s in range(secs)

    results.html(msg + '<br>' + (secs - s))

    if play && secs - s <= 3

    beep.play() […]

  3. aquariusDue

    ああ、それはかなりクールだね!タイマーをブックマークして保存できて、さまざまな活動や目的のためにそれらのリストを保持できるのも気に入っているよ。

    また、HNの投稿を見たとき、何か見覚えがあると思ったら、あなたの昔のプロジェクト、x[it]を思い出したよ!

    今でも時々あのことを考えているんだ。あなたはまだx[it]に取り組んでいるのか、それともある意味で次に進んだのか?

この日のほかの記事

2026-08-12