こんにちは!名桜大学の健康学科の学生です。
先日開催されたfan-milyハッカソンに参加し、AIの力を借りながらWebアプリ開発に挑戦しました。
この記事では、プログラミング初心者の私が、アイデア出しからアプリ完成までをどう乗り越えたのか、特にAIをどのように活用したかについて共有します。
この記事を読んでほしい人
- プログラミングに興味があるけど、何から始めたらいいかわからない人
- ハッカソンに出てみたいと思っている人
- AIを使った開発(AI駆動開発)って何?と気になっている人
- プログラミングを勉強したけど挫折した人
開発したプロダクト
- アプリ名: Theme Flow Architect
- コンセプト: アイデアソンやハッカソンのテーマ決めを補助する
- URL: https://fan-lab-self.vercel.app/
- **GitHubリポジトリ:https://github.com/b23024056/fan-lab
1. アイデアの誕生:解決したかった課題 (Why)
今回のハッカソンでは、まず「課題」を見つけるところから始まりました。
- 私が解決したかった課題: ハッカソンでのテーマ選択に時間が掛かる問題
- なぜそれを解決したかったのか: 私自身が今回のハッカソンでテーマ選択に時間が掛かったため
-
AIとのアイデア出し:
- Geminiにこんなプロンプト(指示)を投げかけました
課題 アイディアソンで課題が出ない
目的 アイディアソンで課題が思いつくように
5w1hでフローチャートで書く
いつ アイディアソンをやる時
どこで ハッカソン
誰 自分
何を アイディアを思いつくように5w1hの型を作る
なぜ アイディアソンで課題がでない
どのように 5W1hを使ってアイディアを最終的に出す。
このアイデアをAIで解決するためのアプリを作りたいです。(原文)
- Geminiにこんなプロンプト(指示)を投げかけました
簡単な要件定義を作成して
- テーマの着想を助けるという機能が、自身の作りたいものと合致したため、このテーマで制作することに決めました。
2. 設計図作り:AIと要件定義
アイデアが決まったら、次は「何を作るか」を具体的にする要件定義です。ここでもAIに大いに助けてもらいました。
-
どんな機能が必要か:
- フォームに入力した内容をもとにテーマを作成する
- テーマを表示する
-
Gemini Canvasを使ってみて:
- 中間発表で「もっと分かりやすくした方が良いのでは?」というフィードバックをもらい、修正しました。
3. 開発本番:AIペアプログラマーとの奮闘記
いよいよ開発です。今回はVS Code + GitHub Copilotという、AIがコーディングを助けてくれる環境で開発しました。
-
開発環境
- 使用言語: HTML, CSS, JavaScript
- AIツール: GitHub Copilot, Vercel AI
- その他: Visual Studio Code
一番苦労したこと:エラーとの戦い
開発中、APIキーが適応されない問題に悩まされました。
- エラー内容: クリックしても反応しない
-
試したこと:
- まずGitHub Copilotにエラー箇所を見せて、コメントで「このエラーを直して」とお願いした。
- メンターさんに相談した。
-
解決策:
- 原因はJavaScriptのエラーでした。
AI駆動開発、最高!と思った瞬間
GitHub Copilotは、まさに「隣にいる凄腕プログラマー」でした。
- 指示を出すだけでコードを生成して内容をあんまり理解しなくても作成できた。
- 繰り返し同じようなコードを書く場面で、自動で補完してくれてタイピング量が激減した。
- プログラミング言語を理解しなくてもアプリを作成できる。
4. 完成したアプリの紹介
こちらが、2日間で開発した「Theme Flow Architect」です!
-
主な機能
どんな課題を解決したいか、誰を対象にしているか、いつ、どこで使用するかの三つの
フォームを記入するとAIが自動的にテーマを出してくれます。 -
こだわったデザイン・UI/UX
- シンプルで直感的に使えるように、ボタンの配置を工夫しました。
-
今後の展望
- 使用者の評価を元に変えていきたい
5. ハッカソンを終えて:学びと感謝
あっという間の2日間でしたが、得られたものは非常に大きかったです。
-
技術的な学び:
- Webアプリが動く仕組みを、身をもって体験できた。
- AIに指示をする時には何をして欲しいのか明確にする必要があることを理解した。
-
AI駆動開発の学び:
- AIは魔法の杖ではなく、自分の意図を正確に伝える「プロンプト」が重要だとわかった。
- 要件定義の質がアプリの完成度に大きく関わっている
- 初心者でもアプリを作成することができる
-
これから挑戦したいこと:
- 一人でアプリを作る
最後に、手厚くサポートしてくださったメンターの皆様、運営の皆様、そして一緒に頑張った参加者の皆さん、本当にありがとうございました!