💬 In-app support chat for iOS, Android and the web
Your users don't email support. They uninstall.
Give them a chat inside your app. Messages reach your inbox and Telegram, and you reply in minutes.
npx @octokan/cli init <your-app-key> https://api.octokan.comThat's the setup for an iOS app (then add the Swift package in Xcode). Android, Flutter, React Native and websites are one step too. Your app key appears the moment you sign up.
7-day free trial, no card.
On your phone? Email yourself the link and set it up at your computer.
Watch it in 40 seconds. Sound on for the voiceover, captions included.
The problem
Most stuck users never write to you. They just leave.
- Email feels like work
- To ask for help, most people would have to find an address, open a mail app and write it up. They won't.
- So they vent in the App Store
- The one-star review says “doesn't work”. It tells you nothing, and by the time you see it they're gone.
- A chat inside the app takes ten seconds
- They tap, type and send. You get it on Telegram, reply from your phone, and they see it right away.
Try it, no signup
Be the user, then be the developer.
Send a message from the phone and watch it land in the inbox. Then answer it. It takes about ten seconds.
1You're the user. Write something.
2Now you're the developer. It just landed in your inbox.
Send a message on the phone first. Then tap a reply here.
Want to see it for real? . It lands in our actual inbox.
The app on the phone is a sample. The chat screen and the inbox are the real ones.
Setup
Live in minutes. One command.
Websites take one script tag. Expo, React Native, Flutter, Android and iOS take one command that does the setup for you.
Add the OctokanSDK package, configure once at launch, then show the chat anywhere. iOS 15+, SwiftUI or UIKit.
App.swift// terminal, from your Xcode project folder (adds the configure call for you)npx @octokan/cli init app_xxxxxxxxxxxx https://your-octokan-backend.com// Xcode: File > Add Package Dependencies, paste:// https://github.com/infectedlabs/octokan-iosimport OctokanSDK// once, at launchOctokan.configure(appId: "app_xxxxxxxxxxxx", baseURL: URL(string: "https://your-octokan-backend.com")!)// anywhere in SwiftUIOctokanChatButton("Chat with us")// or from UIKit / a custom buttonOctokan.presentChat()// optional: show who is writing, and reset on sign-outOctokan.identify(id: user.id, email: user.email, name: user.name)Octokan.reset()
Signed-in users are recognised automatically (Supabase, Firebase, Auth0, Cognito, Okta, Clerk, NextAuth and more), so their name and email appear in your inbox. Switch this off in Settings, or add data-auth="off" to the tag.
Pricing
Free for 7 days. Then pick a plan.
No card to start. Every Indie feature during the trial.
Founding offer: subscribe by November 30, 2026 and your price is locked for life, even when it goes up to $25 and $75.
Indie
Founding priceEverything, for one app or site.
$11.25/ month$18.75
Billed $135 a year: 9 months paid, 12 months used · price locked for life
- ✓Every feature
- ✓1 app or website
- ✓500 new conversations a month
- ✓AI Reply drafts: 1,000 a month
- ✓Photos, files and voice notes
- ✓Telegram and email alerts
- ✓Analytics and AI insights
- ✓Translation in 14 languages
No card needed. You pick a plan when the trial ends.
Pro
Founding priceMore apps, your team, 3,000 conversations.
$37.50/ month$56.25
Billed $450 a year: 9 months paid, 12 months used · price locked for life
- ✓Everything in Indie
- ✓Up to 3 apps or websites
- ✓Team access, answer together
- ✓3,000 new conversations a month
- ✓AI Reply drafts: 5,000 a month
- ✓Priority support
No card needed. You pick a plan when the trial ends.
Curious what else is in there, like analytics, AI drafts, translation and a team inbox? See all features.
Questions, answered.
Do my users need an account?+
No. They open the chat and write. If they're already signed in to your site, octokan recognises them automatically.
What does installing involve?+
One script tag before </body>, or one component in your Next.js layout. The dashboard shows a live badge the moment your site loads it.
What happens if I'm away?+
Messages queue safely, and you get a Telegram or email alert so you can answer from wherever you are.
Which platforms does it work on?+
Any website (one script tag), Next.js, Ionic and Capacitor, iOS (Swift package), Android (Kotlin library), React Native and Expo (works in Expo Go) and Flutter. All of them feed the same inbox.
Can I restrict where the chat loads?+
Yes. List your domains under Allowed sites and every other origin is refused.
Who owns the data?+
You do. Export it all or delete it any time, set automatic retention, and your users can delete their own chat.
What counts as a conversation?+
One visitor's thread in a month, however many messages it takes.
Hear your users before they leave.
7-day free trial, no card. Live in your app in a few minutes.