All work

Case study · Location-based photo sharing

SPOT CAPSULE.

Converting an existing web-based photo-sharing platform into fully deployable iOS and Android applications using a native wrapper approach.

What we built
iOS and Android app wrapping an existing web platform
Stack
React Native, WebView, StoreKit 2 (iOS), Google Play Billing (Android)
Services
Mobile appIn-app purchasesSubscription billing
Smartphone with a red screen showing a map-pin app icon, resting on rock

About the project

What is SPOT CAPSULE?

This project focused on converting an existing web-based photo-sharing platform into fully deployable iOS and Android applications using a native wrapper approach. Instead of rebuilding the backend, we created a React Native shell that wraps the existing Base44 web app, delivers a native mobile experience, and integrates Apple and Google In-App Purchases to support a freemium subscription model. The entire implementation was completed within a 2-week timeline.

The problem

What was slowing them down.

  1. 01

    Web-only platform

    The platform was web-only and could not be distributed via Apple App Store or Google Play, use native subscription billing, enforce app-store compliant payment rules, or deliver a true mobile app experience.

  2. 02

    Key constraints

    First 5 photo uploads free. $0.99/month subscription for unlimited uploads. Native Apple/Google billing only (no Stripe or PayPal). Photos without GPS metadata must be rejected. No backend rebuild allowed.

  3. 03

    Monetized mobile distribution

    The challenge was enabling monetized mobile distribution without restructuring the existing system.

The solution

What we built.

Native Wrapper

We built a React Native wrapper that embeds the web app while adding native controls and subscription enforcement.

  • Dedicated WebView (not a general browser)
  • Native splash screen and loading indicators
  • Bottom navigation bar for app-like experience
  • Persistent login sessions
  • Direct launch into the platform

In-App Purchase Integration

To enforce the freemium model:

  • Uploads 1–5: free
  • 6th upload: native paywall triggered
  • Subscription: $0.99/month auto-renewable
  • iOS: StoreKit 2
  • Android: Google Play Billing

Purchase flow

  • User attempts 6th upload.
  • Native paywall appears.
  • Apple/Google payment sheet opens.
  • Success token returned to app.
  • Token sent to backend.
  • User account upgraded to premium.

Results

What changed.

Operational Impact

  • Store launch

    Enabled App Store & Play Store launch.

  • Backend preserved

    Preserved existing backend investment.

  • Compliant billing

    Delivered compliant native billing.

User Experience Impact

  • True mobile feel

    True mobile feel.

  • Login persistence

    Seamless login persistence.

  • Controlled upgrade flow

    Clear and controlled upgrade flow.

Revenue Impact

  • Subscription monetization

    Activated subscription-based monetization.

  • Upload limits enforced

    Enforced upload limits reliably.

  • No third-party payments

    Eliminated third-party payment dependency. The platform evolved from a web product into a monetized mobile SaaS application without full redevelopment.

Key challenges

The hard parts, and how we solved them.

  • No backend changes allowed

    Built secure API bridge to update subscription status.

  • Strict App Store compliance

    Implemented StoreKit 2 and Google Play Billing exclusively.

  • Maintaining native feel

    Added bottom navigation and native UI enhancements.

  • Upload interception logic

    Blocked excess uploads before backend request execution.

Tech stack

What it runs on.

Mobile
React NativeWebView
In-app billing
StoreKit 2 (iOS)Google Play Billing (Android)
Existing web app
Base44

Process

How we got there.

  1. 01User opens app (native splash)

  2. 02WebView loads platform

  3. 03User uploads photos (GPS validation enforced)

  4. 04On 6th upload, paywall triggers

  5. 05User completes subscription

  6. 06Backend updates account to premium

  7. 07App verifies subscription on each launch

Design

Typography and colour.

Typeface

SF Pro Text

Weights: Light, Regular, Medium, Bold. Sizes: 12, 16, 20, 24, 28, 32, 64.

Colour palette

Building something like SPOT CAPSULE?