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

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