Selfie Plus: Loyalty Program Mobile App

Client

PT Intinya Technologi

My Role

Fullstack Developer

Duration

July 2025 - Present

Tech Stack

React Native, Tanstack Query, Redux Toolkit, NativeWind

Key Features

Membership, Share to Stories, QR Code, Geolocation, Queueing, Notifications, Product Page, Video Player

Selfie Plus App Screenshot

Project Overview

Selfie Plus is a React Native mobile application developed for Selfie Time's loyalty program. The app enables users to collect points, redeem vouchers, and interact with partner outlets. As a fullstack developer at PT Intinya Technologi, I've been responsible for implementing key features, upgrading the app's framework, and ensuring optimal performance across both Android and iOS platforms.

I am currently leading a full design refresh across all screens (typography, colors, layout, and assets). This overhaul is 95% complete and under R&D review; we are awaiting feedback and revisions prior to release.

Key Features

Share to Instagram Stories

Implemented an end-to-end solution for sharing photos to Instagram Stories with brand frames. The feature handles photo composition, proper scaling, and platform-specific sharing mechanisms for both Android and iOS. The solution ensures photos aren't cropped by frame edges and maintains high-quality output at 1080x1920 resolution.

Loyalty Program Management

Built a comprehensive system for points tracking, badge achievements, and reward redemption. Users can view their point history, current status, and available rewards in a user-friendly interface. The system integrates with backend services to ensure real-time data synchronization.

Geolocation & Outlet Discovery

Developed a "Near Me" feature that helps users discover partner outlets in their vicinity. The implementation uses efficient geolocation services with optimized battery usage and integrates with mapping services for directions.

QR Code Transactions

Created a secure QR code scanning system for in-store transactions and voucher validation. The implementation includes camera access optimization, fast QR detection, and secure transaction processing with backend validation.

Ongoing Design & Feature Expansion

Partnering with the R&D team, I own the ongoing UI/UX refresh, covering updated design systems, assets, and in-app flows. The latest redesign is 95% complete and in review, touching every screen with new typography, color tokens, spacing, and motion while we incorporate final feedback.

Design Ownership

I deliver end-to-end visual updates: refreshed components, imagery, and tighter layout behavior so the mobile experience aligns with the evolving brand direction.

Feature Enhancements

  • Queueing system for Selfie Time members awaiting booth sessions
  • Re-architected notifications for more reliable, contextual delivery
  • Product catalog pages surfacing current packages and add-ons
  • Embedded video players streaming from Instagram and YouTube

Cross-Platform Polish

Even with a shared React Native codebase, every delivery needs Android and iOS tuning. I adapt navigation flows, interactions, and native bridges so both platforms feel bespoke and perform optimally.

Technical Challenges & Solutions

React Native Framework Upgrade

Led the upgrade process from an older React Native version to 0.79.6 with React 19. This involved:

  • Updating Gradle configurations to support AGP 8.6.0 and JDK 17
  • Adapting native modules for compatibility with the new version
  • Implementing support for Android 16KB page sizes
  • Migrating to bridgeless mode for improved performance

Instagram Stories Integration

Solved complex challenges in the Share to Stories feature:

  • Implemented anti-crop strategies using "contain" fit with safe scaling margins
  • Created a composition system with proper layering (photo → frame → watermark)
  • Built platform-specific sharing mechanisms using content URIs for Android and pasteboard/URL schemes for iOS
  • Optimized file management with automatic cleanup to prevent storage bloat

Performance Optimization

Enhanced app performance through:

  • Implementing custom image processing with Skia for efficient rendering
  • Optimizing render cycles to maintain smooth UI interactions
  • Using lightweight on-screen rendering with high-resolution exports for sharing features
  • Implementing proper memory management for image processing tasks

Type Safety Implementation

Improved code quality and maintainability by:

  • Migrating key components from JavaScript to TypeScript
  • Implementing comprehensive type definitions for API responses and state management
  • Creating reusable typed custom hooks for common functionality
  • Establishing type-safe patterns for component props and state management

Results & Impact

The Selfie Plus app has delivered significant value to both users and the business:

  • Successfully upgraded to React Native 0.79.6 with improved stability and performance
  • Implemented the Share to Stories feature with high user adoption, increasing brand visibility
  • Enhanced user experience with smooth UI interactions and optimized image processing
  • Improved code maintainability through TypeScript implementation and modular architecture
  • Created a platform-ready application compliant with the latest Android and iOS requirements

My Key Contributions

  • Designed and implemented the end-to-end Share to Stories feature with anti-crop strategies and platform-specific integrations
  • Led the React Native framework upgrade process from legacy version to 0.79.6
  • Implemented Android 16KB page sizes support and adapted to bridgeless mode
  • Migrated critical components from JavaScript to TypeScript for improved type safety
  • Optimized image processing performance using custom rendering techniques
  • Created reusable components and custom hooks for common functionality
  • Implemented comprehensive error handling and logging for development and production environments