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
270
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
660
React Native × GraphQLで TanStack Queryを 選んだ理由
tinykitten
0
100
第3木曜LT会 #28
tinykitten
0
180
スモールスタートでいこう 自作テレメトリシステム概論
tinykitten
0
86
TrainLCD v10リリース記念 TrainLCDを支える技術
tinykitten
1
650
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
0
330
初めてのハッカソンを「紙芝居」で終わらせた話
tinykitten
0
91
これならできる!個人開発のすゝめ
tinykitten
0
640
今日から使える AI駆動開発のすゝめ
tinykitten
1
140
Other Decks in Programming
See All in Programming
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
380
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
280
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
120
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
210
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
460
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
120
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.8k
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
240
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
180
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
210
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4.6k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
410
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Statistics for Hackers
jakevdp
799
230k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
590
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Navigating Team Friction
lara
192
16k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
740
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Navigating Weather and Climate Data
rabernat
0
560
Faster Mobile Websites
deanohume
310
32k
Evolving SEO for Evolving Search Engines
ryanjones
0
330
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