Support that never asks them to leave the app.
An AI assistant inside a mobile telecom operator's self-care app. OTP-verified, personal, grounded in approved knowledge.
- Inside the app: embedded in the operator's all-in-one self-care and lifestyle app.
- Secure by design: OTP verification before any account data is touched.
- Grounded: answers come from the customer's own account and the operator's approved SOPs.
Meet our client
- Client
- Mobile telecom operator
- Industry
- Telecom & consumer digital
- Market
- South Asia
In a nutshell
We built and deployed a production AI assistant embedded in the operator's live consumer app. Customers verify with OTP, then get answers from their own account and the operator's approved documents, without leaving the app.
The cost of friction
Customers were already in the app every day, but getting help meant leaving it.
Helpline, hold queue, web portal. Every question breaks the experience.
- A huge range of everyday queries: bundles, balance, data usage, recharge and call history, SIM details, coverage and complaints.
- Manual, static flows: high query volume strained support operations and left customers waiting for answers.
- Support lived outside the app: customers already in the app every day had to leave it to call a helpline or visit a web portal.
- The need: an assistant inside the operator's own app that answers account-specific questions securely, without the customer ever leaving.
One assistant, three kinds of question
Filter to see how the assistant handles each kind.
- My account data: after OTP, the assistant reads the verified customer's own balance, usage, bundles, recharges, call history and SIM details.
- Approved knowledge: coverage, network policy and SOP questions are answered by Amazon Kendra from the operator's approved documents, not improvised.
- Actions the assistant completes: it registers complaints with a reference ID, initiates support requests and escalates what it can't resolve.
- Actions the assistant guides: bundle subscriptions and usage alerts go step by step, and nothing changes until the customer confirms. The assistant never activates a package or changes a plan on its own.
- Both kinds of answer, one chat: generic and account-specific questions are handled in the same conversation, inside the app.
Four non-negotiables, held at the same time
Tap each one to lock it in.
- In-app, not a portal: it had to live inside the operator's live consumer app, not a web tool or third-party helpdesk.
- Production scale: high-volume traffic across a 40M-user app from day one, so it had to be multi-tenant, load-balanced and autoscaled.
- Data stays controlled: subscriber data sits in a secure layer, and phone number + OTP verification comes before any account data.
- Guides, never overrides: it can raise complaints and escalate, but it never activates packages or changes plans on its own.
Built into the app, not bolted on
- 1Open the appThe app they use every day
- 2Go to LifestyleSupport & account management
- 3Tap the assistantNo helpline, no website
- 4Ask anythingBundles, balance, SIM, complaints
- Built directly into the app: a production-grade assistant inside the operator's all-in-one digital self-care and lifestyle app.
- Easy to find: The assistant sits under Support & Account Management, next to services customers already use.
- One place for everything: bundles, balance, usage, SIM questions and complaints, all in one chat.
- Live in production today on Google Play and the App Store.
- Built and deployed the assistant: a customer-facing AI assistant inside the operator's app, live in production.
- Connected it to the operator's systems: internal customer data for account answers, and approved SOPs, policies and documents through Amazon Kendra.
- Secured access: phone-number and OTP verification before any account data is accessed.
- Built a sandboxed LLM layer: AWS Bedrock with a locally hosted Llama model on EC2, keeping subscriber data in a controlled environment.
- Designed it for production scale: multi-tenant, load-balanced and autoscaled on AWS, with DynamoDB for session and memory.
- Set the action limits: confirmation before customer-impacting actions, and clean escalation when the assistant can't resolve a query.
Real screens from the live app
- 01–03 · Find the assistant: from the app's home screen to the assistant, without leaving the app.
- 04–08 · Account answers: bundles, live balance, usage and reset date, recharge and call history, SIM details.
- 09–10 · Knowledge and support: coverage from approved documents, and a complaint registered with a reference ID.
Ask the assistant, and watch what happens underneath
Tap a question in the phone. The architecture on the right lights up the exact path the answer takes. Demo data, recreated from the live app.
Begin your journey
Tap any box
See what each part of the system does.
Subscriber data never leaves a controlled layer
Llama runs locally on EC2. Knowledge answers come only from the operator's approved SOPs.
- Verify first: phone number + OTP confirms the customer before any account data is accessed.
- Account questions take the private path: load-balanced and autoscaled. Llama, hosted locally on EC2, handles the verified customer's account data inside the sandbox; AWS Bedrock is the reasoning layer that composes the reply.
- Knowledge questions take the approved path: Amazon Kendra retrieves from the operator's SOPs and policies, and Bedrock writes a grounded answer.
- Memory across the chat: DynamoDB keeps session context, so follow-up questions just work.
- Clear action boundaries: anything customer-impacting needs the customer to confirm; unresolved cases escalate cleanly to a person.
- Every reply is a safe answer: grounded in the customer's data or the operator's approved knowledge, never open-ended model output.
Not your standard chatbot
Ask both the same question and compare.
- Inside their own product: embedded in the app 40M customers use daily, not a website widget or third-party tool.
- Actually personalised: after OTP, it pulls the customer's real account data, so answers are specific to them, not generic FAQs.
- Sandboxed LLM: Bedrock plus a locally hosted Llama on EC2 give AI capability without exposing subscriber data.
- Enforced action boundaries: it guides, waits for the customer to confirm, and escalates. It never changes a plan on its own.
Live, and already at scale
In production now
Each square = 1M app users. Green: using the assistant today. Dashed: capacity already built in.
- Real usage: customers check balance, bundles, usage and SIM, and raise complaints.
- No leaving the app to get any of it done.
Smarter triage
Illustration, not to scale.
- Common queries are resolved in-app.
- Only cases that need a person get escalated. Support handles the exceptions, not the volume.
Built to grow
Illustration of autoscaling.
- Multi-tenant, load-balanced, autoscaled on AWS.
- Ready for all 40M active app users as adoption grows.
Secure. Personal. Grounded. Live at scale.
We help organisations build AI capabilities and the software, data and infrastructure that make them work.
- 01Your business objective
- 02The technical context
- 03The right next step