Skip to content

Repository files navigation

PhotoWorks

App Store Expo React Native TypeScript GitHub Version

Photoworks — AI Photo Magic

Imagine Beyond Photos

Turn your photos into stunning AI creations. Generate portraits, anime art, interiors, product designs & more with just one tap.

Overview

PhotoWorks is a beautifully designed React Native mobile app (iOS-first) that lets users explore, create, and share AI-powered art and photo transformations. Android builds are fully supported via Expo.

  • Browse a curated feed of high-quality AI generations across multiple categories
  • Use reference photos + text prompts to generate new images (image-to-image & text-to-image)
  • Access a growing library of AI models (powered by OpenAI and fal.ai via backend)
  • Unlock advanced models and features with Pro subscriptions (RevenueCat)
  • Download, share, and preview creations with smooth native experiences

The app features a dark, immersive UI with custom Poppins typography, buttery animations (Reanimated + Lottie), haptics, and polished interactions.

Features

  • Stunning Onboarding — Swipe through inspirational art slides with progress-driven animations and Lottie on the final screen. Requests App Store review on completion.
  • Explore Feed — Dynamic carousels of AI art. Pull-to-refresh, tap any artwork to use it as inspiration.
  • Category Browsing — Masonry layouts for deeper dives into specific styles and themes.
  • Dream Studio (Create)
    • Text prompts
    • Optional reference image (camera or library)
    • Model selector (text-to-image / image-to-image variants)
    • Aspect ratio controls
    • Real-time generation with polling for async jobs
  • Pro Monetization — In-app subscriptions (weekly/monthly) via RevenueCat. Pro users unlock premium models.
  • Detail & Actions — Full-screen preview, pinch-to-zoom modal, one-tap download to gallery, native sharing.
  • Video Support — Preview and handling for video generations.
  • Settings — Manage premium, restore purchases, support email (dynamic), rate app, legal links.
  • Polished UX — Custom toasts, haptics, bottom sheets, skeleton loading, image transitions, safe area handling.

Screenshots

Explore feed showcasing unique AI-generated art styles Create screen with multiple AI models and style selector Detail view of a fantasy art generation with download & share actions Onboarding — Your AI Canvas. Try for free

See the full experience on the App Store.

Tech Stack

Category Technology
Framework React Native 0.79 + Expo SDK 53 (New Architecture)
Language TypeScript
Navigation React Navigation (Native Stack)
Animations react-native-reanimated, Lottie
UI / Gestures @gorhom/bottom-sheet, react-native-gesture-handler, FlashList (available)
Monetization react-native-purchases + react-native-purchases-ui (RevenueCat)
Media expo-image, expo-image-picker, expo-media-library, expo-video, expo-sharing
Other Expo expo-haptics, expo-notifications, expo-store-review, expo-secure-store, expo-clipboard, expo-web-browser
Networking axios (custom instance)
Storage @react-native-async-storage/async-storage + expo-secure-store
Fonts Poppins (Regular, Medium, SemiBold, Bold)

Backend orchestration, user content, and model catalog are provided by a private API (summerofapps.com).

Getting Started

Prerequisites

  • Node.js (LTS recommended)
  • npm (or yarn/pnpm)
  • For iOS development: Xcode + CocoaPods
  • For Android development: Android Studio + SDK
  • Expo Go (for quick JS-only testing) or a development build

Installation

git clone https://github.com/iamdipankarj/photoworks-mobile.git
cd photoworks-mobile
npm install

Environment Variables

Copy the example and populate your keys:

cp .env.example .env

Required keys (see .env.example):

  • EXPO_PUBLIC_REVENUECAT_IOS_API_KEY
  • EXPO_PUBLIC_REVENUECAT_ANDROID_API_KEY
  • EXPO_PUBLIC_INTERNAL_API_KEY (backend auth)

Note: Full functionality (feed, AI generation, subscriptions) requires the corresponding backend services and valid API keys. Without them the app will have limited or mocked behavior in some flows.

Running Locally

Recommended: Development Client

# Start the bundler
npm start
# or
npx expo start --dev-client

Build a development client (first time or after native changes):

# iOS
npx expo run:ios --configuration Debug

# Android
npx expo run:android --configuration Debug

Expo Go (limited)

Some native modules (RevenueCat, certain image/video features) require a development client. Basic JS screens may still load.

npm run start

Type Checking

npm run ts

Clean Prebuild (when native deps get out of sync)

npx expo prebuild --clean

Production Builds & Distribution

This project uses EAS Build.

See eas.json for profiles:

  • development
  • preview
  • production (auto-incrementing)
# Production iOS
npx eas build --platform ios --profile production

# Production Android
npx eas build --platform android --profile production

Submit to App Store (configured in eas.json):

npx eas submit --platform ios --profile production

Project Structure

src/
├── api/           # Backend calls (AI gen, feed, models, revenuecat sync)
├── assets/        # Images, Lottie animations, custom fonts
├── components/    # Reusable UI (Header, Button, Carousel, ModelSelector, etc.)
├── constants/     # Theme (colors, fonts, radii)
├── context/       # RevenueCatProvider
├── helpers/       # Caption, sharing, error, revenuecat utils
├── hooks/         # useFeed, useCategories, useHaptics, useOnboardingContent, etc.
├── lib/           # axios client, secure storage, types
└── screens/       # Onboarding, Explore, Dream, DetailView, Settings, Previews, ...

Entry: App.tsx (stack navigator + providers)

Links

In-App Purchases

  • Weekly Plan: $5.99
  • Monthly Plan: $24.99

Subscriptions managed securely via RevenueCat. Restore purchases supported.

License

This project is currently private / all rights reserved. Contact the author for licensing inquiries.


Built with care by Dipankar Jana.

About

PhotoWorks iOS App

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages