Case study · Our own product

LifeShift 360, and the AI gateway behind it

LifeShift 360 is ours, not a client's, which is why it is the one build on this site we can name. It is live on the App Store with an Android build alongside it.

25+ challenges, 6 life domains Self-hosted model on the free tier On the App Store

What the app does

25+ structured challenges across 6 life domains, and an AI coach called Coach Iron whose replies stream as they generate rather than arriving as a block. AI-written meal and workout plans. An OCR expense tracker that reads bank SMS and receipts. HealthKit sync, couple mode, and subscriptions through RevenueCat.

The premise is that habit trackers do not change behaviour. A streak widget tells you what you already know. Structured, guided programmes are a different product.

The part clients ask about

Free users are served by a self-hosted Ollama model. Paying users are served by OpenAI. The routing is resolved server-side, so free traffic never reaches a paid cloud model and the cost of the free tier stays flat as it grows.

That is the same gateway pattern we build into client systems when they want AI features without sending every request, and every piece of customer data in it, to a third-party vendor. Running it in our own product first is the reason we are willing to recommend it.

Where this pattern does and does not apply

A self-hosted model is not automatically the right answer. It is the right answer when request volume is high and per-request quality tolerance is wide, which describes a free tier well and describes a regulated compliance workflow badly. Several systems we have built deliberately use cloud models end to end because the accuracy mattered more than the hosting. We will tell you which one you are looking at.

Stack

React Native (Expo). Node and Express with PostgreSQL. OpenAI and a self-hosted Ollama model behind the gateway. RevenueCat for subscriptions, OneSignal for notifications.

Want the same thing looked at in your business?

We map the process, find the part worth automating first, and give you a written scope with the phases separated. No obligation, and you keep the plan.