3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

タイトル:【Flutter】[BABA+]を開発しました! AIと一緒に作った初めての個人開発アプリ

3
Last updated at Posted at 2026-01-20

タイトル:【Flutter】[BABA+]を開発しました! AIと一緒に作った初めての個人開発アプリ

はじめに

はじめまして!
Flutterの勉強を始めて2 ヶ月目のSliceRiceです。
今回は、学習の成果物として おばあちゃんが課題を管理してくれるアプリ BABA+ というアプリを作成しました。

開発未経験の状態から、AI(Copilot/ChatGTP等)を活用しながらなんとか完成まで漕ぎ着けました。
これからFlutterを始める方の参考になれば嬉しいです!

📱 作ったアプリ: BABA+

どんなアプリ?

おばあちゃんのデザインをしたキャラクターが課題を管理してくれるアプリです。以前、課題を提出し忘れてしまった経験があり、より課題の整理をしやすくするために作りました。

デモ(スクリーンショット / GIF)

課題がないときのホーム画面です!おばあちゃんも微笑ましい表情でかわいいですね:relaxed:

こちらが課題があるときのホーム画面です!おばあちゃんもムッ:slight_frown:っとしていますね。
早く課題を片付けましょう!!

こちらが時間割の様子です。大学の時間割をCSVファイルでインポートすることで、一括で登録することができます!!課題の残っている科目は右上にたまっている数が:scream:

主な機能

  • 機能1:課題を管理する機能
  • 機能2 時間割を表示する機能
  • 機能3:期限が近い課題の通知機能

🛠 使用技術

  • Flutter: [ 3.35.1 ]
  • Dart: [ 3.126.0 ]
  • 開発環境: [ VS Code / Android Studio ]

主なパッケージ

  • hive:軽量なローカルデータベースとして使用

  • hive_flutter:Flutter 環境で Hive を簡単に扱うために使用

  • csv:CSV ファイルの読み込み・書き出し処理に使用

  • file_picker:端末からファイル(CSV など)を選択するために使用

  • flutter_local_notifications:ローカル通知機能を実装するために使用

  • timezone:通知の時刻管理やタイムゾーン対応のために使用

  • flutter_svg:SVG 形式の画像を表示するために使用

  • freezed_annotation:不変クラス(イミュータブルなデータ構造)定義のために使用

  • json_annotation:JSON シリアライズ/デシリアライズ処理のために使用

  • charset_converter:文字コード変換(CSV 読み込み時など)に使用

🤖 AI活用のポイント

今回はメンターさんの指導のもと、AIツールを活用して開発を進めました。
具体的には以下のような場面で助けてもらいました。

  • エラー解決: エラーログをそのまま貼り付けて原因を特定してもらいました。
  • コード生成: 「〇〇なデザインのボタンを作って」と依頼してベースを作ってもらいました。
  • サイズ調整「時間割を画面サイズに合わせて」とサイズの調整をしてもらいました。

苦労した点・学んだ点

1. [ CSVファイルをうまく読み取れなかった、、、、😒 ]

大学の時間割をアプリに表示させるために、時間割のCSVファイルをインポートして処理する機能を実装しましたが、これがまあうまくいきませんでした🫠🫠🫠

CSVを読み込むだけだと思っていたものの、データの扱いでつまずくことが多く、エラーとにらめっこの日々でした。

それでも、AIやメンターさんの力を借りながら試行錯誤を続けた結果、実装が完了したのはなんと完成予定日当日!!🥸🐔
かなりギリギリでしたが、無事に動いたときは素直にうれしかったです。

今回の経験を通して、ただ実装するだけでなく、「なぜうまくいかなかったのか」を振り返ることの大切さを感じました。今後は、つまずいた原因を一つずつ理解しながら、さらなる技術力の向上を目指していきたいです。

2. [ AIは最高に作業効率を上げられる ]

今回の開発を通して、AIを使ったアプリ開発の精度の高さと作業効率の良さには本当に驚きました😳
エラーの原因を考えたり、実装の方向性に迷ったときでも、ヒントをもらうだけで作業が一気に進む場面が多く、「一人で開発しているけど一人じゃない」感覚がありました。

一方で、AIに頼りすぎてしまうと、コードの中身をちゃんと理解しないまま進んでしまうこともあり、そこは反省点でもあります🫠

これからは、AIをただの答えを出す存在として使うのではなく、なぜそのコードになるのかを自分でも考えながら、基礎的なコーディング技術をしっかり身につけていきたいです。

今後もAIは、開発を支えてくれる心強いツールとして活用しつつ、自分自身の技術力も同時に成長させていけたらいいなと思います💪

🚀 今後の課題・展望

まずは「動くものを作る」ことを優先したので、まだまだ改善したい点があります。
メンターさんとも相談し、次は以下の技術に挑戦する予定です!

  1. Gitでのチーム開発手法
    • 今はmainブランチに直接コミットしているので、Pull Requestを使った開発フローを身につけたいです。
  2. アーキテクチャ(Feature-first)
    • ファイルが増えてきたので、機能ごとに整理する構成(Feature-first)にリファクタリングしたいです。
  3. Firebase連携
    • データを永続化するために、FirestoreやAuthenticationを組み込みたいです。

おわりに

初めてアプリを完成させてみて、もう本っっっっ当にAIの進歩に驚かされました!
アドバイスやコメントをいただけると嬉しいです!


3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?