How thisuxhq/dukoi works
Dukoi turns an Android phone into a persistent app server: a user pairs a computer with the phone, deploys an app, then manages its releases, runtime, databases, logs, and public access. The graph includes the phone agent and service, CLI and dashboard surfaces, and the public site. Several subsystems are represented from the README and source index, but their internal wiring was not sampled; those relationships are omitted rather than inferred.
Main entry points: main.ts CLI dispatcher · app-routes.ts App routes · http.ts Agent API · AgentService.kt Foreground service
Components 27
User interfaces
- CLI dispatcher
cli/src/main.ts - Deploy command
cli/src/commands/deploy.ts - App controls
cli/src/commands/apps.ts - Pairing command
cli/src/commands/pair.ts - Observe commands
cli/src/commands/observe.ts - Database commands
cli/src/commands/db.ts - Web dashboard
dashboard/src/routes/+page.svelte - Phone UI
android/app/src/main/kotlin/com/thisux/dukoi/MainActivity.kt
Phone runtime
- Foreground service
android/app/src/main/kotlin/com/thisux/dukoi/AgentService.kt - Agent supervisor
android/app/src/main/kotlin/com/thisux/dukoi/AgentSupervisor.kt - Phone pairing
android/app/src/main/kotlin/com/thisux/dukoi/Pairing.kt - Battery care
android/app/src/main/kotlin/com/thisux/dukoi/Battery.kt - Agent API
agent/src/http.ts
App capabilities
- App routes
agent/src/app-routes.ts - App lifecycle and releases
agent/src/apps.ts - Database routes
agent/src/database-routes.ts - Database management
agent/src/databases.ts - Logs and health
agent/src/observe-routes.ts - Log storage
agent/src/log-file.ts - Public exposure
agent/src/tunnels.ts - Custom domains
agent/src/domains.ts - App templates
agent/src/templates.ts
Shared contracts
- API contracts
shared/src/api.ts
Public services
- Dukoi website
site/worker.ts
Other components
- Developer
- Cloudflare tunnel service
- Deployed app user
Connections 22
- Developer → CLI dispatcher: runs commands
- CLI dispatcher → Deploy command: dispatches deploy
cli/src/main.ts - CLI dispatcher → App controls: dispatches controls
cli/src/main.ts - CLI dispatcher → Pairing command: dispatches pairing
cli/src/main.ts - CLI dispatcher → Observe commands: dispatches observation
cli/src/main.ts - CLI dispatcher → Database commands: dispatches database
cli/src/main.ts - App controls → Agent API: sends app requests
cli/src/commands/apps.ts - Agent API → App routes: routes requests
agent/src/app-routes.ts - App routes → App lifecycle and releases: calls lifecycle
agent/src/app-routes.ts - App routes → Public exposure: exposes apps
agent/src/app-routes.ts - App routes → Custom domains: manages domains
agent/src/app-routes.ts - App routes → App templates: deploys templates
agent/src/app-routes.ts - Database routes → Database management: calls management
agent/src/database-routes.ts - Logs and health → Log storage: reads and follows
agent/src/observe-routes.ts - Foreground service → Agent supervisor: starts supervisor
android/app/src/main/kotlin/com/thisux/dukoi/AgentService.kt - Foreground service → Phone pairing: watches pairing
android/app/src/main/kotlin/com/thisux/dukoi/AgentService.kt - Foreground service → Battery care: samples battery
android/app/src/main/kotlin/com/thisux/dukoi/AgentService.kt - Web dashboard → Agent API: manages apps and health
- Pairing command → Agent API: pairs with phone
- Public exposure → Cloudflare tunnel service: creates public links
- Deployed app user → Public exposure: accesses exposed apps
- Dukoi website → Cloudflare tunnel service: uses Cloudflare platform