株式会社NITI Technologyが、複数のデバイス間でリアルタイムにタイマーを同期できるオープンソースソフトウェア「DeviceTick」をGitHubで公開しました!このツールは、ログイン不要でURLを共有するだけで、PC、スマホ、タブレットなど、あらゆる端末で「今この瞬間」のタイマーをぴったり揃えられます。MITライセンスで提供されているので、誰でも自由に利用・改変・再配布が可能です。

DeviceTickは、以下の4つの要素を同時に満たす画期的なタイマーです。
-
ライブ同期: 履歴ではなく、「今まさに動いているタイマーの状態」をすべての端末でリアルタイムに共有します。
-
ログイン不要・URL共有のみで即参加: 面倒なアカウント登録は一切なし!リンク1本を共有するだけで、すぐにタイマーセッションに参加できます。
-
公開プロトコル付き: API契約がJSON Schemaで公開されているため、開発者さんは独自のクライアント(CLIツールやデスクトップアプリ、物理タイマー連携など)を自由に作れます。
-
極めて軽量なセルフホスト: Go言語の単一バイナリで動作し、データベースも不要。
docker compose upコマンド1つで簡単に起動でき、個人VPSやRaspberry Piでも動かせます。
なぜ今、このタイマーが必要なの?
最近は在宅ワークやハイブリッドワークが当たり前になり、PC、スマホ、タブレットを使い分ける機会が増えましたよね。でも、タイマーアプリって、ほとんどが「その端末の中だけ」で動いていて、PCで始めた集中タイマーをスマホから止めたり、残り時間をサッと確認したり…といった素朴な操作ができないことがほとんどでした。
既存のオープンソースタイマーの多くは、端末ごとにタイマーがバラバラに動いたり、「終わった記録」だけが同期されたり、秒単位のライブ同期には不向きだったりと、マルチデバイスで「今動いているタイマー」を揃えるというニーズには応えきれていませんでした。

DeviceTickは、まさにこの「空白」を埋めるために生まれた、タイマー同期エンジンとシンプルなWebクライアントのセットなんです!
DeviceTickがすごい5つのポイント
DeviceTickには、これまでのタイマーにはなかった魅力的な独自機能がたくさんあります。
- 端末間で時計がズレない魔法
タイマーの「いま何秒経過したか」は、サーバー側で一元管理されています。だから、各端末の時計が少しズレていても、スリープから復帰しても、表示される残り時間はピタッと揃います。ポモドーロタイマーの集中と休憩の切り替えもサーバーが判断するので、「あれ、自分のだけ切り替わってない!」なんてことも起こりません。 - リンク1本でサクッと参加
ルームを作ると短いIDのURLが発行されます。これを共有するだけで、他の端末や参加者が同じセッションにすぐ参加できます。アカウント登録も、メール認証も、アプリのインストールも、ぜーんぶ不要!チャットにURLを貼ったり、QRコードで共有したり、オンライン授業で講師が一括配布したりと、共有がめちゃくちゃスムーズです。 - カウントダウンもポモドーロもこれ1つでOK
シンプルなカウントダウンタイマー(任意の分数)と、集中と休憩を繰り返すポモドーロタイマー(複数セット対応)を、同じアプリ、同じ操作感で使えます。モードを切り替えるために別のアプリを開く必要はありません。 - 開発者さん、待ってました!開かれた仕様で連携アプリを自由に作ろう
DeviceTickは、API仕様(リクエスト・レスポンス形式、配信イベントの形式)を公開ドキュメントとして提供しています。これにより、第三者の開発者さんが、DeviceTick本体のソースコードを読まなくても、独自のCLIツールやデスクトップアプリ、Raspberry Piを使った物理タイマーとの連携など、さまざまな連携アプリを開発できます。「この同期モデルを共通基盤として広げたい」というNITI Technologyさんの想いが込められています。 - 自分のサーバーで動かせる、超軽量設計
データベースの構築も、複雑なセットアップも一切不要!たった1コマンドでWeb画面とAPIサーバーが起動します。個人で持っているVPSや、社内サーバー、Raspberry Piのような小型ハードウェアでも運用できるほど軽量です。「タイマーを共有するためだけに、特定のクラウドサービスに依存したくないな…」という方にもぴったりです。

どんな時に便利?活用シーンをご紹介
DeviceTickは、さまざまなシーンで活躍してくれます。
-
個人のマルチデバイス併用: デスクのPCで作業しながら、手元のスマホで残り時間をチェックしたり、操作したりできます。
-
リモートチームの集中ブロック共有: 離れた場所にいるチームメンバーと、同じ25分のポモドーロタイマーを共有して、集中時間を一緒に作れます。
-
オンライン授業・勉強会・ワークショップ: 講師がチャットにURLを貼るだけで、受講者全員の画面のタイマーがピタッと揃います。時間の管理がスムーズになりますね。
-
試験運用・ペアプロ・モブプロ: 立会人や進行役がタイマーを操作し、参加者全員の画面に同じ残り時間が表示されるので、スムーズな進行をサポートします。
-
物理ハードウェア連携(将来): 公開されている仕様を使えば、将来的には物理ポモドーロタイマーを同じセッションに接続することもきっと可能になるでしょう。
なぜオープンソースなの?
NITI Technologyさんは、DeviceTickを特定のクラウドサービスやアプリに閉じ込めるのではなく、「複数の端末でタイマーを揃える」という体験そのものを、みんなが自由に使えるOSSとして提供したいと考えています。API仕様を先に公開しているのも、DeviceTickの実装が広まること以上に、この同期モデルや仕様が「共通の基盤」として広く使われることを目指しているからなんです。
MITライセンスなので、個人、チーム、組織を問わず、自由に利用・改変・再配布が可能です。独自のクライアントを作ったり、社内システムに組み込んだり、商用サービスで利用したりと、その使い方は無限大です!
リポジトリはこちらからチェックできますよ!
https://github.com/NITI-Lab/DeviceTick
これからのDeviceTick(今後の展望)
DeviceTickは、これからもどんどん進化していく予定です!
-
ルームごとにPINコードでアクセス制限をかけられるようになるかもしれません。
-
「全員が操作可能」と「特定の端末のみが操作可能」といった操作モードの切り替え機能も追加されるでしょう。
-
PWA対応が進み、モバイルブラウザでのバックグラウンド復帰ももっとスムーズになるはずです。
-
デスクトップクライアントも登場するかもしれませんね。
-
公開デモ環境の提供も予定されています。
-
将来的には、物理ポモドーロタイマーとの無線連携も夢じゃないでしょう!
開発者さん向け!DeviceTickの技術的な魅力
より技術的な視点から見ると、DeviceTickはこんな特徴を持っています。
アーキテクチャ概要
-
サーバー権威型モデル: タイマーの状態はAPIサーバーが「唯一の真実の源」として管理し、すべてのスナップショットにサーバー時刻を含めて配信します。クライアントはこの情報を基準に時刻のズレを補正して表示します。
-
共通ステートマシン:
idle → running → paused → running → completedという状態遷移で、カウントダウンとポモドーロの両モードを扱います。 -
配信モデル: RESTful APIで状態変更を受け付け、成功した変更はWebSocketを通じて接続中の全クライアントに
session.updatedイベントとしてリアルタイムにプッシュ配信されます。
技術スタック

公開API (抜粋)

スナップショットの完全な型定義は、リポジトリ内のprotocol/session.schema.jsonで確認できます。
株式会社NITI Technologyについて
株式会社NITI Technologyは、「面白さ」を追求しながら社会の課題を解決し、新しい価値を創造していくことをミッションとするテクノロジーカンパニーです。最先端のAI技術を駆使し、企業のビジネスプロセスを革新するほか、エッジAIや小規模言語モデルの開発も手掛けています。ユニークなアイデアをプロダクトとして形にし、より良い社会の実現を目指しています。
社名: 株式会社NITI Technology
URL: https://nititech.jp/
事業内容: AI製品の開発・販売、企業のDX支援、AI受託開発

コメント