👻

AIを活用してサービス作ったけどモチベが低下した

に公開

※前半はサービス紹介となります。本題は「モチベの低下」からになりますので興味のある方のみ前半を見ていただけるとうれしいです

作ったサービス

おしゃれをする際にコーディネートを検索することが多いと思いますが、ユニクロなどのブランドサイトを見るとかっこいい外人さんが着ていたり、WEARなどのストリートスナップではおしゃれな人ばかり写っていて参考にならないことや自分に合ったファッションがなかなか見つからないことが悩みでした。そこで生成AIなら多種多様なコーディネートや人を表現できるんじゃないかという考えから「LAHYL(ライル)」というサービスを作りました。

https://lahyl.me

sample.gif

コンセプトとしては

Let AI Handle Your Look!

「外見なんかAIに任せとけ」という意味で頭文字をとってLAHYLとなりました

サービスに対する考え方

いかに暇を潰せるかが重要だと考えていて、電車の中や寝る前のスマホいじっている時間になんとなくLAHYLを見るような世界線になるといいなと思っております。ユーザー参加型のサービスも魅力的ですが、自分の能力値や金銭面を考えたうえでユーザー参加型サービスを利用してもらうことは難しいと考えた結果、コンテンツ消費型のサービス(見る専)にしました。必需品を作るというよりは別に必要ないけどなんとなく手に取ってしまう本屋に置いてある雑誌のような位置付けを目指してます

アーキテクチャ

image.png

アーキテクチャのコンセプトはお金が掛からない範囲で最大限のパフォーマンス出すというわがまま構成を目指しており上記の構成になりました。

こだわりポイント

  • Cloudflare Workers

あきらかに金額設定がおかしく今後のスケーリングには十分耐えられることを考えた結果フロント、バックエンドに採用しました。Cloud Runと迷いましたが、デメリットであるコンテナやネイティブAPIが使えないなど制約があるぐらいで必要になった場合は別の手段で代用出来るためCloudflare Workersが最適だろうという結論になりました

https://x.com/mizchi/status/1959960014644490263

フレームワークはCloudflare Workersを使うために必然的にNext.Js、Honoとなりました。

  • Elasticsearch

生成AIであればほぼ無限(お金さえあれば)にコンテンツが作れます。過去に100万件以上のデータを扱った際にパフォーマンスが低下し、リレーショナルデータベースで耐えられなくなることがあり、Elasticsearchを利用した経験があるので今後の拡張性を考えた結果選定することになりました。

Elasticsearchは高額になるイメージがありますが、自前で構築してしまえば比較的安価に済むため、下手なSQLを選ぶよりかははるかに良いと思っています。以前に簡単に構築する方法を書きました↓

https://qiita.com/ikuosaito1989/items/48838d5aa011b0e0a499

Cloudflare D1は魅力的でありましたが、SQLである、トランザクションが貼れない、無料枠が少ないという点が引っ掛かり、それならElasticsearchでよくない?と思い見送りました

  • Kaggle Notebook

画像生成AIサーバーとして利用しています。初めは自宅PCからStable Diffusionを使って生成してましたがP100というメモリが16GもあるハイエンドなGPUが無料で週30時間も使えるので電気代を加味するとKaggleを利用する方がお得なため選定しました。Google Colab Proを契約し、Kaggleと連携すると週45時間もGPUが使えるのも魅力のひとつです

https://www.kaggle.com/code

  • Cloudflare R2

Google Cloud Storageをつかっているので候補に上がりましたが、どこをとってもR2に軍配が上がるので選定しました。画像はwebpにしているのでサイズも小さく、1億枚保存したとしても月1万程度で済みます(雑な試算ですが)データ転送量いくら使っても無料なので最強だと思います。

https://www.cloudflare.com/ja-jp/developer-platform/products/r2/

費用

掛かった費用は月2000円ぐらいで自前で構築したElasticsearchのみです。データベースもD1を使えば無料で運用できるのでやはりCloudflareはおかしい。ほとんどCloudflareで構成しているのですが個人的には国内のConoha VPSなどのVPS系で構築するのもおすすめです。ちまたで話題となった質問箱のインフラはもともとVPSで構成されていたとかなんとか(今はGCPに移行してエグいことになっているそう)

https://x.com/Peing_net/status/1959506542342099375

バイブコーディング

私はChatGPTに課金しているのでCodex CLIを使いました。LAHYLを作りはじめた当初はバイブコーティングをしておらず、1からつくっていましたが途中でCodexにCLIが誕生したとの話を聞き、がっつり利用しました。今回初めてNext.js、Honoを使いましたが、自分が得意とするフレームワークや言語を開発するスピードや品質に遜色ないレベル(むしろそれ以上)で開発できたことに驚きが隠せませんでした。所管としては、簡単なトラブルシューティングができる程度の知識を持つ言語やフレームワークに対して利用すると生産性が上がり、まったく知識がないものだと最初の1週間ぐらいは作れるけどあとは難しくなってくるような印象です。

https://openai.com/ja-JP/codex/

モチベの低下

いままでは個人開発でサービスを作って公開したことを自分のアイデンティティとして大事にしてきました。ただ、ここ近年のAIの進化は凄まじく、指示すれば作ってくれるし問題が起きてもすぐに解決します。今までは技術的に難しい問題があったら一生懸命ググって解決するまで数ヶ月かかったこともあるけどここ最近はすぐに解決します。技術選定に関してもLAHYLは個人開発というスモールスタートが重要な要素となってくる状況において最適解の構成になっていると思いますが、これもAIと壁打ちしたことで出た結論なので自分の能力を活かしてできた成果ではありません。最初のアイデア以外はほとんどAIが作ってくれたという感じがあり、LAHYLというサービスに対して情熱を持てず、サービスを育てていったり、宣伝することが少し億劫になっていました。

AIによって気付かされたもの

AIによって気付かされたことがあり、それはプログラミングを楽しんでいたということでした。ものを作って見ず知らずの誰かが使ってくれることに充実感を感じていて、それが一番重要だと考えていたのでプログラミングなんてせずにものが作れるといいなと思っていましたが、プログラミングを楽しんでいたし誇りに感じていることに気付かされました。5年前にローンチしていまだに運用しているolcarというサービスがありますが、これはバックエンドをC#、フロントをNuxtで書いていてCloud Runで運用していて非常に珍しい構成だと思いますが、陳腐化させずに運用していることを誇りに思っていますし、アウトプットする際にはNext、Honoの構成より前者の方が自信もって発信できると感じています。自分が思っていたよりも技術という要素は個人開発において重要であり、魅力的な遊びをAIに取られたと感じるようになっていました

マイノリティが強みの時代

ここ数年「Next.jsでVercelにデプロイしてます!」みたいなのが多く、新しく作るものは問答無用でNext.jsが最高みたいな風潮があると思います。これは流行りの問題なのかなと考えていましたが、AIと壁打ちした結果、言語やフレームワークに対するこだわりを抜くと最適解だと感じました。おそらくこの流れはしばらく変わる気配がなく、Next.js使っていれば安牌だと思います。ただ、マジョリティな技術を使っていてもこのようなアウトプットやその技術が使えることに対する価値は低くくなります。今は言語やフレームワークに差がなく、好きなものを使えば良い時代だと思っているので自分のスキルセットに合った技術や好みの技術を使ってアウトプットすることに価値があると思います。AIや流行りに流されず、自分が考えた技術を使っていけば技術力やコミュニティなど得ることが多いのでこれからはすきなものを好きなように使うことが大事なのかなと考えるようにしています

さいごに

AIによって個人開発も容易になった状況ですが、いろんなサービスが増えることは必ずプラスに働くと思うので、個人開発を頑張っている方や私と同じようにモチベーションが低下している方への一助になればと思います。

ファッションに興味あるなし関係なく、面白いサービスだと思うのでぜひLAHYLをよろしくお願いします!!

https://lahyl.me/

Discussion