➡️➡️➡️ AI Chat Pro for Bubble Mobile — a finished AI chat for your native app 💬📱
Drop it on a screen, paste an API key, and you have a working assistant. Answers stream in word by word, Markdown renders as it arrives, and the whole thing is built from React Native's own components.
Every colour, label and behaviour can be customize. No custom code, no third-party libraries, nothing else to install.
✅
Built with native components — View, Text, ScrollView, TextInput
✅
Streams word by word — the answer appears as it is written
✅
Markdown live — bold, italics, lists, links, inline code and code blocks
✅
Follows the phone's dark mode — automatically, or force one, with 16 appearance fields
✅
Animated typing indicator — three dots that breathe, on the native driver
✅
Conversations that survive — save to your database, restore in one action
✅
Agent mode — the assistant asks, your workflow answers, the reply continues
✅
3 providers, one dropdown — OpenAI (ChatGPT / GPT-4o), Anthropic Claude, Google Gemini
✅
Cost per answer — tokens in, tokens out, dollars spent, ready to show or log
────────────────────────────────CHECK IT────────────────────────────────Live demo: https://plugins-testing-46093.bubbleapps.io/version-test/api/1.1/mobile/preview?debug_mode=true&preview_view=GPT%20live%20native%20mobileEditor:https://bubble.io/page?id=plugins-testing-46093&test_plugin=1787957397909x535365979654586400_current&tab=Design&name=GPT+live+native+mobile&type=page&elements=bTIOu────────────────────────────────IT FEELS LIKE PART OF YOUR APP────────────────────────────────📱
It scrolls like the rest of your app, because it is the same scroll
⌨️
The input is a real TextInput — the keyboard, autocorrect and dictation all behave as your users expect
🔗
Links open in the phone's browser, the way a link should
⚡
The typing dots run on the native driver, so they stay smooth while text streams in
🔤
Text selection, accessibility and font scaling work the way the platform intends
────────────────────────────────WHAT YOU ACTUALLY GET────────────────────────────────💬
A chat that is already finishedMessage bubbles, an input that grows as you type, a Send button that turns into Stop while the answer arrives, suggested prompts on an empty chat, and an empty state you write yourself. The scroll follows the newest message — and steps aside when the reader scrolls up to re-read something, then picks the thread back up when they return to the bottom.
🎨
It looks like your appSixteen appearance fields: accent, background, text, four bubble colours, three separate borders, input background, font, font size, and two corner radii. Leave them empty and it uses a palette that already works and follows the visitor's light/dark setting on its own.
⚡
Real streaming on a phoneThe answer is painted as it arrives, word by word. Only the last bubble repaints while text streams in, so a long conversation stays smooth on a mid-range phone.
🤖
Turn it into an agent with one fieldWrite your tools in plain text — one per line, parameters indented — and the same element becomes an agent. When it needs something, it fires an event with the tool name and arguments, your workflow does the work, you hand back the result, and the answer carries on. Check stock, look up an order, book an appointment, write to your database, call another API. It stops at a step limit you control, and it never invents a tool you did not declare.
🧠
Structured outputAsk for fields instead of prose — "title: text", "priority: number", "urgent: yes/no" — and get back a validated object in the
json state, ready for
Get data from JSON.
💾
Conversations that persistThe whole conversation is published as JSON in one state. Save it to a Bubble field after each answer, restore it when the screen opens, and your users pick up where they left off. Building a list of past conversations — your own ChatGPT, inside a native app — is a documented, step-by-step recipe.
💵
You can see what it costsInput tokens, output tokens, total, and an estimated cost in dollars, formatted and ready to drop into a text. Per answer, live.
────────────────────────────────WHAT YOU CAN BUILD────────────────────────────────🛍️
A support agent that actually does things — it checks an order in your database, cancels a subscription, or opens a ticket, then explains what it did in plain language.
🧑💼
Your own ChatGPT, as a phone app — a list of past conversations, one per user, each saved as a Bubble thing. The documentation walks through this build.
📚
An assistant that knows your business — put your policies, prices and rules in the system prompt and it answers from them instead of guessing.
🎯
A lead qualifier — it interviews the visitor, then hands you a validated object with budget, timeline and use case, ready to write to your CRM.
🏫
A tutor, a coach, a concierge — the personality is one text field, and you can change it per user, per screen, or per plan.
────────────────────────────────THE DETAILS THAT TAKE THE LONGEST────────────────────────────────Stop, Regenerate and suggested prompts. A Stop that keeps the half-written answer instead of throwing it away. A Regenerate that rebuilds the history properly. Starter questions that send themselves when tapped.
It survives being hidden. Native apps show and hide screens constantly. If a workflow shows the chat's group and calls an action in the very next step, that action is held and replayed when the element is ready — including the second and third time, which is what a list of conversations depends on.
Changing AI provider is a dropdown. Same fields, same states, same events across OpenAI, Claude and Gemini. Try a cheaper model without touching a workflow.
Errors you can act on. Every failure arrives as a plain sentence that names the exact field or setting that is wrong, plus a code you can branch on in a workflow.
Spending you control. The history sent each turn is capped by a field you set, the agent loop has a step limit, and the cost of every answer is available if you want it on screen.
24 states, 7 events, 6 actions. Everything the chat knows is reachable from your workflows.
────────────────────────────────Full documentation, with every field explained and a complete agent walkthrough, is linked on the instructions section.