シンプルで高機能なスピードキューブタイマーを作りました

スピードキューブの練習用に、ブラウザで動くモダンなタイマーアプリ「Speed Cube Timer」を開発しました。 WCA準拠のスクランブル、インスペクションタイムに対応しています。

スピードキューブの練習用に、ブラウザで動くモダンなタイマーアプリ「Speed Cube Timer」を開発しました。 既存のアプリも素晴らしいものがたくさんありますが、「もっとシンプルで、でも必要な機能は全部入りで、かつ見た目が好みなものが欲しい」と思い、自作してみました。


Speed Cube Timer

https://sct.yo4e.com/

なぜ作ったのか

スピードキューブの練習において、「タイムを測る」「記録を残す」ことはモチベーション維持に不可欠です。そこで今回は、「サッと開いてすぐ測れる」手軽さと、「競技練習にも使える」 高機能さを両立させることを目指しました。

こだわりの機能

1. WCA準拠のインスペクションタイム

競技ルール(WCA)と同じく、15秒のインスペクション(下見)タイムを設定できます。 8秒と12秒で警告音が鳴り、15秒を超えると自動でペナルティ(+2秒 / DNF)の判定も可能です。もちろん、設定でOFFにして即スタートもできます。

2. リアルタイム統計とグラフ

ソルブ(計測)ごとのタイムだけでなく、Ao5(直近5回の平均) やAo12をリアルタイムで計算・表示します。 自己ベスト更新を目指すためのモチベーションになります。

3. PWA対応(オフライン動作)

PWA(Progressive Web App)に対応しているので、スマホの「ホーム画面に追加」をすれば、まるでネイティブアプリのように使えます。 一度読み込めばオフラインでも完全に動作するので、電波の悪い場所でも練習できます。

4. ダークモード / ライトモード

長時間の練習でも目が疲れない「ダークモード」と、屋外でも見やすい「ライトモード」を搭載。 好みに合わせて切り替えられます(デフォルトは爽やかなライトモードです)。

5. データは自分の手元に

ユーザー登録は不要です。データはブラウザ(IndexedDB)に保存されます。 機種変更などの際は、JSON形式でのエクスポート/インポート機能を使ってデータを移行できます。

技術スタック

  • Frontend: React 19, TypeScript
  • Build Tool: Vite
  • Database: Dexie.js (IndexedDB wrapper)
  • PWA: vite-plugin-pwa
  • State Management: React Hooks (Custom Hooks for timer logic)
  • Hosting: Cloudflare Pages

スピードキューブを始めたばかりの方から、本格的に競技に取り組む方まで、幅広く使っていただけるタイマーになったと思います。 ぜひ一度触ってみてください。

https://sct.yo4e.com/

この記事をシェア

← ALL NEWS TOP →