JK
JustKalm
Mobile Development

Mobile SDKs

Native SDKs for iOS, Android, React Native, and Flutter. Built-in camera UI, offline support, and secure credential storage.

iOSiOS 14+
AndroidAPI 24+
React NativeRN 0.70+
FlutterFlutter 3.0+

SDK Features

Camera Capture

Built-in camera UI for product photography

Image Optimization

Automatic compression and format optimization

Offline Queue

Queue valuations when offline, sync when connected

Secure Storage

Encrypted credential storage with Keychain/Keystore

Background Sync

Upload images and sync data in background

Deep Linking

Handle justkalm:// URLs for app integration

iOS SDK (Swift)

Native Swift SDK with SwiftUI support and built-in camera UI.

iOS Integration
// iOS SDK Installation (Swift Package Manager)
// Add to Package.swift:
dependencies: [
    .package(url: "https://github.com/justkalm/justkalm-ios.git", from: "1.0.0")
]

// Or add via Xcode:
// File → Add Packages → https://github.com/justkalm/justkalm-ios.git

// Initialize in AppDelegate.swift
import JustKalmSDK

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        
        JustKalm.configure(
            publishableKey: "pk_live_...",
            options: .init(
                environment: .production,
                enableOfflineMode: true,
                enableAnalytics: true
            )
        )
        
        return true
    }
}

// Create a valuation
import JustKalmSDK

class ValuationViewController: UIViewController {
    
    func createValuation() async {
        do {
            let valuation = try await JustKalm.valuations.create(
                brand: "Louis Vuitton",
                category: .bags,
                condition: .excellent,
                images: capturedImages  // UIImage array
            )
            
            print("Valuation: \(valuation.estimatedValue)")
            print("Confidence: \(valuation.confidence)")
            
        } catch JustKalmError.offline {
            // Queued for later - will sync automatically
            showOfflineIndicator()
            
        } catch {
            showError(error)
        }
    }
    
    // Use the built-in camera UI
    func presentCameraCapture() {
        let cameraVC = JustKalmCameraViewController()
        cameraVC.delegate = self
        cameraVC.maxPhotos = 5
        cameraVC.showGuidelines = true
        present(cameraVC, animated: true)
    }
}

extension ValuationViewController: JustKalmCameraDelegate {
    func cameraDidCapture(images: [UIImage], metadata: CaptureMetadata) {
        createValuation(with: images)
    }
}

Offline Support

Online Mode

  • Real-time valuations
  • Immediate results
  • Sync pending requests

Offline Mode

  • Queue valuations locally
  • Secure image storage
  • Auto-sync on reconnect

Ready to Build?

Download the SDK for your platform and start integrating.

© 2025 JustKalm. Mobile-first intelligence.