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
250
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
630
React Native × GraphQLで TanStack Queryを 選んだ理由
tinykitten
0
89
第3木曜LT会 #28
tinykitten
0
180
スモールスタートでいこう 自作テレメトリシステム概論
tinykitten
0
83
TrainLCD v10リリース記念 TrainLCDを支える技術
tinykitten
1
640
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
0
330
初めてのハッカソンを「紙芝居」で終わらせた話
tinykitten
0
90
これならできる!個人開発のすゝめ
tinykitten
0
630
今日から使える AI駆動開発のすゝめ
tinykitten
1
140
Other Decks in Programming
See All in Programming
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
1
280
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
990
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
180
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
370
最近”作らせてる” ローカルAIアプリの話
akit37
0
450
Agents on Rails - Rails at Scale 2026
irinanazarova
0
530
mrbgem 三角測量 開発
ogom
0
240
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
160
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The Curious Case for Waylosing
cassininazir
1
570
4 Signs Your Business is Dying
shpigford
187
23k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
980
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
What's in a price? How to price your products and services
michaelherold
247
13k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
260
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
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