Key metrics
-
10,000Over 10,000 daily active players
-
AI-drivenAI-driven verification and art generation
-
Fully self-hostedFully self-hosted secure infrastructure
About the Client
JTI is a leading global tobacco company, operating in more than 120 countries worldwide. Richmond is one of its premium cigarette brands. The client needed a secure, engaging mobile experience tailored to adult smokers through the popular Telegram messaging platform.
The Challenge
Engage adult users securely with gamified, AI-based loyalty content on a widely-used messaging platform. The solution needed to be both interactive and compliant with strict industry regulations for tobacco marketing.
Users expected a rich, mobile-friendly experience (accessible via Telegram) that offers entertainment and rewards, all while respecting tobacco advertising restrictions and age limitations
-
Regulatory compliance was a priority, requiring strict alignment with industry standards
-
Data privacy demanded secure handling of personal identifiable information (PII)
-
Enforcing age-gating for adult-only access and integrating robust identity checks
-
Ensuring the system could scale to high volumes of traffic
The Solution
We built a custom self-hosted Telegram “mini app” using the Laravel framework, integrated directly with the Telegram bot API. This platform delivers AI-powered photo transformations, engaging mini-games, loyalty rewards, and interactive quizzes – all within the familiarity of a Telegram chat interface. By self-hosting the solution on a private server, we ensured full control over user data and compliance with strict privacy requirements.
Laravel, Tailwind CSS, Vue.js (for front-end within Telegram WebView), Telegram Bot API, and supporting tools like Sentry (error monitoring), Laravel Forge (deployment), and Laravel Nightwatch (automated testing). The tech stack was chosen for rapid development, security, and scalability.
-
Implementation detailsPhase 1. Infrastructure
Deployed the application on a secure, self-managed hosting environment with end-to-end encryption of data in transit and at rest. We set up the Laravel backend, database, and Telegram bot webhook on this private infrastructure. This ensured all personal data remained on servers under the client’s control, satisfying local data protection rules.
-
Implementation detailsPhase 2 – Core Features
Developed an intuitive admin panel and loyalty program mechanics. Administrators can manage content dynamically – including adding/removing prizes, quizzes, and announcements. Users earn points for engagement (e.g. completing quizzes or tasks), which can be redeemed for real rewards like branded merchandise or mobile phone top-up credits. Prize catalogs and a quiz editor were built in, enabling real-time prize redemptions via integration with the client’s CRM system.
-
Implementation detailsPhase 3 – AI Enhancements
Introduced an AI-driven photo studio and game-like interactive flows. Users participate by photographing a Richmond Emperor Edition cigarette pack to unlock the AI studio. The system uses machine learning to verify the pack in the image (moderating submissions automatically). Once verified, the user can upload a selfie to generate a personalized artwork in the Richmond Emperor Edition style – a luxurious, “old money” yacht vacation aesthetic. This feature leverages neural networks to transform user photos into on-brand art pieces, creating a fun, shareable experience. All of these game flows are seamless, keeping the user entirely within the Telegram mini app.
Results and Impact
Tech Stack
-
Backend
-
Self-hosted Laravel application with Telegram Bot API webhooks and REST endpoints
-
Queue workers for AI jobs, image moderation, prize fulfillment, and notifications
-
Structured SQL persistence for users, sessions, quizzes, rewards, and audit trails
-
Error tracking with Sentry and end-to-end tests with Laravel Nightwatch
-
On-prem AI microservices for pack verification, selfie-to-art generation, and moderation
-
-
Frontend
-
Telegram WebApp (WebView) built with Vue.js and Tailwind CSS for a mobile-first UX
-
Game modules: Three-in-Line and Find-the-Object, plus a 3D lighter constructor experience
-
Reusable UI components, form validators, and locale-ready copy blocks
-
Asset fingerprinting with long-lived HTTP caching and lazy loading of heavy views
-
WebView-safe routing and state management tuned for Telegram constraints
-
-
Infrastructure
-
Fully self-hosted private servers with isolated runtime and encrypted backups
-
Automated deployments via Laravel Forge with zero-downtime release flow
-
Centralized logging/metrics and health checks for API, workers, and AI services
-
Secure media pipeline and storage for uploads, generated images, and videos
-
Integrations: Telegram API, JTI CRM, document verification service, prize/phone-top-up providers
-
-
Security
-
PII isolation on private network segments with strict RBAC for admins and operators
-
Encryption in transit and at rest, secrets rotation, and signed webhook verification
-
Age-gating with IIN-based verification and CRM matching prior to feature access
-
Comprehensive audit logging, anomaly alerts, and data-retention controls
-
Content safety: automated image moderation and abuse-prevention rate limiting
-
Key Takeaways
Prioritizing data sovereignty and privacy was crucial. By self-hosting the application on a local secure server, we ensured full compliance with strict personal data (PII) regulations and tobacco industry standards. Sensitive user information (IDs, contact info) never left the controlled environment, addressing the client’s regulatory concerns. Additionally, combining AI features with gamified loyalty elements proved extremely effective – the novelty of AI-driven content coupled with rewards led to a dramatic increase in user engagement and retention.
The platform’s modular Laravel architecture and robust admin tools have made scaling straightforward. As usage grew to thousands of daily users, the app handled the load with ease. The admin panel allows non-developers to update content (quizzes, surveys, prize inventory) on the fly, ensuring the experience stays fresh without code changes. This flexibility, along with efficient resource management in Laravel, means the mini app can be expanded to new features or markets with minimal friction.