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. Neural networks transform user photos into on-brand art pieces people actually share. Every game flow keeps the user entirely within the Telegram mini app.
Key outcomes
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.
