【ハッカソン参加記】PKSHA Hackathon 2025で3位入賞した僕らが「秘書ポケ」を開発するまで
はじめに
こんにちは!先日、友人の誘いで PKSHA Hackathon 2025(B日程) に参加しました。
私自身ハッカソンは未経験で、「短期間でチーム開発を経験し、成果物を作ってみたい」「テーマである『AIエージェントの開発』が面白そう」という思いから参加を決意。幸運にも選考を通過することができました。
本記事では、私たち「チーム ヨンチャ」が、出張・外回り営業を支援するAIエージェント「秘書ポケ」を開発し、3位に入賞するまでの3日間の軌跡と、そこから得た学びを振り返ります。
開発したプロダクト:「秘書ポケ」
Googleカレンダーに登録されたアポイントメント情報をもとに、移動手段や経路、滞在先などをAIエージェントが自動で提案・登録してくれる出張者向け支援ツールです。
チーム構成
当日のチームビルディングは運営側でスキルセットがある程度均等になるように組まれ、
私たちは4人チーム(ソフトウェアエンジニア2名、アルゴリズムエンジニア2名)で構成されました。
自然とビジネスサイドと開発サイドに分かれつつも、上流工程は全員でホワイトボードやNotionを囲んで議論し、認識を合わせながら進めました。
Day 1:アイデアの探求と大きなピボット
ハッカソンのテーマは「実社会にこれから必要とされるAIエージェントとは」。
審査基準は「実用性」が重視されていました。
最初は農業・法律・教育など、幅広い分野でアイデアを出していました。
しかし、1日目のメンターフィードバックで「“誰に”作るかが重要」というアドバイスを受け、方向性が大きく変わります。
過去のAIハッカソン事例を調査し、「人間の面倒な作業を代替するサービス」に勝機があると判断。
「GoogleマップをAIエージェント化できないか?」
「デートコースを提案してほしい」
「カレンダーと連携して、メールを自動で整理してほしい」
といったアイデアが生まれました。
その中で、「これって出張や外回りで忙しいビジネスパーソンにこそ必要なのでは?」という一言をきっかけに、
**「秘書がいるようなアプリ」「ビジネス向けの方が収益性が高いし実用性がある」**という方針に。
2日目の朝、「秘書ポケ」が誕生しました。
Day 2:開発、そしてチームで乗り越えた壁
担当と役割分担
私は以下を担当しました:
- 技術選定(フレームワークの選択)
- フロントエンド開発
- デプロイまわり
バックエンド(AIエージェント)は他のメンバーが担当し、
お互いの進捗を確認しながら、連携して開発を進めました。
開発中の課題と解決策
バックエンドメンバーがAIエージェントの実装で苦戦。
Google Calendar / Maps / Tavily Searchなど複数ツールを連携させて、意図通りにLLMを制御するのは非常に複雑な作業でした。
一度手を止め、全員でホワイトボードの前に集まり、
エージェントの処理フロー・データの流れ・APIの入出力を紙に書き出して可視化することで、
問題を整理・共有し、打開策を見つけることができました。
Day 3:最終発表とフィードバック
最終日は発表とデモの仕上げ。
最もアピールしたのは、競合プロダクトに対する「秘書ポケ」の優位性です。
発表スライドでは既存ツールとの比較を図解し、
「なぜこれが必要か」「他じゃだめなのか?」という問いに先回りして答える構成にしました。
審査員からの鋭い質問:
「その機能、既存のシステムを組み合わせれば作れるのでは?」
という指摘に対して、
「『秘書ポケ』の価値は、“その日の気分や体調”といった曖昧な指示を自然言語で反映できる点にあります。これは生成AI時代だからこそ実現できた体験です。」
と答え、審査員の方も頷いてくださいました。
「秘書ポケ」が解決する課題
出張や外回りでは、移動・予定管理・ホテル手配・経費精算など、付帯業務が多すぎる。
これらの雑務に、日本では年間 約1.28億時間(約4000億円) が費やされているとも言われています。
「秘書ポケ」はこれを削減し、営業担当が本来のコア業務に集中できるようにします。
技術スタックとアーキテクチャ
- フロントエンド: Next.js
- バックエンド: FastAPI(Python)
- AI/LLM: LangGraph, Gemini API
- 外部API: Google Calendar API, Google Maps API, Tavily Search API
処理フロー
- ユーザーがGoogleカレンダーに予定を登録
- 「秘書ポケ」がカレンダーと地図を見て自動でスケジュール生成
- ユーザーは自然言語で指示(例:「電源のあるカフェを経由して」)
- AIエージェントが再提案し、最終スケジュールをGoogleカレンダーに反映
ハッカソンで得られた学び
技術的な学び
- フロントとバックエンド、LLMの連携を通じて、全体のデータフローを初めて明確に理解できた
チーム開発・ビジネス視点
- 競合調査の重要性:違いを明確に言語化することが重要
- 役割分担と合意形成:途中で認識にズレが出そうな時は、必ず立ち止まって対話する
- 開発時間外の使い方:朝会や夜の振り返りを積極的に実施することで、全体の質が向上
KPTで振り返る3日間
Keep(良かったこと)
- 最高のチームワーク
- 技術選定が早く迷いがなかった
- メンターフィードバックを即座に反映できた
Problem(改善点)
- プレゼンやUIの詰めが甘かった
- 技術の面白さをアピールしきれず、起業コンテスト寄りになってしまった
Try(次に挑戦したいこと)
- このプロダクトはまだ終わりません。継続開発して他のコンテストにも出場予定
- いずれは起業コンテストも視野に入れて本気で挑戦します
今後の展望と「敗北」から得たもの
今回は「3位」でしたが、**優勝しか見ていなかったからこそ「敗北」**だと感じました。
この悔しさをバネに、「勝つために何をするか」「継続したいと思えるか」という問いに本気で向き合い続けていきます。
最後に
悔しさもありましたが、最高のチームと最高の経験ができました。
的確なフィードバックをくださったメンターの皆様、運営の皆様、そして一緒に走り切ってくれた仲間たちに心から感謝します。
また次も必ず挑戦します!読んでくださり、ありがとうございました!