はじめに
最近、AIを活用したシステム開発が注目を集めています。特に「詳細な要件定義をAIに書かせて、そのとおりに実装させる」というアプローチが推奨されがちです。
......でも、そんなに最初から全部なんて、考えられない😓
私はどちらかというと、モノを「作りながら考える」タイプです。動くものがあってはじめてイメージが湧くし、アイデアも出てくる。技術も使ってみないと、どこにどう使うのかもよくわからない。
そこで今回、AI時代の"プロトタイプ駆動開発 という考え方でアプリを作れないかとやってみることにしました。
🧠 AI時代の「作りながら考える」開発スタイル
あの有名な「MVP(Minimum Viable Product)」のイラストをご存じですか?
✗ 「まずは車の部品から揃える」やり方(Not like this)
〇 「最初から乗れるものを作って、進化させていく」やり方(Like this)
この考え方、「ユーザー体験」の文脈だけでなく、学びながら開発を進めたい個人開発者にもあっていると思うんです。
出典:Making sense of MVP(Henrik Kniberg)
今、私が作っているもの
私が現在開発しているのは、ペンや筆で描くお絵描きの下絵を生成するアプリです。
このアプリは、画像から輪郭線や中心線を抽出して、ペンプロッターで好きな大きさに描けるデータに変換するもの。いずれは有料化やスマホアプリ展開も視野に入れています。
でも、最初から知らない技術を使った複雑な要件や構成は考えられません。
こんなふうに段階を踏みながら、その間のジャンプ(Colab → Webアプリなど)をAIに翻訳してもらうことで、少しずつ前に進んでいます。:
🛹 ステップ1:とにかく動くColab(アルゴリズム検証)
- Python + OpenCV + scikit-image
- 骨格抽出や輪郭線抽出のロジックだけを実装
なんかアウトプットだけはイメージ通り。OK!
🛴 ステップ2:Streamlitで簡易Webアプリ化
- ボタンで画像アップロード、処理、CSV/SVG出力
UIも最低限だけど、人に見せられる!
🚲 ステップ3:FastAPI + Astro による本格Web化
- バックエンド・フロントエンド分離
SupabaseやStripeを使ってユーザー認証や課金の導入予定
🛵 ステップ4:モバイルネイティブ化(FastAPI + Expo)
- React Native (Expo)でスマホアプリ化
- APIバックエンドはWebと共通のFastAPIを使い、フロントエンドだけをExpo(React Native)で構築する想定です。
Bluetoothでペンプロッターと接続も視野に
今できたところ、そしてこれから
少なくとも今は、
✅ Colab → Streamlit の移行までは成功しました!
実際のデモはこちら 👉 下絵生成アプリを試してみる
Colabで作ったアプリを、AI(o4-mini-high)に渡してStreamlitにして、細かいところをCursorと一緒に自分で微調整しました。
このあとも、進捗があったらこのQiitaで報告していきたいと思います。
おわりに
もちろん、大規模開発やチーム開発では明確な要件定義や設計も重要です。
でも、個人開発や学びの場では、まず動かして試すことがとても効果的だと感じています。
「最初から最新の技術を活かした設計で作らなきゃ」と思うと、その最新の技術やフレームワークを知らないと手が止まってしまう人もいますよね。でも、AIの時代だからこそ、
- まず動くものを作る
- AIに、より高度な技術やフレームワークに“翻訳”してもらう
- さらに改善していく
というやり方で学ぶことも可能になっているのではないかと思います。
- モノを見ないと考えられない人
- 作りながら学びたい人
- 小さく始めて、大きく育てたい人
そんな方の参考になればうれしいです!
また報告します!