株式会社NITI Technology(本社:東京都文京区本郷、代表:金子友哉)は、複数のデバイス間でカウントダウンおよびポモドーロタイマーをリアルタイムに同期できるオープンソースソフトウェア 「DeviceTick」 を GitHub 上で公開しました。ライセンスは MIT です。

DeviceTick の体験は次の 4 つを 同時に 満たします。OSS タイマー領域で、この組み合わせを満たす実装は現時点でごく限られています。
-
ライブ同期 — 履歴ではなく「今この瞬間に走っているタイマー状態」を全端末で揃える
-
ログイン不要・URL のみで即参加 — アカウント登録ゼロ、共有はリンク 1 本
-
公開プロトコル付き — JSON Schema で API 契約を公開し、第三者が CLI・デスクトップ・物理タイマー連携など独自クライアントを構築可能
-
極めて軽量なセルフホスト — Go 単一バイナリ、DB 不要、docker compose up 1 コマンド
リポジトリ: https://github.com/NITI-Lab/DeviceTick
■ 背景: 既存 OSS タイマーが「解いていなかった」問題
在宅・ハイブリッドワークの普及により、ユーザーは作業中に PC・スマホ・タブレットを当たり前に行き来するようになりました。一方で、タイマーはほぼ常に 端末ごとに別々に走っている のが現状です。
たとえば「PC で開始した集中タイマーを、席を立った後に手元のスマホから止める」「PC で動いているタイマーの残り時間を、スマホで確認する」――こうした素朴な操作が、ほとんどのタイマーアプリでは実現できません。タイマーは開始した端末の中だけで動いており、他の端末からは見ることも操作することもできないためです。
オープンソースのタイマーアプリは数多くありますが、その大半は次のいずれかにとどまっており、「いま動いているタイマー」を端末をまたいで揃える という素朴な体験を、軽量かつオープンに提供する選択肢は限られていました。

DeviceTick は、この空白を埋めるために設計された タイマー同期エンジンと、その薄い Web クライアント のセットです。
■ DeviceTick の独自性
1. 端末間で時計がズレない仕組み
タイマーの「いま何秒経ったか」を サーバー側で一元管理 し、その情報を全端末に配信します。各端末の時計がわずかにズレていても、スリープから復帰しても、画面に表示される残り時間は揃います。ポモドーロの集中と休憩の切替も、それぞれの端末任せではなくサーバーが判定して全端末に伝えるため、ある端末だけが切り替わり損ねる、といった事態は起こりません
2. リンク 1 本で参加完了
ルームを作成すると短い IDが発行され、その URL を渡すだけで他端末や他参加者が同じセッションに参加できます。アカウント登録、メール認証、アプリのインストール、いずれも不要 です。チャットへの URL 貼り付け、QR 経由の即時共有、講師から受講者への一括配布など、共有のためのオンボーディングはゼロです
3. カウントダウンとポモドーロをひとつのアプリで
シンプルなカウントダウン(任意の分数)と、ポモドーロ(集中→休憩のサイクル、複数セット)を 同じアプリ・同じ操作感 で利用できます。両モードを使い分けるためにアプリを切り替える必要はありません。
4. 他の開発者が連携アプリを作れる、開かれた仕様
DeviceTick は API 仕様(リクエスト・レスポンス形式、配信イベントの形式)を 公開ドキュメントとして提供 しています。これにより、第三者が独自の CLI ツール、デスクトップアプリ、Raspberry Pi 等を使った物理タイマーとの連携、社内ツールへの組み込みなどを、DeviceTick 本体のソースを読まずに開発できます。「DeviceTick の実装を広めること」以上に、「この同期モデルを共通基盤として広げること」 を意図した設計です。
5. 自分のサーバーで動かせる、超軽量設計
データベースの構築も、複雑なセットアップも不要で、1 コマンドで Web 画面と API サーバーが起動します。個人 VPS、社内サーバー、Raspberry Pi クラスのハードウェアでも運用可能です。「タイマーを共有するためにクラウドサービスへの依存を増やす」必要はありません。
■ 差別化マトリクス

■ 利用シーンの例
-
個人のマルチデバイス併用 — デスクの PC で作業しながら、手元のスマホで残り時間を確認・操作
-
リモートチームの集中ブロック共有 — 離れた場所のメンバーと同じ 25 分のポモドーロを共有
-
オンライン授業・勉強会・ワークショップ — 講師がチャットに URL を貼るだけで、受講者全員の画面のタイマーが揃う
-
試験運用・ペアプロ・モブプロ — 立会人や進行役が操作、参加者全員の画面に同じ残り時間が表示される
-
物理ハードウェア連携(将来) — 公開仕様経由で物理ポモドーロタイマーを同じセッションに接続
■ オープンソースとして公開する理由
DeviceTick は、特定のクラウドサービスや特定のアプリに閉じない 「複数端末でタイマーを揃える」体験そのもの を OSS として提供することを目的としています。API 仕様を先行公開しているのは、DeviceTick 本体実装の普及そのものよりも、この同期モデルと仕様が共通基盤として広がること を志向しています。
MIT ライセンスのもと、個人・チーム・組織は自由に利用・改変・再配布でき、独自クライアントの実装、社内システムへの組み込み、商用サービスでの利用も可能です。
■ 今後の展望(v0.2 以降)
-
ルーム PIN によるアクセス制限
-
「全員が操作可能」と「特定の端末のみが操作可能」モードの切替
-
PWA 対応とモバイルブラウザでのバックグラウンド復帰強化
-
デスクトップクライアント
-
公開デモ環境の提供
-
物理ポモドーロタイマーとの無線連携
■ 技術的特徴(開発者・技術系メディア向け)
ここから先は、より技術的な観点での補足情報です。
アーキテクチャ概要
-
サーバー権威型モデル — タイマー状態は API サーバーが「単一の真実の源」として保持し、すべてのスナップショットにサーバー時刻を含めて配信。クライアントはこれを基準に時刻オフセットを補正して描画する
-
共通ステートマシン — idle → running → paused → running → completed の状態遷移上で、countdown と pomodoro の両モードを扱う
-
配信モデル — REST で状態変更を受け付け、成功した変更を WebSocket で接続中の全クライアントに session.updated イベントとして push
技術スタック

公開 API(抜粋)

スナップショットの完全な型定義は、リポジトリ内 protocol/session.schema.json を参照してください。
■ NITI Technologyについて
NITI Technologyは、最先端のAI技術を駆使し、企業のビジネスプロセスを革新するテクノロジーカンパニーです。『「面白さ」を追求しながら、社会の課題を解決し、新しい価値を創造していく』をミッションに、エッジAIや小規模言語モデル開発を行っています。
ユニークなアイディアをプロダクトととして形にし、よりより社会を実現していきます。
社名: 株式会社NITI Technology
URL: https://nititech.jp/
事業内容: AI製品の開発・販売、企業のDX支援、AI受託開発
■ 本件に関するお問い合わせ
株式会社NITI Technology 広報担当
E-mail: info@nititech.jp


