FlutterFirebaseDartHackathonGamification

Kuriftu Rewards (Hospitality Hackathon Project)

Kuriftu Rewards (Hospitality Hackathon Project)

TYPE

mobile

DURATION

6 hours

COMPLETED

March 2025

LANGUAGE

Dart

MISSION BRIEF

Kuriftu Rewards is a mobile loyalty application built during the Hospitality Hackathon to enhance guest engagement at Kuriftu Resort. Designed to gamify the resort experience, the app allows users to earn points by scanning QR codes hidden throughout the resort, scanning their room daily, using services like restaurants and spas, or scanning receipts. These points can be traded in for free services like massages, water park access, or souvenirs. The app also includes a leveling system, badges, and user profiles to create a fun and rewarding environment. Built in just 6 hours, it demonstrates the power of rapid prototyping with Flutter and Firebase.

VISUAL_EVIDENCE

Gallery 0
Gallery 1
Gallery 2
Gallery 3

CORE FEATURES

  • Scan QR codes across the resort to earn points
  • Daily QR scan in your room (once every 24 hours)
  • Hidden QR 'Easter Eggs' that encourage walking and exploration
  • Scan receipts to claim service-based rewards
  • Track loyalty points in real-time
  • Redeem points for spa, water park, or other perks
  • User levels and badges to gamify experience
  • Profile tracking with reward history
  • Secure login and session handling
  • Push notifications for hidden rewards and offers

TECH STACK

  • >Flutter for cross-platform native experience
  • >Firebase Firestore for real-time user and point tracking
  • >Firebase Authentication with session security
  • >QR code scanner with duplicate protection logic
  • >Cloud Functions for 24-hour room scan enforcement
  • >Gamified progression logic with levels and badges
  • >Offline caching for QR scanning in low-connectivity areas
  • >Timestamp validation and scan history management

Operational Hurdles

Preventing duplicate QR code scans

SOLUTION_PROTOCOL: Each QR scan is timestamped and user-bound; system checks for duplicates in Firestore before awarding points

Enforcing a strict 24-hour rule for daily room QR scans

SOLUTION_PROTOCOL: Implemented Firebase Cloud Functions with time comparison logic to reject scans done within the cooldown window

Gamifying the experience within the limited hackathon time

SOLUTION_PROTOCOL: Designed a lightweight XP and badge system using dynamic point thresholds and user milestones

Balancing fairness and preventing abuse

SOLUTION_PROTOCOL: Added admin-side dashboard (WIP) and audit logs for QR usage, receipt uploads, and suspicious patterns

Building and testing multiple features in 6 hours

SOLUTION_PROTOCOL: Prioritized a modular code structure with prebuilt Flutter packages and Firebase templates to move fast