はじめに
以前はCodex CLIを使って、いくつかのツールや業務システム風のデモを作ってみました。
その後、Codex CLIからCodexのデスクトップアプリへ、さらに新しいChatGPTデスクトップアプリへと使う環境が変わりました。
現在のChatGPTデスクトップアプリでは、CodexやWorkなどの機能を使いながら、ファイルやプロジェクトを扱って作業できます。
また、Sites機能を使うと、軽量なWebアプリを作って、そのまま公開することもできます。
今回は、その機能を試して、個人用のカレンダー・タスク管理アプリを作ってみました。
作ったもの
作ったアプリは「My Day」という名前のカレンダーアプリです。
こちらから実際に試せます。
my-day-calendar.chita256.chatgpt.site
ChatGPTでログインすると、自分専用のカレンダーとして使えます。
主な機能
基本的なカレンダー・タスク管理機能を用意しました。
月間カレンダー表示
日別の予定一覧
予定の登録
予定の編集・削除
予定の詳細表示
完了・未完了の切り替え
メモの登録
画像やPDFなどのファイル添付
添付画像のプレビュー
ユーザーごとのデータ保存
Googleカレンダーとの連携は行っていません。
あくまで、ChatGPTのアカウントをユーザーとして利用する、独立した小さなカレンダーです。
添付ファイルはCloudflare R2に保存しています。
APIも用意してみた
せっかくなので、外部アプリやAIから予定を扱えるようにAPIも用意しました。
APIキーを発行すると、予定の一覧取得や登録、変更、削除ができます。
APIを使う人(?)向けに、専用のガイドページも用意しています。
技術的な構成
技術的には、ChatGPTアプリからCodexを使ってコードを書き、SitesでWebアプリとして公開しています。
データ保存にはCloudflareのD1、添付ファイルの保存にはR2を利用しています。
ソースコードはGitHubにも公開しました。
GitHub:take365/myday
細かいコードをすべて手作業で書いたわけではなく、作りたいものを説明し、実際に画面を確認しながら機能を追加していきました。
まとめ
Sitesを使うと、AIに相談しながら軽量なWebアプリを作り、そのまま公開できます。
今回のMy Dayも、最初から細かい設計を完成させていたわけではありません。
まずはカレンダーを作ってみて、そこから予定の編集、削除、添付ファイル、APIガイドなどを追加していきました。
ChatGPTを単なる質問相手として使うだけでなく、
「こういうアプリを作ってみたい」
という相談相手や開発パートナーとして使ってみるのも面白いと思います。
ChatGPT、Codex、AIを使ったプログラミングについての相談やレクチャーも行っています。興味があればお気軽にご相談ください。