プロジェクトの概要
とある事業者様からのご依頼で、PCやスマートフォンアプリを開くことなく「電話」を使って出退勤の打刻を行える、音声認識型の勤怠システムを開発いたしました。
従業員が指定された専用の電話番号にコールし、自動音声応答(IVR)のガイダンスに従ってプッシュボタン操作、もしくは直接の「音声」で回答するだけで、クラウド上のデータベースへ即座に勤怠が記録される仕組みとなっています。
課題解決と実装のポイント
電話回線を利用した「アプリ不要」の打刻フロー
特別なデバイスや専用の打刻アプリの操作に不慣れな現場スタッフであっても、誰もが日常で使い慣れている「電話」を打刻インターフェースとして採用することで、システム導入時の学習コストと心理的ハードルをゼロに抑えました。
電話着信の受け口および音声ガイダンスの生成・入力処理(IVR)にはクラウド通信APIである **Twilio** を全面的に採用し、アナログなユーザー操作を瞬時にデジタルデータへと変換しています。
FirebaseとSlackを用いたリアルタイムな打刻共有
<<Slackへ実際に打刻通知(出勤・退勤)が届いている画面のスクリーンショット>>
Twilioで受け取ったプッシュ情報・音声情報は、バックエンドとして採用した **Firebase** へとセキュアに転送され、打刻ログとして永続化されます。
さらに、Firebase側でデータが記録されたタイミングをトリガーに、業務用のチャットツールである **Slack** へ対象者の打刻状態を即時通知(WebHook)するロジックを構築しました。これにより、管理者は打刻管理画面の前に張り付く必要性がなくなり、社内チャットを眺めるだけでスタッフの出退勤状況をリアルタイムかつ直感的に把握することが可能となっています。
技術スタックと選定背景
電話という特殊なリアルタイム・インターフェースとモダンなWeb技術をシームレスに結合させるべく、以下のフルスタック構成を採用しました。
- Twilio (IVR / 音声API)
電話着信のルーティング、音声合成(Text-to-Speech)によるガイダンス再生、およびタッチトーン・音声入力の認識コンポーネントとして利用。 - Firebase
バックエンドのサーバーレス環境およびリアルタイムデータベースとして採用。Twilioからのコールバック処理(Webhook受信)や打刻データの蓄積を担当。 - Vue 2
管理者向けに提供した簡易的な打刻コンソール(ログ・ユーザー管理画面)の構築基盤として採用。 - Slack API
管理者の業務効率化を促すためのリアルタイム・インテグレーション。