Skip to content

Rushant-123/Slay-AI

Repository files navigation

Slay AI πŸ“Έβœ¨

AI Pose Coach & Smart Camera - Intelligent posing assistant that analyzes your personality, location, outfit, and context to suggest the perfect poses. Features automatic camera optimization, retro digital filters, and premium features with integrated payments.

iOS Swift Xcode License

🌟 Features

  • AI Pose Coach: Intelligent pose suggestions based on personality, location, outfit, and context
  • Smart Camera Optimization: Automatic camera settings for perfect shots every time
  • Retro Digital Filters: Classic digital camera filters and effects
  • Real-time Pose Analysis: WebSocket-powered live feedback and pose guidance
  • Photo Gallery: Organize and manage your posed photos
  • Authentication: Google Sign-In and Apple Sign-In for secure access
  • Women-Only Community: Face verification ensures exclusive access for women
  • Premium Experience: Superwall-powered subscriptions for advanced features

πŸ“± Screenshots

Screenshots coming soon

πŸš€ Quick Start

Prerequisites

  • macOS 13.0+
  • Xcode 15.0+
  • iOS 15.0+ device or simulator
  • Swift 5.9+

Installation

  1. Clone the repository

    git clone https://github.com/Rushant-123/slay-ai.git
    cd slay-ai
  2. Install dependencies

    # Swift Package Manager handles all dependencies automatically
    open SnatchShot.xcodeproj
  3. Configure Environment

    # Copy the example environment file
    cp .env.example .env
    
    # Edit .env with your actual configuration values
    nano .env
  4. Configure Build Settings

    # Copy and configure your secrets
    cp SnatchShot/Config.xcconfig.example SnatchShot/Config.xcconfig
    
    # Edit Config.xcconfig with your actual API keys and URLs
    nano SnatchShot/Config.xcconfig
  5. Build and Run

    # In Xcode: Product β†’ Run (⌘R)
    # Or use command line:
    xcodebuild -project SnatchShot.xcodeproj -scheme SnatchShot -sdk iphonesimulator

βš™οΈ Configuration

Required Environment Variables

Create a .env file in the project root:

# Google Sign In Configuration
GOOGLE_CLIENT_ID=your_google_client_id_here.apps.googleusercontent.com

# Apple Sign In Configuration
APPLE_TEAM_ID=your_apple_team_id
APPLE_SERVICES_ID=com.yourdomain.yourapp.signin
APPLE_KEY_ID=your_apple_key_id
APPLE_PRIVATE_KEY=your_apple_private_key

# Database API Configuration
DATABASE_API_BASE_URL=http://your_api_domain.com/api
DATABASE_API_TIMEOUT=30

# WebSocket Configuration
WEBSOCKET_BASE_URL=ws://your_websocket_domain.com:4001

# Analytics Configuration
MIXPANEL_TOKEN=your_mixpanel_token_here

# AppsFlyer Configuration
APPSFLYER_DEV_KEY=your_appsflyer_dev_key_here
APPLE_APP_ID=your_apple_app_id_here

Build Configuration (Config.xcconfig)

The SnatchShot/Config.xcconfig file contains build-time configuration:

// Google Sign In Configuration
GOOGLE_CLIENT_ID = your_google_client_id_here.apps.googleusercontent.com

// Database API Configuration
DATABASE_API_BASE_URL = http://your_api_domain.com/api
DATABASE_API_TIMEOUT = 30

// WebSocket Configuration
WEBSOCKET_BASE_URL = ws://your_websocket_domain.com:4001

// Apple Sign In Configuration
APPLE_TEAM_ID = your_team_id
APPLE_SERVICES_ID = com.yourdomain.yourapp.signin
APPLE_KEY_ID = your_key_id
APPLE_PRIVATE_KEY = -----BEGIN PRIVATE KEY-----...

// Analytics Configuration
MIXPANEL_TOKEN = your_mixpanel_token

// AppsFlyer Configuration
APPSFLYER_DEV_KEY = your_appsflyer_key
APPLE_APP_ID = your_apple_app_id

πŸ—οΈ Architecture

Core Components

  • Camera Service: Handles camera capture and processing
  • WebSocket Service: Real-time communication with AI backend
  • Database Service: API communication and data management
  • Configuration: Centralized configuration management
  • Analytics: User behavior tracking and insights

Key Technologies

  • SwiftUI: Modern, declarative UI framework
  • Combine: Reactive programming for state management
  • AVFoundation: Camera and media processing
  • Metal: GPU-accelerated image processing
  • Superwall: Subscription and paywall management
  • WebSocket: Real-time bidirectional communication
  • Face Verification: AI-powered gender verification for community access

πŸ”§ Development

Project Structure

SnatchShot/
β”œβ”€β”€ Camera/                 # Camera and image processing
β”‚   β”œβ”€β”€ CameraView.swift
β”‚   β”œβ”€β”€ CameraService.swift
β”‚   └── PoseSuggestionsView.swift
β”œβ”€β”€ DatabaseService.swift    # API communication
β”œβ”€β”€ WebSocketService.swift   # Real-time messaging
β”œβ”€β”€ Configuration.swift      # App configuration
β”œβ”€β”€ GalleryView.swift        # Photo gallery
β”œβ”€β”€ SubscriptionManager.swift # Premium features
└── Config.xcconfig         # Build configuration

Code Style

  • Follow Swift API Design Guidelines
  • Use SwiftLint for code quality
  • Document complex logic with comments
  • Prefer SwiftUI over UIKit where possible

Testing

# Run unit tests
xcodebuild test -project SnatchShot.xcodeproj -scheme SnatchShot

# Run UI tests
xcodebuild test -project SnatchShot.xcodeproj -scheme SnatchShotUITests

πŸ”’ Security

  • Never commit secrets: API keys, tokens, and private keys are excluded from version control
  • Environment variables: Use .env files for local development
  • Build configuration: Sensitive data is managed through Config.xcconfig
  • HTTPS only: All network requests use secure connections

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Make your changes and test thoroughly
  4. Commit your changes: git commit -m "Add your feature"
  5. Push to your fork: git push origin feature/your-feature-name
  6. Create a Pull Request

Guidelines

  • Code Review: All PRs require review before merging
  • Tests: Add tests for new features
  • Documentation: Update README and code comments
  • Security: Never expose sensitive information

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™‹ Support

πŸ† Acknowledgments

  • AI/ML Team: For the revolutionary pose coaching and camera intelligence algorithms
  • Design Team: For the intuitive camera interface and pose suggestion UX
  • Open Source Community: For the amazing libraries and tools powering the smart camera features

Made with ❀️ for photographers and pose enthusiasts worldwide

About

AI Pose Coach & Smart Camera - Intelligent posing assistant with face verification for women. Features AI-powered pose suggestions, automatic camera optimization, retro digital filters, and premium experience with integrated payments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors