How afterexam/kaggle-tpu-lab-mobile works
Kaggle TPU Lab Mobile is an Android companion for configuring and racing Kaggle accounts to obtain TPU instances, monitoring startup, and chatting with the resulting model endpoint. Its main path runs from the app through account racing and Kaggle scheduling to a serving kernel, then through a streamed chat connection; progress events also reach Android notifications. The README documents both Qwen and GLM serving, export, and quota protection. Source excerpts are partial, so some links reflect documented capabilities rather than inspected call sites.
Main entry points: App.tsx App root · serve_glm53.py GLM serving kernel · serve_qwen38.py Qwen serving kernel · racer.ts Instance manager
Components 23
Mobile app
- App root
src/App.tsx - Dashboard
src/components/DashboardView.tsx - Chat view
src/components/ChatView.tsx - Settings
src/components/SettingsView.tsx - Export modal
src/components/ExportModal.tsx - Chat service
src/services/chat.ts - Export helpers
src/services/clipboard.ts
Scheduling and monitoring
- Instance manager
src/services/racer.ts - Kaggle API client
src/services/kaggle.ts - Kernel templates
src/services/templates.ts - Embedded templates
src/services/templates_data.ts - Progress listener
src/services/ntfy.ts
TPU serving
- Qwen serving kernel
kernels/serve_qwen38.py - GLM serving kernel
kernels/serve_glm53.py - GLM inference engine
kernels/glm53/engine.py
Android integration
- Queue monitor service
android/app/src/main/java/com/kaggletpulab/app/QueueMonitorService.java - Monitor plugin
android/app/src/main/java/com/kaggletpulab/app/QueueMonitorPlugin.java - Capacitor activity
android/app/src/main/java/com/kaggletpulab/app/MainActivity.java
Other components
- User
- Kaggle REST API
- Kaggle TPU
- ntfy.sh
- Model endpoint
Connections 31
- User → App root: uses
- App root → Dashboard: shows
- App root → Chat view: shows
- App root → Settings: shows
- App root → Export modal: opens
- App root → Instance manager: starts instances
- Dashboard → Instance manager: manages races
- Instance manager → Kaggle API client: requests actions
- Kaggle API client → Kaggle REST API: calls
- Kaggle REST API → Kaggle TPU: schedules
- Instance manager → Kernel templates: uses
- Kernel templates → Embedded templates: reads
- Kaggle REST API → Qwen serving kernel: pushes kernel
- Kaggle REST API → GLM serving kernel: pushes kernel
- Qwen serving kernel → Kaggle TPU: serves on
- GLM serving kernel → Kaggle TPU: serves on
- GLM serving kernel → GLM inference engine: runs inference
- Qwen serving kernel → ntfy.sh: publishes progress
- GLM serving kernel → ntfy.sh: publishes progress
- Progress listener → ntfy.sh: listens
- ntfy.sh → Queue monitor service: streams events
- Capacitor activity → Monitor plugin: registers
- Monitor plugin → Queue monitor service: controls
- App root → Monitor plugin: bridges monitor
- Qwen serving kernel → Model endpoint: exposes
- GLM serving kernel → Model endpoint: exposes
- Chat view → Chat service: sends chat
- Chat service → Model endpoint: streams requests
- Dashboard → Export helpers: copies endpoint data
- Chat view → Export helpers: copies snippets
- Export modal → Export helpers: formats config