Docs
Test without publishing
Try the whole thing before any App Store or Play Store release.
Mobile apps talk to your octokan backend over HTTPS with your app key. Nothing about that needs a store release, a signing certificate or a developer account.
1. From your terminal, with no app at all
node scripts/native-smoke.mjs https://YOUR-BACKEND app_xxxxxxxxxxxx ios # leave the test chat in your inbox so you can reply to it node scripts/native-smoke.mjs https://YOUR-BACKEND app_xxxxxxxxxxxx ios --keep
It plays a visitor: it starts a chat, sends a message, polls for it and cleans up. Your dashboard flips to Connected and the message appears in the inbox.
2. On a simulator, emulator or your own phone
iOS Simulator (no paid account), Android emulator or a USB-debugging phone, Expo Go on your phone, or flutter run. Debug builds use the same app key as release builds.
3. Keep test chats out of your real inbox
Add a second app in the dashboard, for example "My app (dev)", and use its key in debug builds.
Reaching a backend on your own computer
The Railway https URL works from everywhere and is the easiest. For a local backend: the iOS Simulator can use http://localhost:4000 with an App Transport Security exception, the Android emulator uses http://10.0.2.2:4000 with cleartext traffic allowed, and a physical phone needs your computer's network address.