こんにちは! any のプロダクトチームでエンジニアをしている平野裕也(@yuyan_any)です。
この記事は any Product Team Advent Calendar 2025 シリーズ3 の 18 日目の記事です。
今回は、今年個人で開発して App Store にリリースしたアプリ 「Steppia」 について、
なぜ作ろうと思ったのか、どうやって進めたか、リリースしてみての感想を書いていきたいと思います。
📝開発したアプリ 「Steppia」 とは?
まず最初に、開発したアプリ「Steppia」 を簡単に紹介させてください。
Steppia は、毎日の気分や行動を “小さな一歩” として記録し、日々の気分をフィードバックしていく、をコンセプトとしたジャーナルアプリです。
着想は自分がやっている三行日記に得ました。その上で、簡単に作れそうなアプリは何かを考えて決めました。
Steppia(ステッピア)はStep(一歩)と、語呂がよさそうな「pia」を組み合わせて決めました。
機能としては、朝は絵文字を使った気分の登録とメモ📝、
夜はその日にあった「良かったこと」「悪かったこと」「明日の目標」を登録し、前日に立てた目標が達成できたかどうかのチェックも行います。
夜の登録時には記録された内容をもとに、AI が “いまの自分に必要なひと言” を返してくれるようにしてみました🤖
技術的には React Native + Expo、Supabase、OpenAI API を中心に構築し、
App Store リリース、LP公開(steppia.app)までひと通り個人で作ってみました🙋♂️
なぜ作ろうと思ったのか
きっかけは3つあります。
- any での業務を通してReact Nativeに触れたこと
- 弊社テックリードのしょーごさん(@ad-sho-loko)が個人でアプリをリリースしていて、自分もやってみたいと思ったこと
- いつかくる(たぶん)、弊社のモバイルリニューアル第2弾に備えて、React Nativeの知識をつけておきたかったこと、です。
そんな前向きな動機で始めたものの、はじめてみるとかなり大変でした。
まず、React Native はちょろっとしか触ったことがないまま、世の中の先輩たちが作り上げてくれたチュートリアルを少し終わらせた程度で知識も乏しいですし、UI/UXに関しても、モバイルアプリ観点で考えたこともなかったので、前途多難でした。
そこで、React Nativeの知識をつけるとはいったものの、
できないことはAIに任せて一緒にやっていくことにしました。
技術スタックと構成
先に技術スタックと構成ですが、React Native + Expoは絶対に使うことを決めていたので、
それ以外に関しては、個人開発ということもあり、過去に使用したことのあるものかつ、コストが抑えられる技術を選びました。
なので、データベースには Supabase を使用し、メール認証には Resend のサービスを使用しています。
AIは OpenAI APIがわかりやすかったので、選択しました!
LP のサイトは20分で作って Cloudflare を使ってデプロイしています👨💻
その他、アプリといえば広告がよくついているイメージがあり、
どういう仕組みで表示されて収益が上がるのか気になったので、試しに Google AdMod を使って広告表示もしています💰
実装の進め方、工夫したこと
① デザインの知識がゼロなので、AI に任せた
デザインはさっぱりとしたものであれば自分で実装が容易だったのですが、
どうしてもウェブアプリ感が出てしまう、もしくは既存アプリの劣化のようになってしまう感じがしましたので、stitch というサービスを使って、10パターンぐらいを生成してもらいました。
stitchはまず依頼してプロトタイプを出力してもらったあと、対話形式で微調整を行えます。
作成したものは HTML 形式で取得できるのも、その後の開発でとても助かりました。
ただし、それでもウェブアプリ感があると個人的に感じるのは、私が見慣れたものを採用した結果かと思います😅
②アプリのガワを AI に作成してもらい、以降は常にAIにレビューしてもらった
アプリの実装にはじめようにも 、0 → 1の部分が難しく、開発スピードがかなり落ちてしまったので、手っ取り早く AI に大まかなガワの作成を依頼しました。
AI に依頼する上で実施したことは以下です。
- stitch で作成した UI の HTML をフォルダに格納
- どんなアプリを作りたいかのコンセプトをドキュメントにして格納
- どこまではやってほしい、やってほしくないを明確にルール化(コア機能の開発は自分で実施したかったため)
その上で、上記ドキュメントやコードを参照し、コードを生成してもらうように Claude Code に依頼しました。
以降は自分で調べ調整しながらコア機能を開発、データベースとのやり取りや OpenAI API との結合部分も、外部に漏れたり、おかしなことになったら大変だと思ったので、自分で実装し、3種類くらいの AI にレビューしてもらった記憶があります(それでも大丈夫か今も不安です🥶)
③意図的に機能を削った
現状は朝晩の質問の回答、AI からのフィードバック、カレンダーを通した過去履歴の閲覧くらいしかできませんが、本当はあれもこれもと、色々な機能を盛り込むつもりでした。
ただし、そうするとリリースが出来ずにモチベーションの低下が起きると感じたため、シンプルな作りにしようと決めました。
本当は週一でレポートが送られてきたり、日々の目標の提案を AI からさせたりしてみたかったのですが、それは今後追加しようと思います(たぶん)
大変だったこと
大変だったことはたくさんあるのですが、特に3つ挙げると
- Apple 周りのルールとか設定とかわからなさすぎる
- AI へのプロンプト難しい
- リリースフローや広告の設定など、テック記事などに前例の少ない事柄が多い
でした。
今回はiOSアプリとしましたので、Apple への登録や申請をはじめてしてみたのですが、結構悩まされました😓
Apple Developer の登録がうまくいかず、危うく2つのアカウントで有料登録しそうになったり、何度もアプリの申請をしたりと…
だた、これは同時にとても良い学びになりました。
こういった申請フローなどは体験しないとわからないことだと思いますし、自ら行動しなければ経験することのないことですので、とても貴重な学びとなりました。
AI プロンプトはシンプルに難しかったです。
トークンとの兼ね合いなどを考えながら、自分が満足のいく結果を返してくれるまで、どういった書き方がいいのかなどを試行錯誤してやっていました。
テックブログなどを参考に実施してみましたが、この分野はいつかもっと深く勉強したいなと思っています。
また、リリースフローや AdMod など、とにかく誰かの参考をしようにも、参考となる記事が多くないため、自分で調べて理解して設定していかなければならず、これまで多くの先人たちに助けられてきた私としては、中々に辛いものがありましたが、これも強制的に勉強になったので、良かったとも思います💪
おわりに
個人開発に関しては、あまり市場分析や他にどんなアプリがリリースされているのか全然調べずに初めてしまったので、あとから X や 個人開発している方のブログ記事 などを見て、みんなすごい発想だな〜とか、UIがきれいだな〜とか、自分のものと比較して少し落ち込みました😂
とはいえ開発・リリースを一人で経験し、色々な学びを得られたことはとても大きい財産になったと思います。
今は欲が少し出てきて、次はちゃんと誰かに使われるアプリ、誰かの助けになるアプリを作ってみたいですね👀
(Steppiaも誰かに使ってもらえるようにアップデートしていきます!)
今回の経験が今後の業務に役立つ日が来ると信じて、引き続きやっていきたいと思います!
お読みいただき、ありがとうございました!