Skip to main content

GhostPour

The quiet hand behind the bar for your iOS app.

Handles sign-in, subscriptions, usage, and backend flow the way a great bartender handles a perfect drink, smoothly, personally, and without making the customer think about the work behind it.

GhostPour, the invisible hand for your iOS app

How It Works

Four steps between your user tapping "Subscribe" and getting a response.

🔑

Authenticate

Apple Sign In verifies identity. GhostPour issues a JWT and tracks the user.

🎫

Subscribe

StoreKit handles payment. GhostPour maps the receipt to a tier and sets limits.

⚖️

Enforce

Every request is checked against the tier's model access, rate limit, and cost quota.

🍺

Serve

The right model responds. Cost is tracked. The user never sees the machinery.


What You Get

Everything between your iOS app and the backend, handled.

01

Subscription Lifecycle

StoreKit 2 receipt verification, trial detection with capped allocation, upgrade resets, and sync-on-launch reconciliation. Your server is the source of truth.

Read the docs →
02

Cost-Based Quotas

Dollar-based allocation instead of request counts. Track actual LLM spend per user with automatic quota checks and response headers your app can read.

Read the docs →
03

Model Routing

Route to the right LLM based on tier. Haiku for standard users, Sonnet for premium. Per-tier model access, image limits, and provider controls.

Read the docs →
04

3-State Feature Gating

Enabled, teaser, or disabled per tier. Teaser mode runs the feature but withholds results, showing users what they're missing to drive upgrades.

Read the docs →
05

Remote Config + Localization

Push prompt changes, model lists, and app behavior updates without an App Store release. Built-in localization serves the right language automatically via content negotiation.

Read the docs →
06

Production Deployment

Docker container with GitHub Actions CI/CD. SQLite persistence, nginx reverse proxy, and an admin dashboard for user management and analytics.

Read the docs →

You Build the Experience.

GhostPour handles the infrastructure so you can focus on what makes your app worth opening.

Read the Documentation