Slide 1

Slide 1 text

個 人 開 発 の 技 術 選 定 の 極 意 L u n c h L T 個 人 開 発 サ ー ビ ス を 使 っ て も ら う た め の 技 術 選 定 川上 奈津美(@natsumican63) 2025年1月21日

Slide 2

Slide 2 text

みなさんの個人開発の目的は?

Slide 3

Slide 3 text

学習のため とりあえずリリース 一発あててFIREしたい なんかたのしそう 個人開発の目的

Slide 4

Slide 4 text

学習のため とりあえずリリース 一発あててFIREしたい なんかたのしそう 個人開発の目的 みんなちがってみんないい!

Slide 5

Slide 5 text

今日のお話の対象者:

Slide 6

Slide 6 text

今日のお話の対象者: せっかく作るからには 多くのユーザーに使ってもらいたい 個人開発者

Slide 7

Slide 7 text

話さないこと

Slide 8

Slide 8 text

技術選定以外の「使ってもらうため」の話 個人開発のテーマ選び 最初のユーザーのあつめ方 マーケティングなどなど 👇️よかったら読んでみてくださいね https://speakerdeck.com/natsumican63/personal-dev-acceleration-tactics

Slide 9

Slide 9 text

自己紹介 @natsumican63 川上 奈津美(なつみかん) 一児の母 受託制作会社、自社サービス会社を経て 現在はフリーランスエンジニア

Slide 10

Slide 10 text

なにをつくってるの? 家族向けの情報共有アプリ「ポストック」 おたよりやレシピなど家族で情報共有できるアプリ 毎日3,000〜4000人が使ってくれている 口コミで広めてくれたりフィードバックをくれる熱 量の高いユーザーさんが多い https://postock.app/

Slide 11

Slide 11 text

ユーザーに使ってもらうための 『3つの“低”』

Slide 12

Slide 12 text

①低コスト 長く運営することが、ユーザーの信頼につながる 収益化前でも維持しやすいよう、ランニングコストを抑える 無料枠のある技術を積極的に活用する

Slide 13

Slide 13 text

②低運用 ユーザーが増えても安定して動作する仕組みを選ぶ 重い動作は離脱やレビュー評価の悪影響を招く 個人開発はリソースが限られる。自動スケールなど手のかからない 運用を

Slide 14

Slide 14 text

③低実装 少ないコードで多くのユーザーに素早く届ける フィードバックを即反映し、ユーザーの愛着を高める 例: クロスプラットフォームの採用 認証はIDaaS(Firebase Authなど)を活用 サーバーとクライアントで言語(TypeScript)を統一

Slide 15

Slide 15 text

採用した技術 検討したが見送った技術

Slide 16

Slide 16 text

採用した技術 バックエンド クライアント 分析 デザイン Firestore Cloud Storage Firebase Auth Cloud Functions TypeScript ReactNative(Expo) Sentry Amplitude Canva

Slide 17

Slide 17 text

Firebaseを選んだ理由 無料枠を活用し、収益化前でも運営を維持できる 認証・DB・ストレージ・ホスティングが揃っているので最小限の 設定ではじめられる ユーザー増加時に自動でスケールしてくれる 使っている個人開発者や情報が多い

Slide 18

Slide 18 text

ReactNative(Expo)を選んだ理由 Web開発のバックグラウンドが活かせる Dev Client機能で、Managed WorkflowのままXcodeを触らずにカ スタムネイティブライブラリを利用できる コマンドひとつでビルドからストア提出まで行ってくれる OTAアップデートで、ストアを通さず迅速にユーザーへ反映

Slide 19

Slide 19 text

Canvaを選んだ理由 テンプレートが豊富で操作が簡単 ストア画像やLP制作にも使え、デザイン作業の効率が上がる

Slide 20

Slide 20 text

今の技術構成でよかったこと この2年間、大きな障害が発生していない 低コストかつメンテナンスの手間が少ないため、仕事と育児で忙し い時期も安心して運用できた 証明書の管理やビルド〜ストア提出が自動化されており、開発に集 中できた ドキュメントや事例が豊富で、生成AIを活用した開発効率化がしや すかった

Slide 21

Slide 21 text

現在の技術構成で苦労したこと NoSQL(Firestore)とRDBの違いに慣れるまで時間がかかった Firestoreの制約(全文検索やJOINの非対応)を補うための工夫が必 要だった。

Slide 22

Slide 22 text

検討したが見送った技術 GraphQL / PlanetScale 業務で使っていたので検討 APIレイヤー追加など構成が増えるため断念 組織と個人開発では最適解が異なる Supabase Firebaseと比較し、開発当時(2023年)は情報量の多さを優先 Flutter React Native + Expoに慣れていたので見送り 新しい技術は1つまで に抑え、学習コストを最小化

Slide 23

Slide 23 text

とはいえ技術選定に正解はない 無料枠があったから選んだのに、突然有料化してしまったり… 正しい技術選定はないが、“後悔”しにくい技術選定はある

Slide 24

Slide 24 text

「ユーザーにとって本当に必要か?」 を軸にして考えるということ 後悔しにくい技術選定とは

Slide 25

Slide 25 text

ちょっぴり“後悔”は減るかもしれない

Slide 26

Slide 26 text

まとめ 低コスト で長期運営を実現し、持続可能な開発を支える 低運用 で手間を減らし、急なユーザー増加にも柔軟に対応 低実装 で開発効率を高め、素早く改善サイクルを回す 「ユーザーに本当に必要か?」を軸に、後悔しにくい技術選定を

Slide 27

Slide 27 text

ご清聴ありがとうございました!