Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
デスク環境のアイディア探しサービス 「setups.」の技術選定 たかD
Slide 2
Slide 2 text
0 株式会社DINAMICAでテックリー3 0 DINAMICAではバチャナビやToursを開 0 個人でデスク環境のアイディア探しサービス 「setups.」を開発 0 Next.js, TS, Goあたりが好き 0 ドライブ、サウナ、犬と遊んだりすることが好き 自己紹介 たかD @tkd_dev
Slide 3
Slide 3 text
会社紹介 DINAMICAについて
Slide 4
Slide 4 text
会社紹介 DINAMICAのサービス
Slide 5
Slide 5 text
会社紹介 エンジニア募集中! フロントエンドエンジニア、バックエンドエンジニ アを募集しています! ぜひ一度カジュアルにお話しさせてください! Wantedlyが開きます
Slide 6
Slide 6 text
これから個人開発を始めてみたい人、個人開 発の技術選定で悩んでいる人 個人開発における技術選定のアイディアが得 られること ターゲット ゴール
Slide 7
Slide 7 text
結論 個人開発の技術選定は牛丼屋に学べ!
Slide 8
Slide 8 text
目的を明確にし、シンプルかつ安価に持続可能な選択をする 結論 個人開発の技術選定は牛丼屋に学べ!
Slide 9
Slide 9 text
背景とモチベーション 個人開発を始めたきっかけ エンジニアとしての人生を考えたときに、 自分のサービスを何か持ってみたかった Goで開発ができるようになりたかった 既存のサービスではデスク環境のアイディ アを探しづらかった
Slide 10
Slide 10 text
デスク環境のアイディア探しサービス「setups.」 H デスクアイディアで使われているデバイスやガ ジェットの商品ページにシームレスにアクセスで きC H ニッチな領域だけど、熱狂的な人が多い
Slide 11
Slide 11 text
setups.は技術選定に失敗した
Slide 12
Slide 12 text
setups.は技術選定に失敗した 経験がないのに自分が使ってみたい技術を寄せ集めた結果、 開発スピードを思うように出せず膨大なタイムロスが発生してしまった 開発初期のアーキテクチャ Frontend Storage Server Database Authentication
Slide 13
Slide 13 text
setups.は技術選定に失敗した 経験がないのに自分が使ってみたい技術を寄せ集めた結果、 開発スピードを思うように出せず膨大なタイムロスが発生してしまった Frontend Storage Server Database Authentication その結果モチベーションを維持することが困難になり、 さらにタイムロスが発生。 まさに負のスパイラル。 恐らく3ヶ月以上はタイムロスした...
Slide 14
Slide 14 text
モチベーション維持のためにしていたこと デスク関係のブロガーさん、インフル エンサーさんなどに壁打ちをさせても らい、良いFBをもらってニヤニヤする 新しい技術が扱えるようになった自分の 市場価値を想像してニヤニヤする Githubの草を眺めてニヤニヤする 壁打ち 妄想 実感
Slide 15
Slide 15 text
最終的に... アーキテクチャなどには多少の変更を加えたが Goのまま時間をかけて完成させた
Slide 16
Slide 16 text
現在の技術選定の基準 学習コストの低さ ランニングコスト ちゃんと動く 使い慣れた技術か、ドキュメントが 充実しているか 無料枠が利用できたり、 低コストで運用が可能か ユーザーに正しく体験を 届けられるか
Slide 17
Slide 17 text
現在のアーキテクチャ Frontend Server Auth Database Embeddings Storage
Slide 18
Slide 18 text
GCPメインに変更した理由 A 安い8 A 今のところ毎月500円くらB A ドキュメントが充実してい A 先人の知恵が豊富 AWSメインだった時は、リリースすらしていない のに毎月5000円くらいかかっていた。笑
Slide 19
Slide 19 text
Supabaseを選んだ理由 ` 無料で利用できる範囲が広X ` PostgreSQLをDBとして利用できP ` 認証基盤も利用できP ` ドキュメントが充実していP ` コンソールUIがかっこいい(笑) 現在はDBのバックアップのために課金している。 $30/month
Slide 20
Slide 20 text
Cloudflare R2を選んだ理由 4 安い) 4 今のところ無料でたくさんの画像ファイルを 管理できている。
Slide 21
Slide 21 text
Amazon Bedrockを選んだ理由 ` 画像のあいまい検索を実現するために、 Multimodal Embeddingsを生成するた5 ` Titanというモデルを使うことで生成できる いずれGoogle Vision AIに乗り換えるかも
Slide 22
Slide 22 text
個人開発の技術選定における「極意」 牛丼屋から学ぶことができる...w はやい! やすい! うまい! 自分の技術スタックの範囲でま ずは最速で作ってみ テストとかも初期はなくて良I ブランチ分けさえしなくて良I さっさと作ってさっさとリリー スしてユーザーの反応を見る ランニングコストを最小限に抑 えるr 継続性こそが個が勝つ道筋。 ちゃんと動くr かけた労力に対してリターンが 大きいr まずは動けば良い。品質向上は 二の次。
Slide 23
Slide 23 text
v フルTSで作るx v インフラはSupabase(or Firebase)にできるだけ任せるx v バックエンドは作らないかも。Next.jsのAPI Routeで十分動くものは作れるx v 動くものを作った上で、Goにリプレイスする。その過程でGoを学ぶx v デザインはAIに作ってもらう。or 作らない(コーディングしながらデザインしていく) もし今自分が1年前に戻ったら...
Slide 24
Slide 24 text
まとめ 個人開発の技術選定は牛丼屋に学べ! はやい! やすい! うまい! @tkd_dev 自分の技術スタックの範囲でまずは最速で作ってみる さっさと作ってさっさとリリースしてユーザーの反応を見る 自分の技術スタックの範囲でまずは最速で作ってみる さっさと作ってさっさとリリースしてユーザーの反応を見る まずは動けばOK かけた労力に対して大きなリターンを目指す