Skip to content
PersonaDreams ikonuOur own product2024

PersonaDreams

Dream interpretation, personality analysis and mystical insight.

iOS
Let’s build something like this
PersonaDreams interface 1
PersonaDreams interface 2
AppAMG / 24
Project
Our own product
Our role
Product · iOS development · AI integration · Subscriptions
Duration
6 months

01 / Behind the product

A real need. A considered solution.

01

Challenge

In mystical content apps the answers tend to sound alike; users spot the pattern within two days and lose trust. There is also a waiting problem: coffee-cup or palm readings need image analysis that takes seconds, and pinning the user to the screen breaks the experience.

02

Approach

The interpretation layer uses the user’s dream journal as context and surfaces recurring symbols as a pattern over time. Readings go into a Firestore-backed queue instead of a blocking request; results land in an inbox through a live listener with an unread count. Photo validation is cached by image hash, with a two-second rate limit and five attempts per session. Credits, the RevenueCat subscription and rewarded ads live in one state object; keys come from Remote Config and server work runs in Cloud Functions. The app is written in SwiftUI, 145 Swift files.

03

Result

Dream interpretation, personality analysis, Greek / Roman / Turkish mythology tests, tarot, coffee and palm readings, numerology and horoscopes in one app; four languages (Turkish, English, Spanish, Arabic). Rated 4.9 on the App Store.

03 / Scope & details

The details make the experience.

  • 01

    Interpretation layer that uses the dream journal as context

  • 02

    Pattern analysis across recurring symbols

  • 03

    A Firestore-backed interpretation queue and inbox: no waiting screen

  • 04

    Subscription infrastructure through RevenueCat

Dream interpretationPersonality analysisDaily horoscopeCoffee cup readingPalmistryNumerology

Technology

SwiftSwiftUIFirebaseOpenAIRevenueCat

INSIDE THE PRODUCT

The engineering behind the interface.

Systems we built and concrete problems we addressed in this project.

01

Readings are queued, the user is free

InterpretationQueueManager writes the request to Firestore with type, text, image URLs, card indexes, birth data and language; a live listener drops the result into the inbox and updates the unread count. The user is never pinned to a waiting screen.

02

Photo validation cost is bounded

Validation results are cached by image hash for five minutes; there is a two-second gap between requests, five validations per session and a 20 MB cap on the cache. Re-uploading the same photo never hits the model.

03

Localisation is checked before build

Four .lproj directories (ar, en, es, tr) and any hardcoded Text("…") without .localized are grep-checked; API keys come from Remote Config and sign-in runs through Apple and Google.

4,9 / 5
App Store rating
27
ratings

Your idea could be next.

What could we build for you?

From a first release to a growing platform. Let’s plan the design, development and launch together.

Tell us about your project

From Türkiye to the US, UK, Australia and everywhere in between.