プログラミングスクール「RUNTEQ」
個人開発アプリ「アングリーカードジェネレーター」
■サービス概要 日常のちょっとしたストレスをカードゲーム風に遊び心を持って昇華させるためのアプリです。 ユーザーが入力した文章からAIがストレスの姿を画像生成し、オリジナルのアングリーカードとして召喚できます。 召喚されたカードを見て、クスッと笑えて気持ちが昇華できたり、友達に共有してネタとして昇華できたらいいなという思いのアプリです。 Github:https://github.com/itomiki35/angrycard_generator ■作ろうと思った理由 おもしろおかしく、ちょっとしたストレスを解消できるツールが欲しいと思ったからです。 日常生活の中で、プログラミング学習中にエラーで躓いて抜け出せない時など、もやもやしたりストレスを感じた時に、Twitterやyoutubeでちょっとした面白い動画を見ることで、クスッと笑えて気分が切り替えられる経験をしてきました。 画像生成AIが流行し、自分でも触ってみた時に、生成された画像がシュールで笑えたりしたので、画像生成AI機能を用いてストレスを画像化して、カードにしたら面白いと思って作りました。 また、スクールで学んでいない新しいことを取り入れてみたかったというのも理由の一つです。 ■使用した技術スタック ・バックエンド Ruby ・フレーム Ruby on Rails ・フロント HTML/SCSS/Javascript -CSSフレームワーク Tailwind css、daisyUI ・インフラ heroku、PostgreSQL(データベース)、S3 ・その他 画像生成AIのAPI Text to image(JapaneseStableDiffusion) ■苦労したところ、頑張ったところ 画像生成AIを組み込むことです。 画像生成AIとrailsを組み合わせた情報がネット上でほとんど見つからなかったため、手探りの中、API導入にあたって「[Postman](https://www.postman.com/)」を使って、APIのレスポンスがどういう風に帰ってくるのか試したり、レスポンスがBase64エンコード文字だったため、それを画像に変換するにはどうすればいいか調べて、画像変換ツールで実際に画像化できるか試したり、デバックツールを用いて一つ一つプロセス内の状態を確認し、トライアンドエラーしながら進めていくことで実装できました。結果、知らない情報に対しても、情報を分解してコツコツ一つずつ試行錯誤して積み上げていく経験ができましたのでよかったです。 ■実装期間 約2ヶ月。 画像生成AIの機能を組み込むのに苦労し、時間をかけてしまったため、バックエンドはメインで学習しているRuby on Railsに絞り、フロントもdaisyUIを導入して、なるべく早く公開できるよう努めました。 流行りのtailwind cssではありますが便利なテンプレートが多くあったり、レスポンシブ対応も簡単に実装ができるのでストレスなく開発に取り組めました。 ■使用したAPIについて Text to Image API(https://developers.rinna.co.jp/product#product=text-to-image-api) rinna社が開発した、日本語に特化した画像生成モデル「Japanese Stable Diffusion」のAPI(Text to Image API)を使用しました。 類似の画像生成AIに、DALLE2などがありますが、日本語対応しており、無料であるという点でJapanese Stable Diffusionを選択しました。 ■今後の追加実装 感情分析AIでカードの強さをつけるなど、カードの種類を工夫したいです。 画像生成AIで、AIのAPIを使うのが楽しかったので、感情分析APIなどを用いた開発もやってみたい。 フロント側にreactを導入し、もっとリッチなカードゲーム風なアプリにしたいので、reactを学習中です。