Digital card awarding engine with dynamic generation rules
The reward system in Explomania depends on many user actions, including registration, visiting Spots, completing Trails, invitations and community activity. Each trigger uses different rules, card pools, rarity constraints and geographic dependencies. On top of that, card images are generated dynamically from many fields, with multilingual text and support for different alphabets.
We built a backend-driven reward engine that calculates card packs based on the exact context of user activity. Heavy operations such as reward assignment, card image rendering and notifications run in the background with Celery. The system combines rule-based logic, asynchronous processing and dynamic image generation to power the app’s gamification layer.