CatchPay Platform - Amazon-like Marketplace
CatchPay was a native iOS marketplace application built from scratch in just 3 months. The app enabled users in Riga, Latvia to browse local shops, place orders online, and pick up in-store. A key innovation was the smart offline-first caching strategy that solved a real UX problem: users needed to access their orders, QR codes, and shop locations even when in-store internet coverage was poor. The platform achieved strong early traction with 20 shops and 500 users in the first week before being sold to another company.
Problem Solved
Users making orders online needed to access pickup details (QR codes, order information, shop locations) while in stores with poor internet connectivity, creating friction in the offline-to-online shopping experience.
- •Built the complete iOS marketplace from scratch as sole developer
- •Designed and implemented smart offline-first caching strategy using Core Data
- •Developed dynamic modular home screen with complex Auto Layout adapting to order status and promotions
- •Implemented background location updates using hybrid silent push and background task approach
- •Integrated Stripe payment processing and OneSignal push notifications
- •Optimized search algorithms with hashmaps and lazy loading for large product catalogs
- •Stress tested system with 1,000 shops x 500 products each
- ✓Built complete iOS marketplace from scratch as sole developer in just 3 months
- ✓Achieved strong early traction with 20 shops and 500 users in first week of launch in Riga, Latvia
- ✓Implemented smart offline-first caching strategy solving real UX problem of poor in-store internet coverage
- ✓Mastered iOS app lifecycle, GCD threading, and memory optimization under real-world constraints
- ✓Created highly dynamic modular home screen with Auto Layout adapting to order status, promotions, and events
- ✓CEO commissioned professional marketing video to showcase platform's support for local businesses
- ✓Successfully launched to production and later sold to another company
Scale
- • 500 users in first week
- • 20 shops onboarded at launch
- • Stress tested with 500,000 products (1,000 shops x 500 each)
Technology Stack
Challenge
Handling large product catalogs without performance degradation in a native iOS app with memory constraints.
Solution
Khaled stress tested with 1,000 shops x 500 products each, implementing lazy loading for images and search results, memory optimization techniques, and search algorithm optimization using hashmaps.
Impact
App remained performant even with massive product catalogs, enabling scalability.
Challenge
Background location updates in iOS were notoriously difficult at the time, with Apple imposing strict limits on background execution.
Solution
Khaled implemented a hybrid cost-optimized approach combining silent push notifications through OneSignal with background task identifiers running on background threads, cycling between location updates to keep the service alive.
Impact
Users received timely notifications when arriving at shops for pickup without excessive battery drain or API costs.
Challenge
Users ordering online needed to access orders, QR codes, and shop details in stores with poor internet coverage.
Solution
Khaled built an offline-first architecture with Core Data caching of orders, QR codes, and shop locations, allowing users to browse orders offline and access pickup details without internet.
Impact
Seamless offline experience that solved a real user pain point in retail environments.
Challenge
Home screen needed to dynamically adapt to ongoing orders, promotions, ads, and different events while maintaining simplicity.
Solution
Khaled implemented complex Auto Layout with modular components that appeared simple to users but had highly dynamic implementation underneath.
Impact
Clean, intuitive interface that could display varied content types without UX complexity.
Situation
CatchSmart wanted to support local businesses in Riga, Latvia with a marketplace app. The challenge was that users would order online but need to access their orders in stores where internet coverage was often poor.
Task
As the sole iOS developer working with one backend developer, Khaled was responsible for building the complete iOS marketplace in just 3 months, including solving the offline access problem.
Action
Khaled insisted on using Swift over the company's preference for React Native, taking complete ownership of the iOS development. He built a smart offline-first architecture using Core Data to cache orders, QR codes, and shop locations. For the dynamic home screen, he implemented complex Auto Layout that adapted to order status, promotions, and events. He optimized for scale by stress testing with 500,000 products and implementing lazy loading with hashmap-based search algorithms. For background location, he created a hybrid approach combining silent push notifications with background tasks.
Result
The app launched successfully in Riga with 20 shops and 500 users in the first week. The CEO commissioned a professional marketing video showcasing support for local businesses. The platform was later sold to another company, marking a successful exit. The project established Khaled's confidence in technical decision-making and full project ownership.
Technical
- • GCD (Grand Central Dispatch) mastery for threading and concurrency
- • Deep understanding of iOS app lifecycle and state restoration
- • Memory optimization techniques critical for iOS apps
- • Search algorithm optimization with hashmap implementation
- • Dynamic Auto Layout for complex modular UIs
- • Background location services and silent push notification patterns
Soft Skills
- • Complete project ownership as sole developer
- • Standing firm on technical decisions (Swift over React Native)
- • Building confidence through full lifecycle delivery
Key Insights
- 💡 Simple UI does not mean simple implementation - modular home screen looked simple but was highly complex
- 💡 Loading screens are strategic opportunities for initialization
- 💡 State persistence is critical for seamless user experience
- 💡 Marketplace apps demonstrate app lifecycle importance in best form

