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
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
Search
Tsubasa SEKIGUCHI
September 09, 2026
Programming
85
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
470
React Native × GraphQLで TanStack Queryを 選んだ理由
tinykitten
0
79
第3木曜LT会 #28
tinykitten
0
170
スモールスタートでいこう 自作テレメトリシステム概論
tinykitten
0
68
TrainLCD v10リリース記念 TrainLCDを支える技術
tinykitten
1
610
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
0
310
初めてのハッカソンを「紙芝居」で終わらせた話
tinykitten
0
82
これならできる!個人開発のすゝめ
tinykitten
0
610
今日から使える AI駆動開発のすゝめ
tinykitten
1
140
Other Decks in Programming
See All in Programming
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
570
自分的「カンファレンスの楽しみ方」
syumai
0
190
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
55
36k
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
170
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
190
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
120
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
460
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.1k
初めての模倣学習とVLA
natsutan
0
500
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
120
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
900
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
Featured
See All Featured
Mind Mapping
helmedeiros
1
350
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
How GitHub (no longer) Works
holman
316
150k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Making the Leap to Tech Lead
cromwellryan
135
10k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Thoughts on Productivity
jonyablonski
76
5.4k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
590
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