はじめに
最近、AIがエンジニアのかわりになるというのをよく耳にして、実際に使って何かサービスを作ってみようと思った。またこれからサマーインターンや就職活動が始まるにあたって何かを作って話せる内容を作っておきたく、今回「ぽもログ」というサービスを作りました。
簡単な自己紹介
・地方の国公立大学に通っている大学生(B3)
・専攻は情報学
・プログラミング経験は地元の零細企業のインターンで1年半ほど
開発したwebサービス
ぽもログ
本題に入る前に少しサービスの紹介をしようと思います。
主に4つの機能
・カレンダー
・ポモドーロタイマー
・AIが1日を評価
・ブログ
があります。
カレンダー
カレンダーには毎日の記録をメモできます。
他の人のカレンダーを見に行くこともできる。
自分のカレンダーを公開、非公開にもできる。
ポイントを他の人に譲渡することもできる。
ポモドーロタイマー
25分で作業に集中して取り組むことができる。
25分を1ポモドーロといいたまるごとに100ptがもらえる。
これはギフトカードやPayPayに交換できる
AI評価
AIが1日の頑張りを評価してくれる
xで共有して200ptをgetできる
記事
使った技術
バックエンド技術
・Flask + Blueprint構成:ルーティングの分離(routes.py)でモジュール化を実現
・セッション管理:Flask標準のセッションを使用してTwitterログイン or 通常ログインを区別
・Supabase連携:ストレージを使った画像のアップロード(ブログ投稿用)
フロントエンド技術
・HTML + Jinja2テンプレート:全ページ(home.html, pomodolo.html など)にて使用。
・JavaScript:
Pomodoroタイマー制御(pomodolo.js):作業時間切り替えとポイント記録【fetch API】
FullCalendar.js連携(calendar.js):カレンダー表示、公開設定、メモ入力
CSS設計:レスポンシブ対応(@media)含むデザインチューニング(スマホ対応)
AI連携機能
・OpenAI API (gpt-4o) を利用した自己評価機能
AIを使った開発で思ったこと
AIを活用することで、開発スピードは格段に向上しました。もしAIがなければ、開発にはおそらく5倍以上の時間がかかっていたと思います。特にフロントエンドに関しては、基本的な構造をAIに生成してもらい、その後、細かい部分を自分で調整するというスタイルを取りました。
ただし、AIにコードを書いてもらうと、自分が十分に理解していない部分も出てくるため、結果的にバグや不具合の原因になることがあります。そうしたリスクを避けるためにも、生成されたコードの内容は極力自分で調べて理解するように心がけました。
このサービスでは、OpenAIのAPIやX(旧Twitter)のAPIを使用しています。これらの連携を行う際にも、AIは非常に役に立ちました。APIの最新情報を網羅的に扱った記事を探すのは手間がかかるうえ、情報が古かったり不完全だったりすることもあります。そうした中で、AIを通じて公式ドキュメントを効率よく読み解く手助けが得られたのは非常に大きかったです。
また、エラーが発生したときにも、AIは原因の特定や解決方法の提示において大きな助けとなりました。エラーメッセージに対する説明や、再発防止のための解説まで示してくれるため、とても勉強になりました。
終わりに
今回初めてwebサービスを作り、作る前ほどハードルは高く感じませんでした。ほとんど自己満足のようなアプリになってしまったのでこの後はどうするか未定ですが集客やマネタイズまで少し考えてみようと思いました。
よかったらぜひ使ってみてくださると幸いです。最後まで読んでくれてありがとうございました。