React Native(Expo)+Amplify Gen2でシンプルアプリを爆速個人開発
趣味でリリースしたIOSアプリ(Androidは近日中に)
アプリ概要
こころの整理、いつでもあなたのそばで。
忙しくても、通えなくても。あなたのこころのそばにいる、バーチャルセラピスト。
「Cozyhug」は、話を聞いてほしいとき、気持ちを整理したいとき、軽いストレスを和らげたいときに寄り添う、AIチャット型のバーチャルセラピストアプリです。
![]() |
![]() |
![]() |
![]() |
🌿こんな方におすすめ
- 忙しくて時間が取れない社会人
- 初めてメンタルケアに触れてみたい方
- 誰にも話せない気持ちを、そっと吐き出したいとき
🦁主な機能
-
AIチャット機能
あなたの話を否定せず、そっと聞いてくれるバーチャルセラピスト。気持ちを整理しやすいように、自然な対話で寄り添います。
-
気分ログ機能
1日1回、あなたの気分を記録。チャートで変化を見える化し、自分の心の動きを知る手助けに。
作ろうと思った理由
体調を崩したことがあったため、その課題を少しでも解決できないかと思ったため。
複雑でなくシンプルなアプリを作ってみたかった。
技術スタック
- モバイルアプリ: React Native
- プラットフォーム: Expo
- UI: Tamagui
- バックエンド: AWS Amplify Gen2
- 認証: Cognito
- DB: DynamoDB
- API: AppSync
- Storage: S3
- Function: Lambda
- AI: Bedrock
FlutterとFirebaseではないの?
React Nativeを選んだ理由は、私がもともとWebエンジニアであり、趣味でReactを扱っていたためです。
今回はその経験を活かすため、React Nativeを選択しました。
Amplifyを採用した理由は、AIにBedrockを使いたかったためで、インフラをAWSに統一したかったからです。
Expo楽
特に、
- ネイティブ環境構築いらない(XcodeとかAndroid Studioとか最小限でいい)
- expo start(run)ですぐシミュレータ・実機で動かせる
- OTA(Over The Air)アップデートできる
- ライブラリのエコシステムが整ってる
あたりがいい。
Amplify Gen2いいね
- CDKベースでちゃんとインフラがコード管理できる
- 型もちゃんと付く(特にデータ型定義がすっきりしてる)
- ローカルプレビューができる
- 何より従来のAmplify特有の「謎ブラックボックス感」が減った(まだまだ課題はありですが)
「アプリ開発の速度」めちゃくちゃ上がりますよね。
サンドボックス環境
特に、
- コマンド一つでAWSのローカル用リソースを即座に作ってくれる
- プロダクション環境に影響を与えずに試行錯誤できる
- モデル作り直したり、リレーション組み替えたりが怖くない
- 結局「最終的にデプロイする時だけ」本番AWSにちゃんとデプロイ
って流れがめちゃくちゃ開発しやすい。
しかも裏側ではちゃんとCDKだから、変なAmplify特有の魔法も少なくて済む。
個人的には、
「最初ローカルで爆速試作 → いい感じになったら本番デプロイ」
ってできるの、ほんと開発体験レベル違うなって思ってます。
ただし、作成されたリソースの管理はしっかりしないとあかん。
将来的な拡張
- Androidアプリのリリース
- ユーザーインサイトに基づくパーソナライズ
- サブスクリプション
良かったことは?
- 設計からリリースまでを体験できた
- 趣味だからノルマがない
大変だった
- IOS審査、4度くらい通らなかった
- Androidアプリ、クローズドテストのテスターの壁(現在ようやくテスト中!)
最後に
「Cozyhug」は、シンプルな機能に絞ったおかげで、設計からリリースまでスピード感を持って開発することができました。
特に、React Native × Expo、Amplify Gen2の組み合わせは、小規模なアプリ開発には本当に相性がよく、ちょっとしたアイデアでもすぐ形にできる開発体験を味わえました。
もし「自分でもアプリを作ってみたいな」と思っている方がいれば、シンプルなものから始めると、想像以上に早くリリースまでたどり着けるかもしれません。
これからも、Cozyhugを少しずつ育てていきます!
お世話になりました
Discussion