Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
Search
Tsubasa SEKIGUCHI
September 09, 2026
Programming
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
MOSH Tech Meetup #5 あなたが「好きなこと」× エンジニアリング
Tsubasa SEKIGUCHI
September 09, 2026
More Decks by Tsubasa SEKIGUCHI
See All by Tsubasa SEKIGUCHI
エンジニアでも捗る デザイナー的思考入門(bitA Edit 新ver)
tinykitten
1
650
React Native × GraphQLで TanStack Queryを 選んだ理由
tinykitten
0
97
第3木曜LT会 #28
tinykitten
0
180
スモールスタートでいこう 自作テレメトリシステム概論
tinykitten
0
84
TrainLCD v10リリース記念 TrainLCDを支える技術
tinykitten
1
640
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
0
330
初めてのハッカソンを「紙芝居」で終わらせた話
tinykitten
0
91
これならできる!個人開発のすゝめ
tinykitten
0
640
今日から使える AI駆動開発のすゝめ
tinykitten
1
140
Other Decks in Programming
See All in Programming
golang-bob.pdf
iwatsukayura
0
130
Simple Storage Service(S3) is not simple
iwatsukayura
0
310
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
240
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
140
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.7k
Next.js: The final boss of Web Performance
guaca
0
310
気持ちぃ〜角丸 Squircle
ryu1013
0
330
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4.3k
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
230
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
510
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
34k
Featured
See All Featured
Leo the Paperboy
mayatellez
10
2.4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Ruling the World: When Life Gets Gamed
codingconduct
0
410
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
A better future with KSS
kneath
240
18k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
810
Transcript
2026.09.09 | MOSH Tech Meetup #5 個人開発基盤をまるごとCloudflareに引っ越して 爆速で総合的体験を向上させた話 How I
Moved My Whole Personal Dev Setup to Cloudflare and Blown-Fast Improved the Whole Vibe Freelance Frontend Engineer Tsubasa SEKIGUCHI
2026.09.09 | MOSH Tech Meetup #5 フリーランス フロントエンドエンジニア 関口 翼
Tsubasa SEKIGUCHI aka TinyKitten 2
2026.09.09 | MOSH Tech Meetup #5 フリーランス フロントエンドエンジニア TinyKitten タイニーキトゥン
aka 関口 翼 3
2026.09.09 | MOSH Tech Meetup #5 電車のあの画面、持ち歩けます。 TrainLCD 今までありそうでなかった あなたのスマートフォンで使える
トレインビジョン 4
2026.09.09 | MOSH Tech Meetup #5 ポートレートモード機能 ストアリリースしました! ポートレートモードを使用するには 先に設定画面で有効化が必要です。
5
2026.09.09 | MOSH Tech Meetup #5 TrainLCDアプリの裏側を まるごと引っ越し Moving the
entire backend to Cloudflare Workers 6
2026.09.09 | MOSH Tech Meetup #5 移行の詳しい話は ブログに まとめました https://blog.tinykitten.me/posts/
stationapi-cloudflare-migration/ 7
2026.09.09 | MOSH Tech Meetup #5 きっかけはとあるミートアップ Cloudflareだけで 動かせるのでは? TrainLCDを見せたらとても好評
でも自宅サーバ+BFFの構成は 「勿体ない」と言われました それが今回の引っ越しのきっかけ 某ミートアップでの提案が 移行のきっかけに 8
2026.09.09 | MOSH Tech Meetup #5 📱 TrainLCD App BFF
(Cloudflare Workers) 🏠 自宅:API + DB ちなみにこれまでの構成 APIの本体は 自宅のラズパイ Cloudflareの中継役(BFF)が アプリからの問い合わせを受け APIとデータベースへ送る構成 Raspberry Piで実運用していました GraphQL → gRPC-Web → PostgreSQL 出典:TrainLCD/StationAPI #1635・#1640 9
2026.09.09 | MOSH Tech Meetup #5 📱 TrainLCD App 引っ越してみると
すべての実装が Cloudflareの中に Cloudflare Workers WorkersからGraphQLを直接返す設計 BFFでの変換も 外部DBへの問い合わせも不要に 構成がすっきりしました API処理とデータをWorkersの中へ 出典:TrainLCD/StationAPI #1640・docs/architecture.md 10
2026.09.09 | MOSH Tech Meetup #5 📄 🦀 生成データ Rust
データベースはどこへ? データも一緒に シングルバイナリ WebAssembly 鉄道CSVとバスデータをRustで整理 APIのコードと一緒に WebAssemblyへ変換 データの更新時は再デプロイ コードとデータをひとつのバイナリに 出典:TrainLCD/StationAPI #1640・docs/architecture.md 11
2026.09.09 | MOSH Tech Meetup #5 2層API → 1層GraphQL(Workers) domain
/ use_case は再利用 sqlx(PSQL) → インメモリRepository レイヤー分離の設計が役に立った ドメイン層は そのまま活用 2層実装だったAPIは1層に置き換え Repositoryはインメモリ実装に 既存のdomain / use_caseを活かし WASMへビルドしてWorkersで実行 ドメイン層を活かして配信・データ層を置換 出典:TrainLCD/StationAPI #1635・#1640 12
2026.09.09 | MOSH Tech Meetup #5 爆速パフォーマンス改善 A faster app.
A faster development workflow. 13
2026.09.09 | MOSH Tech Meetup #5 ⏱️ 約5〜10倍 更新後のベンチマークで高速化を確認 根拠:StationAPI
#1650 爆速レスポンス アプリの待ちが ほぼなくなった 構成変更と追加最適化を含む比較で 約5〜10倍高速になったデータも 切り替えたTrainLCDはAPI待ちが 総合してほぼゼロに 14
2026.09.09 | MOSH Tech Meetup #5 ⏱️ 7分半 ⏱️ 6.3秒
PostgreSQL → Pure Rustでデータ生成 根拠:TrainLCD/StationAPI #1640 爆速マイグレーション データの取り込みが 7分半 → 6.3秒に DBに取り込んでいたデータを DBの要らないPure Rust実装に 開発・CI・本番のどこからも PostgreSQLが要らなくなりました 15
2026.09.09 | MOSH Tech Meetup #5 ✅ ✅ ✅ 18クエリ
全フィールド正常応答 鉄道・バス 列車種別・系統の齟齬なし レスポンス速度 旧設計と比べて性能低下なし 爆速リグレッションテスト AIを活用した 回帰チェック 旧APIの応答と生成データを比較 経路が0件になる実装漏れも発見 爆速で動くことに加えて 結果が回帰していないか確認 AIで新旧APIのレスポンスを比較 根拠:TrainLCD/StationAPI #1640 16
2026.09.09 | MOSH Tech Meetup #5 📱 💻 ☁️ ユーザー体験
APIの待ち時間がほぼゼロに 開発者体験 データ取り込みが6.3秒に 運用体験 自宅サーバ・DB・BFFを集約 根拠:TrainLCD/StationAPI #1640・#1643 まとめ 基盤の引っ越しで 総合的に爆速体験に ミートアップでもらった一言から アプリの待ち時間が爆速に 開発・運用の構成も変わった 17
2026.09.09 | MOSH Tech Meetup #5 ご清聴ありがとうございました! Thank you for
listening! Freelance Frontend Engineer Tsubasa SEKIGUCHI