Googleカレンダー色別分析&AI振り返り自動レポート
Google Apps Script を活用し、Googleカレンダーの予定を色別に集計・分析する仕組みを構築しました。 週次で自動的に活動内容を可視化し、AIによる振り返りコメントを生成、さらにメール通知を行います。
プロジェクトの目的
「自分の生活リズムを客観的に把握し、改善につなげる」ことを目的に開発しました。就活用の技術ポートフォリオになると同時に、日々の自己管理をサポートする実用的な仕組みとして活用しています。
何を自動化したのか?
私は日常的に、Googleカレンダーを「色分け」で管理しています(例:睡眠=紫、学習=緑、家事=青など)。
このデータをもとに、以下のサイクルを自動化しました。
毎晩 翌日の予定をカレンダーに入力
行動をしたらカレンダーに内容、時間を登録
毎週土曜日 Apps Script が自動実行
カレンダー予定を色ごとに集計
スプレッドシートに表と円グラフを生成
Gemini APIでAIが振り返りコメントを作成
メールで通知
AIコメントを参考にしながら週次記事としてnoteに振り返りを書き、生活改善につなげる
この仕組みによって、技術力の活用だけでなく、自分の生活を継続的に改善する習慣を実現しました。
自動化しようと思ったきっかけは?
twitter(X)を見ているときに、こにふぁーさん(株式会社Kyash執行役員 VP of Engineeringの小西 裕介さん)のはてなブログのある記事を見つけました。
6年のスケジュールの変化
https://konifar.hatenablog.com/entry/2023/12/23/000026
すでに私はGoogleカレンダーで予定管理を行っていたので、この記事を見て「Googleカレンダーって色別で予定登録したら予定の分析できるんだ!」と思い、さっそく試そうとしました。しかし、できない。「時間の分析情報」を出すためのボタンが見つからない。調べてみたところ、無料の個人版だと表示されないっぽい。「TimeNavi とか分析サービスはあるけど、まぁ自分で作ったろ!」と思い、制作を開始しました。
どうやってコードを書いたのか?
まず、Geminiに頼んでみようと思いました。しかし、頼み方がわからない。
こちらの記事を参考にプロンプトを入力しました。
【AIプログラミング】コード生成&解説の依頼術
https://note.com/mizuhiki_kaka/n/nfb1dcd30a249
以下のようなプロンプトをはじめに入力し、色の変更やトリガーの設定方法、APIの設定、エラーへの対処は都度聞いてコードを完成させました。
GASを使ってGoogleカレンダーとスプレッドシートの操作をしたいです。GASにまだ詳しくないので、GASのコードを書いてほしいです。どのコードが何をしているかの解説も書いてほしいです。書くだけでいいです。
目的 なんのためのコードか。:Googleカレンダーに色別で予定を振り分けてみたけど、予定の分析ができていないので分析したい。自分が1ヶ月にどのような予定をどれくらいの割合で行ったかを把握して、noteに投稿したい。(予定は色別で振り分けている。 トマトイベント ミカン就労移行支援 バナナ思考整理書き バジル読書学習 セージごはん ピーコック準備 ブルーベリージム ラベンダー家事 ブドウ睡眠 フラミンゴ自由時間 グラファイト処理できてないタスク移動) 分析結果をもとにどの予定を多くするといいか、少なくするといいかをAIと一緒に考えたい。
最終的に何をしたいか?:健康的な生活を送るために、毎月1日に前月の予定の分析をして、予定の立て方の改善をしたい。その過程をnoteなどのブログで公開したい。
今後何をしたいのか?
・AI助言部分変更
現在は↓のようになっています。
あなたは優秀なライフスタイル・コンサルタントです。以下のデータは、ある人の1週間(168時間)の活動時間の記録です。
この1週間を振り返り、以下の3つの観点で分析し、アドバイスをください。
1. **今週の生活バランス評価:** 睡眠、仕事、プライベート(自由時間、学習、運動など)のバランスは取れていたか、具体的に評価してください。
2. **注目すべき点と改善案:** 最も時間の割合が大きかった活動や、逆に少なかった活動を指摘し、それが生活にどんな影響を与えているか考察してください。そして、より良い生活のためにどんな活動を増減させると良いか提案してください。
3. **来週に向けた具体的なアクションプラン:** すぐに実践できる、具体的な行動提案を2〜3個挙げてください。行動提案の詳細は調査し、ソースを書いて紹介してください。
**このままだとどうなりそうか予想:**この時間の使い方をしていると、1週間後、3か月後、3年後、100年後にどのような人間になっていそうかを予想してください。そして、未来を変化させるためにはどのような点を変えることをおすすめするのか書いてください。
#制約- 友人や親しい先輩に語りかけるような、親しみやすくポジティブな口調でお願いします。- 全体で3000字程度にまとめてください。`;
おおむね助言に満足していますが、
1 先週の助言を踏まえて行動しているので、先週の行動記録や助言を参考に今週の助言を生成してほしい
2 ジムに毎日2時間くらい行っているのに運動不足だといわれるので、活動カテゴリの推奨時間を教えて、その時間との比較をしてほしい
と今は思っているので、AI用プロンプトを変更したいです。2は簡単に実装できそうですが、1は先週のスプレッドシートとの連携が必要になりそうなのでいまは置いておきたいです。
・基本情報技術者試験学習
・JavaScript学習