Backend Manager
Unified panel for everything that orbits your project but lives outside the code: hosting, BaaS and observability. 13 providers split across 3 independent hubs β each with its own mental model β under BYOK with your own account.
BYOK with tokens encrypted on-device
Pocket Code does not host, bill or proxy any of these services. Each token is encrypted on-device and injected into the provider's official header; every call goes directly from the phone to the service API, which bills usage to you under their policy.
Three hubs
The welcome screen shows three cards. Pick one and you land on the hub's grid. To switch hubs, swipe back to the welcome and pick another. There's no tab bar.
Deploy
Hosting
"Where does my app run?"
Vercel Β· Render Β· Netlify Β· Railway Β· Fly.io Β· Cloudflare Β· DigitalOcean
BaaS
Backend-as-a-Service
"Where is my data / my users?"
Firebase Β· Appwrite Β· Convex Β· Supabase
Observability
Errors + analytics
"Is it working in production?"
Sentry Β· PostHog
Deploy hub β 7 providers
Each provider exposes different capabilities depending on what its official API supports. The UI hides each action's button when the provider does not implement it β you'll never see a "not supported" toast for a visible action.
Vercel
Render
Netlify
Railway
Fly.io
Cloudflare Pages
DigitalOcean
| Capability | Vercel | Render | Netlify | Railway | Fly.io | CF | DO |
|---|---|---|---|---|---|---|---|
| List projects / services | β | β | β | β | β | β | β |
| List deployments | β | β | β | β | β | β | β |
| Trigger a deploy from the app | β | β | β | β | β | β | β |
| One-tap rollback | β | β | β | β | β | β | β |
| Environment variables (read + edit) | β | β | β | β | β | β | β |
| Custom domains (Pro) | β | β | β | β | β | (DNS zones) | β |
| Edit build configuration | β | β | β | β | β | β | β |
| Cancel an in-flight deploy | β | β | β | β | β | β | β |
| Suspend / resume the service | β | β | β | β | β | β | β |
| Servers / VMs | β | β | β | β | β apps | β | β droplets |
CF = Cloudflare Pages Β· DO = DigitalOcean. Vercel: project creation goes through the One-Click wizard (there's no public endpoint to re-trigger an existing project). Railway needs you to pick a service and environment β flow not exposed in the app today.
Provider-specific tools
Three providers expose much more surface than the basic deploy flow. Each section loads only when you open it and is cached so back-navigation does not refetch it.
Cloudflare
- β’ Workers
- β’ KV namespaces
- β’ D1 databases
- β’ R2 buckets
- β’ DNS zones (with inline Purge cache)
DigitalOcean
- β’ Kubernetes clusters
- β’ Managed databases
- β’ Block volumes
- β’ Cloud firewalls
Droplets live on the Servers screen.
Railway (per project)
- β’ Environments
- β’ Volumes
Extra wizards
One-Click Deploy (3 steps)
Wizard to create a new project from a GitHub repo: pick provider β paste repo URL and branch β name it. Accepts full URLs, ssh and short `owner/repo` form (GitHub, GitLab, Bitbucket).
Today only Vercel can create the project end-to-end. The others appear in the list but return a notice that the flow is not yet available for that provider.
Kubernetes YAML generator
Local generator: you enter name, image, replicas, ports, namespace and CPU/memory limits, and the app gives you a YAML with Deployment + Service. It's not a kubectl client β it does not apply or connect to any cluster. Copy the output into your favourite `kubectl apply -f -`.
BaaS hub β 4 providers
Each provider has its own flow in the app.
Firebase
Project listing is not available yet (requires an additional OAuth scope). The app shows a blue notice inviting you to open the Firebase Console in the browser.
Appwrite
Project list + per-project user list. Functions and databases are tracked as follow-up.
Convex
Lists your teams. To inspect tables you paste your deployment URL (`https://<name>.convex.cloud`) in a field and the app fetches the list. The URL is not stored, it only lives during the session.
Supabase
Project list + drilldown into each project's `public` schema tables. To pull the listing, the app requests that project's anon key from Supabase on the fly β the key is not stored on disk.
Observability hub β Sentry + PostHog
Pick a project and the app loads the main screen (issues for Sentry, insights for PostHog). The rest of the sections load only when you tap their chip.
Sentry
- β’ Issues with level (fatal/error/warning/info/debug) and event count
- β’ Releases
- β’ Alert rules (read-only)
- β’ Session replays (Sentry Business/Enterprise plans)
- β’ User feedback
PostHog
- β’ Insights
- β’ Feature flags Pro
- β’ Events
- β’ Cohorts
- β’ Experiments (A/B testing)
- β’ Session recordings
- β’ Dashboards
- β’ Annotations (deploy / incident markers)
Configurable host (PostHog Cloud or self-hosted).
How to connect a provider
- 1Generate an API token or personal access token in the provider's dashboard (Render, Vercel, Sentry, etc.).
- 2In Pocket Code, open Settings β Platform Services and pick the provider.
- 3Paste the token. It's encrypted on-device and never leaves the phone except in calls to the provider's official API.
- 4Open Backend Manager: the provider appears in its hub with your projects already loaded.
If you open a provider without a configured token, the app shows a "Connect <provider>" screen with a shortcut to Settings. The shortcut requires biometric authentication (fingerprint, face or PIN) so that nobody with an unlocked phone can add or view tokens without your permission.
Free vs Pro
| Feature | Free | Pro |
|---|---|---|
| Access to the 3 hubs and 13 providers | β | β |
| Connect your tokens (BYOK) | β | β |
| List projects / deployments / issues | β | β |
| One-click deploy + rollback | β | β |
| Kubernetes YAML generator | β | β |
| Simultaneous active deploys | 1 | Unlimited |
| Custom domains | β | β |
| Per-branch preview deployments | β | β |
| PostHog feature flags | β | β |
Module statistics
13
Providers
7
Cloud hosts
4
BaaS
2
Observability
22
Deploy routes
4
Languages