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
MOSKINというTypeScriptプロダクトを新規立ち上げする中で踏んだ地雷
Search
KintoTech_Dev
June 10, 2026
420
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MOSKINというTypeScriptプロダクトを新規立ち上げする中で踏んだ地雷
KintoTech_Dev
June 10, 2026
More Decks by KintoTech_Dev
See All by KintoTech_Dev
クルマのサブスクの"出口"で 値付けAIを作る
kintotechdev
1
120
ClaudeCodeでセキュリティ監視業務を半自動化_1年の運用でわかったAIに任せる設計の5つのポイント
kintotechdev
4
1.1k
AI Native Dev 6ヶ月の歩み
kintotechdev
2
120
アラート疲弊からの脱却へーSOC業務における_AI_エージェント活用の実践_v2.pdf
kintotechdev
7
2.2k
人とエージェントが高め合う協業設計
kintotechdev
0
3.3k
AI_Dev_Day_製造業領域でのAI活用から見た活用の罠と成功に導く実践知.pdf
kintotechdev
0
370
RAGの精度向上とエージェント活用
kintotechdev
2
240
KINTO Fukuoka Tech Lounge #1 E2E × AI
kintotechdev
0
110
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
3
1.7k
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
First, design no harm
axbom
PRO
2
1.3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Curse of the Amulet
leimatthew05
2
14k
Docker and Python
trallard
47
4.2k
Chasing Engaging Ingredients in Design
codingconduct
0
300
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Making the Leap to Tech Lead
cromwellryan
135
10k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Transcript
MOSKINというTypeScriptプロダクトを新規立ち上げする中で踏んだ地雷 -きんはむちゃんのTypeScript奮闘記- 新サービス開発部 FACTORY EC開発G 鈴木 優里 2026/06/10
新サービス開発部 FACTORY EC開発G 鈴木 優里 "きんはむちゃん" as { "夫による呼び名": "きんはむちゃん"
} 2023年KTC入社 UPGRADE FACTORYのFEを担当 2025年よりMOSKINの立ち上げからFEを担当 開発業務以外にも販促映像制作や商品・イベントで の撮影・ユーザーインタビューも担当している 私は複雑な型テクニックはあまり使わず 業務でシンプルにTypeScriptを使うタイプです - 特別なことはしていない - 普段の開発で使うレベル
None
モータースポーツの ワクワク全力応援。 2025年8月6日MOSKINのサービスがスタート‼️ 極限のスピードがドライバーを鍛え、クルマを鍛え るモータースポーツの世界。 体験したい気持ちはあっても、なかなか一歩踏み出せ ない。 その一歩、KINTOが応援します。 サブスク スポーツカーレンタル
https://motorsport.kinto-jp.com/ サーキットレンタル 走行・体験イベント
開発状況 サービス企画 × WEB立ち上げが同時進行 サービスのオペレーションも同時進行での企画だったので要件が定まりにくい PdM不在 実働はデザイナー1名・FE2名 リテラシーの差 Business:
- 事業部=モータースポーツ・自動車ドメインのプロ、WEB開発知見は少ない Develop: - WEBのプロ、車に興味あるメンバーは30%の割合 事業・開発共に、ほぼ初対面でのスタート 事業側の役割分担もわからず、開発内でも誰がどんなことを得意とするのかがわからず進めようにも 頼める人か不明な状況
コンテンツ - BEなし: - ミニマムリリース前提 - JSONでページ生成 コンテンツ運用:
1, Excelで入力(Excelのデータは事業部) 2, JSONに変換 3, ページ生成
今日の話 この状態で踏んだTypeScriptの地雷
地雷① Excelが仕様を壊した
理想 Excelに入力すればページ生成!
現実 - 情報がExcelに収まらない - 入稿が間に合わない - 独自フォーマットで連携される
結果 - JSON構造が崩壊 - 型にハマらない - UIも崩れる
学び - 入力フォーマットは運用で壊れる - 型より先に運用設計が必要
+α 地雷(データ理解不足) そもそもデータが理解できてなかった
状況 - 車のプロではない - 私はペーパードライバー
起きたこと - 数値と単位の区別がつかない - 全部stringにしそうになる type CarSpec = { power:
string; }
- わからないものに型はつけられない 学び - 型は知識をデータに対応させるルール - stringは「諦め」の型
地雷② 変わるJSONを型で守ろうとした
なぜ起きたか - 要件変わる - Excel崩れる - JSON変わる → でも型は守ろうとする
結果 - unionだらけ - optionalだらけ → 型の意味が消える
状態 - 型はある ✅ - でも何も守ってくれない ❌
学び - 型は“変わらないもの”に使う - 広げすぎると価値がなくなる
地雷③ 型があっても認識がズレてた
状況 同じ型を見ているのに解釈が違う type Event = { status: "open" | "closed";
} 開発: open:リンク表示 closed:終了した情報ごと非表示 事業: open:リンク表示 closed:イベント終了だが情報を表示
結果 - 型は正しい - でも表示がバグる 本質 - TypeScriptは「構造」は保証する - でも「意味」は保証しない
学び - 型はチームの共通言語 - 合意がないと意味がない
- JSONは仕様になる(特にBEがない場合) まとめ - 入力(Excel)は必ず壊れる - 型は「理解しているもの」にしかつけられない - 型は「安定」と「合意」に使う
ご静聴ありがとうございました