2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

飽き性な私でもVibe Codingでアプリが作れた話

Last updated at Posted at 2025-07-20

はじめに

最近、仕事でお客さんとの打ち合わせが増えてきました。
みなさんは「議事録」ってどうしていますか?

昨今、AIを活用した議事録作成サービスは数多くあり、とても便利な時代になりました。

しかし、お客さんとのミーティングとなると、機密情報を扱うことが多いため、気軽にそれら議事録作成サービスに音声や内容を預けるのは、セキュリティ・プライバシー面でどうしても敷居が高くなってしまいます。

「であれば、自分で、安全な環境で議事録・要約アプリを作ってしまおう!」と考えたのが、アプリを作ろうと思ったキッカケです。

AWS Bedrockなどの自前環境で動かせる仕組みを使い、データの送信先を自分で管理できるアプリにすれば、機密情報を渡さずに自動議事録が実現できるはず。。。

そこで、昨今流行りの「Vibe Coding」で、実際にアプリを作成してみました。

作成したアプリは以下です。

colo-preview

アプリの仕様

仕様まとめ

  • プラットフォーム:デスクトップアプリ(Tauri 2)
  • 認証不要:個人利用前提なので認証処理は省略
  • フロントエンド:React(Bolt.new を使用)
  • バックエンド:Rust(Tauri)
  • AWS:Terraform で自前で構築可能
  • Lambda関数:すべて Go 言語で実装

なぜ Web ではなくデスクトップアプリか?

Webアプリにすると、セキュリティ・プライバシー面で認証やらなんやら実装しないといけないのと、認証ページがあることで、一気に気軽に使用できる感が無くなるので、デスクトップアプリとして開発しました。

フロントエンドについて

フロントエンドは、Ractです。ここは0->1実装を得意とする、Bolt.newに書いてもらい、そのまま Tauri に貼り付けました。

Bolt.new は小さなWebページであれば無料枠でも十分なので、フロントエンドを0->1で実装するならBolt.new を個人的にオススメします。

バックエンドについて

Tauriのバックエンドは、Rustで書きます。

なお、Rust は今回初めて使いました。あまりにも難しい言語で、いくらVibe Codingでも、実装の結果の良し悪しがわからず、、、最低限の言語仕様だけを学んでAIを駆使してなんとか書き上げました。

正直ここはメチャクチャ苦労しました💦

AWS 構成について

以下のような構成になっています。

architecture.drawio.png

  • 動画のアップロード、ダウンロードは、署名付きURLを払い出して、そのURL経由でアップロード、ダウンロードを行う
  • 動画のアップロードを行うと、それを検知して、AWS Transcribeが自動で動作し、動画の文字起こしを自動で行う
  • 議事録の作成は、WebSocketを用いて、AWS Bedrockからの回答をStream Responseで返す
  • 動画や文字起こし、AWS Bedrockからの回答はすべて各々S3へ格納

なお、LambdaはすべてGo言語で書きました。
ローカル環境からTerraformを扱うことが前提となっているため、 mac と windows でビルド環境の差異を減らしたかったことからGo言語によるビルドで amd64 でデプロイするようにしました。

飽き性な私でもアプリが作れた

私は飽き性なので、ここまでのアプリを作ったのはホント久しぶりでした。

そんな私でもCursorのAIとVibe Codingで、なんとかアプリを作ることができました。

以下、Vibe Codingでアプリを作ってみたときのメリット・デメリットを整理してみました。

メリット

  • アプリを作成するスピードが早く、アプリを作るモチベーションを保つことができる
  • 面倒な作業はすべてAIがやってくれる
  • 実装方法がわからなくても、一旦AIに書かせてみることで、どのように実装すると良さそうなのかわかってくる

デメリット

  • 自分の知らないことをAIに書かせても、それを自分で「合ってる」「間違ってる」を判断できないので、「ちゃんと動くアプリ」を作ることは難しい(自分も「わからない」AIも「わからない」だとうまくいかない)
  • 一度に多くのコードをAIに書かせても、うまくいかないことが多い
  • 自分の考えた仕様をAIに書かせるだけなので、そもそも自分の考えた仕様が間違っていると、うまくいかない

さいごに

Vibe Codingは、アプリを作るモチベーションを保つことができ、実装方法がわからなくてもAIの書いたコードを見て、学びを得ることができます。

一方で、自分で「合ってる」「間違ってる」を判断できないような、自分が理解していない言語やフレームワークなどをAIに書かせても、うまくいかないことが多いと感じました。

私の場合、Tauriを使うのも初めてで、Rustを使うのも初めてでした。
そのため、「あっちのエラーを修正したら、こっちでエラーが起きた」が頻繁に発生して、最低限自分で「合ってる」「間違ってる」を判断できるようにRustの書籍を読んだりしました💦

Vibe Codingができることで、モノづくりの敷居はとても低くなった気がするので、何かアイディアをお持ちの方は是非Vibe Codingでアプリを作ってみてください!!

ではでは👋

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?