都合の良い時間候補をマウス操作で簡単に作成できるWebアプリ「freetime」

この記事の内容

  • Exchange Online の予定表を読み込み、空き時間候補をテキスト化する Web アプリを紹介します
  • マウスで時間帯を選ぶだけで、メール貼り付け用の文章が自動生成されます
  • Azure AD(Microsoft アカウント)認証を使い、誰でも無料で利用できます
  • 組織内で使う場合は管理者による初回同意が必要です
  • ChatGPT(GPT-4)を活用して週末に開発した実例として、AI ペアプログラミングの可能性も紹介します

背景:「空き時間をメールで伝える」が意外と面倒

外部の方と予定を調整するとき、「○月○日(○曜日)の○時から○時、および○時から○時が空いております」といった文章をメールで送ることがよくあります。

この作業、予定表を見ながら手作業でテキストを作るのはなかなか手間がかかります。既存のツールではうまく対応できるものが見当たらず、毎回時間をかけていたという方も多いのではないでしょうか。

そこで今回は、この課題を解決するために作られた Web アプリ「freetime」をご紹介します。


Webアプリ「freetime」とは

URL: freetime.episode.net

Exchange Online の予定表データをブラウザ上で可視化し、都合の良い時間帯をマウスで選ぶだけで、メールに貼り付けられるテキストを自動生成してくれる Web アプリです。誰でもアクセスして利用できます。


使い方

1. サインインする

Web アプリにアクセスすると、まずサインインを求められます。

  • Azure AD アカウント(職場・学校アカウント)
  • Microsoft アカウント(個人アカウント)

どちらでもサインインが可能です。

2. 予定表情報を取得する

サインイン後、「予定表情報を取得」ボタンを押します。すると、Exchange Online に登録されている予定が画面上に表示されます。実際の予定表と同じ内容が取得されます。

3. 都合の良い時間帯をマウスで選択する

画面に表示された予定表の中から、都合の良い時間帯をマウスでドラッグして選択します。選択した時間帯は自動的に下部のテキストエリアに追記されていきます。

例えば以下のように操作します。

  • 「1時から4時」を選択 → テキストに追加される
  • お昼休みは空けておきたい → その時間帯は選択しない
  • 30分だけ空いている時間帯も細かく選択できる
  • 間違えた場合はテキストエリアを直接編集して修正できる

テキストエリアの冒頭には「私の都合の良い日時は下記です」という文章があらかじめ入力されているため、選択した時間帯をそのままメールに貼り付けられる形になっています。

4. クリップボードにコピーしてメールに貼り付ける

「クリップボードにコピー」ボタンをクリックすると、生成されたテキストがクリップボードに保存されます。あとはメーラーや Teams などに貼り付けるだけです。


組織内で利用する場合の注意点(管理者同意)

このアプリを組織の全ユーザーが利用できるようにするには、管理者アカウントによる初回の同意操作が必要です。

初回アクセス時に、以下の権限に対して同意を求める画面が表示されます。

  • プロファイルの読み取り
  • カレンダーの読み取り
  • 付与した権限の管理

「この組織の代理として同意する」にチェックを入れて「承諾」をクリックすることで、組織内の全ユーザーがこの Web アプリを利用できるようになります。この操作は管理者が一度だけ行えば完了です。

補足: 開発者が Microsoft パートナー ID(MPN ID)を持っていない場合、アプリが「未確認」として表示されます。今回はそのケースに該当しており、個人開発のため仕方のない制限事項となっています。


開発の背景:ChatGPT(GPT-4)と一緒に週末で作った

このアプリは、ChatGPT(GPT-4)を活用しながら週末に開発されました。

最初はゼロからコードを書き起こそうとしましたが、ChatGPT の出力をそのまま使うだけではうまくいかないケースも多くあったとのことです。最終的には、React のシングルページアプリケーション(SPA)のテンプレートとなる GitHub プロジェクトを土台にして、そこに手を加えていくアプローチでスムーズに完成しました。

完全に AI が生成したコードをそのまま使うのではなく、内容を理解した上で自分で編集・修正する部分も必要でした。それでも「やりたいことを言葉で伝えながら一緒にプログラムを書く」というスタイルは、非常に効率的で楽しいものだと感じたそうです。


まとめ

  • Exchange Online の予定表から空き時間候補を素早くテキスト化できる Web アプリ「freetime」を紹介しました
  • マウスで時間帯を選ぶだけで、メール用の文章が自動生成されるシンプルな操作感が特徴です
  • freetime.episode.net から誰でも利用でき、Azure AD またはMicrosoft アカウントでサインインできます
  • 組織内で全ユーザーに利用させる場合は、管理者による初回の同意操作が必要です
  • ChatGPT(GPT-4)と React の既存テンプレートを組み合わせることで、週末という短期間での開発を実現しており、AI ペアプログラミングの実用的な活用例としても参考になります