Every personality framework gets something right and something wrong. MBTI nails cognitive preferences but misses emotional patterns. Astrology maps relational dynamics but says nothing about how you process decisions. Numerology captures life-path themes but skips temperament entirely.
We kept running into this at Inithouse. We'd test a self-discovery product idea against one system, and the portrait felt thin. Users would finish a quiz, read their result, and say "yeah, parts of this, but it's missing something." So we asked: what if we stopped picking one framework and combined five instead?
That's how Origin Of You started. It's a self-discovery app that runs you through astrology, numerology, tarot birth cards, Chinese zodiac, and sun/moon analysis, pulls 120+ data points from your answers, and generates an AI-written portrait of who you are. Not a type label. Not a four-letter code. A written narrative that reads like someone studied you for a month.
The thesis sounded clean. The build was anything but.
The first real problem: onboarding length. Each system needs specific inputs. Astrology needs birth date, exact time, and location. Numerology needs your full name. Chinese zodiac needs the lunar year mapping. Tarot needs a birth card derivation.
We compressed this into five quiz steps. Step 1: birth date. Step 2: birth time. Step 3: birth location. Step 4: full name. Step 5: email (to deliver the portrait).
Five steps is already long for a free web app. Our quiz completion sat around 28% of everyone who started it. That number lived and died on step 3.
Step 3 asks for your birthplace because astrology needs geographic coordinates for chart calculation. We built an autocomplete dropdown. It looked fine in testing.
In production, it broke in specific ways that took us weeks to find. Typing a city like "Orlov" returned two identical entries with the same label but different underlying data. Some results showed a headline that didn't match the subtitle. Users would select a place, see a green checkmark ("Confirmed"), but the selection never actually propagated to the form state. When they hit Continue, they got an error toast saying "Select a birthplace" even though the field showed it was confirmed.
We found this in our session recordings. Users were tapping Continue four to five times per visit on that step. Some sessions showed people spending two full minutes trying to get past it before giving up. The error toast overlapped the Continue button on mobile, so some users were tapping the toast itself thinking it was an action.
After we fixed the autocomplete (deduplicated entries, rewired the state binding), quiz completion recovered. But we lost weeks of traffic to a bug that only appeared with certain city names in certain locales.
Root cause: The geocoding API returned multiple entries for the same place (different administrative boundary levels), and our dropdown displayed all of them without deduplication. The "Confirmed" checkmark was a UI-only state that never wrote back to the form validation layer.
Each system has its own visual identity in the result. We wanted the portrait page to feel like an experience, not a report. So we added layered CSS animations: an aurora sweep (120s loop), a starfield (90s), four mesh blob animations (28-47s each). Six infinite full-screen animations running simultaneously.
On desktop with a fast connection, it looked beautiful. On a mid-range Android phone on mobile data (73% of our sessions), the date input field on the homepage didn't render for 10-11 seconds. Transitions between quiz steps took 16-20 seconds: the progress counter jumped immediately, the Continue button appeared, but the actual question content arrived 8-20 seconds later. Users would tap Continue on the old screen, thinking it was the new step.
LCP hit 5.5 seconds. INP peaked at over a second. More than half of all pageviews scored "poor" on Core Web Vitals.
The fix we should have shipped on day one: disable animations on mobile via prefers-reduced-motion or a simple media query. We didn't, because the animations were the "identity" of the product and nobody wanted to cut them. Three deep-dives later, they're still running.
When all five systems resolve, the AI generates a written portrait. Not bullet points, not a dashboard of scores. Continuous prose that weaves the systems together.
A portrait might say your numerology life path points toward teaching, your birth chart shows a strong need for autonomy, your Chinese zodiac year emphasizes patience, and your tarot birth cards suggest a tension between structure and intuition. The AI's job is to find where these signals agree, where they contradict, and what that tension might mean for you.
The output is roughly 1,500-2,000 words. It covers personality patterns, relational tendencies, career inclinations, and growth edges. Every claim traces back to at least one of the five input systems.
Start with two systems, not five. Astrology and numerology alone cover 80% of the signal. We could have shipped a shorter quiz (3 steps), proven retention, then layered in tarot and Chinese zodiac as "depth expansions" for returning users. Instead, we front-loaded all the complexity into a single onboarding that nobody returns from.
Returning visitors across four measurement periods: zero. The product works as a single-use experience. People complete the quiz, read their portrait, and leave. We built a five-system synthesis engine for a one-visit product. If we'd started with two systems and a shorter result, we could have used the remaining three as reasons to come back.
Ship mobile-first performance from the start. When your paid traffic is 90% mobile and your LCP is 5.5 seconds, you're paying for people to watch a loading screen. We knew the animations were heavy. We chose aesthetics over speed and paid for it in every metric that matters.
Combining multiple personality frameworks into a single written portrait produces something noticeably different from any single-system test. People who complete the quiz engage deeply with the result. The product's engagement rate and session quality are among the best in our portfolio.
The problem is everything around the portrait: an onboarding that's too long, performance that punishes mobile users, and a single-use loop with no reason to return. The thesis was right. We just built the cathedral before we proved anyone would walk through the door twice.
Origin Of You is live and free. If you're building something that combines multiple data sources into a single output, we'd like to hear what worked.
Jakub, builder @ Inithouse