Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
デスク環境のアイディア探しサービス「setups.」の技術選定
Search
たかD
January 19, 2025
2
200
デスク環境のアイディア探しサービス「setups.」の技術選定
setups.
https://setups.site/about
たかD
January 19, 2025
Tweet
Share
More Decks by たかD
See All by たかD
デスクセットアップのアイディア探しプラットフォームを個人開発してみた話
tkd_dev
2
1.1k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
Six Lessons from altMBA
skipperchong
27
3.6k
Building an army of robots
kneath
302
45k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Mobile First: as difficult as doing things right
swwweet
222
9k
The Cult of Friendly URLs
andyhume
78
6.1k
Why Our Code Smells
bkeepers
PRO
335
57k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
KATA
mclloyd
29
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Transcript
デスク環境のアイディア探しサービス 「setups.」の技術選定 たかD
0 株式会社DINAMICAでテックリー3 0 DINAMICAではバチャナビやToursを開 0 個人でデスク環境のアイディア探しサービス 「setups.」を開発 0 Next.js, TS,
Goあたりが好き 0 ドライブ、サウナ、犬と遊んだりすることが好き 自己紹介 たかD @tkd_dev
会社紹介 DINAMICAについて
会社紹介 DINAMICAのサービス
会社紹介 エンジニア募集中! フロントエンドエンジニア、バックエンドエンジニ アを募集しています! ぜひ一度カジュアルにお話しさせてください! Wantedlyが開きます
これから個人開発を始めてみたい人、個人開 発の技術選定で悩んでいる人 個人開発における技術選定のアイディアが得 られること ターゲット ゴール
結論 個人開発の技術選定は牛丼屋に学べ!
目的を明確にし、シンプルかつ安価に持続可能な選択をする 結論 個人開発の技術選定は牛丼屋に学べ!
背景とモチベーション 個人開発を始めたきっかけ エンジニアとしての人生を考えたときに、 自分のサービスを何か持ってみたかった Goで開発ができるようになりたかった 既存のサービスではデスク環境のアイディ アを探しづらかった
デスク環境のアイディア探しサービス「setups.」 H デスクアイディアで使われているデバイスやガ ジェットの商品ページにシームレスにアクセスで きC H ニッチな領域だけど、熱狂的な人が多い
setups.は技術選定に失敗した
setups.は技術選定に失敗した 経験がないのに自分が使ってみたい技術を寄せ集めた結果、 開発スピードを思うように出せず膨大なタイムロスが発生してしまった 開発初期のアーキテクチャ Frontend Storage Server Database Authentication
setups.は技術選定に失敗した 経験がないのに自分が使ってみたい技術を寄せ集めた結果、 開発スピードを思うように出せず膨大なタイムロスが発生してしまった Frontend Storage Server Database Authentication その結果モチベーションを維持することが困難になり、 さらにタイムロスが発生。
まさに負のスパイラル。 恐らく3ヶ月以上はタイムロスした...
モチベーション維持のためにしていたこと デスク関係のブロガーさん、インフル エンサーさんなどに壁打ちをさせても らい、良いFBをもらってニヤニヤする 新しい技術が扱えるようになった自分の 市場価値を想像してニヤニヤする Githubの草を眺めてニヤニヤする 壁打ち 妄想 実感
最終的に... アーキテクチャなどには多少の変更を加えたが Goのまま時間をかけて完成させた
現在の技術選定の基準 学習コストの低さ ランニングコスト ちゃんと動く 使い慣れた技術か、ドキュメントが 充実しているか 無料枠が利用できたり、 低コストで運用が可能か ユーザーに正しく体験を 届けられるか
現在のアーキテクチャ Frontend Server Auth Database Embeddings Storage
GCPメインに変更した理由 A 安い8 A 今のところ毎月500円くらB A ドキュメントが充実してい A 先人の知恵が豊富 AWSメインだった時は、リリースすらしていない
のに毎月5000円くらいかかっていた。笑
Supabaseを選んだ理由 ` 無料で利用できる範囲が広X ` PostgreSQLをDBとして利用できP ` 認証基盤も利用できP ` ドキュメントが充実していP `
コンソールUIがかっこいい(笑) 現在はDBのバックアップのために課金している。 $30/month
Cloudflare R2を選んだ理由 4 安い) 4 今のところ無料でたくさんの画像ファイルを 管理できている。
Amazon Bedrockを選んだ理由 ` 画像のあいまい検索を実現するために、 Multimodal Embeddingsを生成するた5 ` Titanというモデルを使うことで生成できる いずれGoogle Vision
AIに乗り換えるかも
個人開発の技術選定における「極意」 牛丼屋から学ぶことができる...w はやい! やすい! うまい! 自分の技術スタックの範囲でま ずは最速で作ってみ テストとかも初期はなくて良I
ブランチ分けさえしなくて良I さっさと作ってさっさとリリー スしてユーザーの反応を見る ランニングコストを最小限に抑 えるr 継続性こそが個が勝つ道筋。 ちゃんと動くr かけた労力に対してリターンが 大きいr まずは動けば良い。品質向上は 二の次。
v フルTSで作るx v インフラはSupabase(or Firebase)にできるだけ任せるx v バックエンドは作らないかも。Next.jsのAPI Routeで十分動くものは作れるx v 動くものを作った上で、Goにリプレイスする。その過程でGoを学ぶx
v デザインはAIに作ってもらう。or 作らない(コーディングしながらデザインしていく) もし今自分が1年前に戻ったら...
まとめ 個人開発の技術選定は牛丼屋に学べ! はやい! やすい! うまい! @tkd_dev 自分の技術スタックの範囲でまずは最速で作ってみる さっさと作ってさっさとリリースしてユーザーの反応を見る 自分の技術スタックの範囲でまずは最速で作ってみる さっさと作ってさっさとリリースしてユーザーの反応を見る
まずは動けばOK かけた労力に対して大きなリターンを目指す