For makers

Convert an existing app to Shippie

A practical route from Supabase, Vercel, iOS, Android, or AI-built prototypes to a testable Shippie app.

Updated June 11, 2026

The promise

If your app already runs in a browser, Shippie should be a fast conversion path: classify it, replace hosted user-data paths with local primitives, build a static bundle, deploy unlisted, then gather feedback from real users immediately.

If your app is native-only, do not upload an IPA or APK. Extract the product loop into a mobile web/PWA shell first, then use Shippie for the testable web app. Native store packaging can come later.

Fit check

Run the classifier before rewriting. It tells you whether the project is a Local App candidate, a connected app that needs disclosures, or a cloud app that should stay on Supabase/Vercel until its data model changes.

  • npx @shippie/cli classify .
  • npx @shippie/cli localize-plan .
  • npx @shippie/cli data doctor .

Supabase apps

Keep Supabase only for reference data or explicit connected features. For core user content, move tables to shippie.local.db, storage uploads to shippie.local.files, and auth-dependent owner rows to local identity or private-space membership.

The localize plan can suggest patches for basic Supabase queries, storage calls, and common auth patterns. RPC, realtime, edge functions, admin clients, RLS-heavy workflows, and server-only secrets need a manual redesign before deploy.

Vercel and Next apps

Export the interactive app as static web output where possible. Client-side React, Svelte, Vue, Astro, and plain HTML bundles are natural fits. Server actions, API routes, middleware, cron jobs, and secret-backed integrations must become local SDK calls, disclosed reference-data calls, or separate services outside the Shippie Local App promise.

Typical command path: build or export to dist, build, or out; zip that folder; deploy unlisted; then review the App Flight Recorder before sharing widely.

iOS and Android apps

For a native app, identify the smallest loop users can test in a browser: onboarding, creation, saving, sharing, feedback, or a single game/workflow. Build that loop as a PWA-style web app and deploy it to Shippie first.

Use browser equivalents for camera, files, haptics, clipboard, share, local storage, offline cache, and install. Be honest about platform gaps such as iOS background work, Web Bluetooth, and long-running offline AI.

AI-assisted conversion loop

Ask your coding agent to run the classifier, produce the localize plan, apply only safe patches, and leave hard cloud features as explicit decisions. Then build, deploy unlisted, open the short URL on a phone, and collect feedback from the first testers.

  • npx @shippie/cli deploy ./dist --slug your-app --unlisted --watch
  • npx @shippie/cli logs your-app
  • Share https://shippie.app/your-app with testers, not the runtime or maker dashboard URL.

Ready for public

Promote only after the app works on a real phone, has useful app-specific share metadata, has no hidden data exits, and has at least one round of tester feedback. Public is a launch decision, not the default deployment state.