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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Tsubasa SEKIGUCHI
September 09, 2026
Programming
230
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
610
React Native × GraphQLで TanStack Queryを 選んだ理由
tinykitten
0
87
第3木曜LT会 #28
tinykitten
0
180
スモールスタートでいこう 自作テレメトリシステム概論
tinykitten
0
81
TrainLCD v10リリース記念 TrainLCDを支える技術
tinykitten
1
630
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
0
320
初めてのハッカソンを「紙芝居」で終わらせた話
tinykitten
0
89
これならできる!個人開発のすゝめ
tinykitten
0
630
今日から使える AI駆動開発のすゝめ
tinykitten
1
140
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
440
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
110
FreeBSDでZabbixを動かす
kenkino
0
350
APNsからLive Activityを開始する話
yumnumm
0
150
setup-vp GitLab対応の裏側
naokihaba
0
150
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
440
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
Agents on Rails - Rails at Scale 2026
irinanazarova
0
330
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
130
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
Heart of Swift Concurrency
koher
0
1.2k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
180
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
A Soul's Torment
seathinner
8
3.7k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Color Theory Basics | Prateek | Gurzu
gurzu
1
480
Building the Perfect Custom Keyboard
takai
2
890
Site-Speed That Sticks
csswizardry
13
1.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
770
The agentic SEO stack - context over prompts
schlessera
0
950
YesSQL, Process and Tooling at Scale
rocio
174
15k
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