Every personality quiz we tried gave us the same experience: answer 20 questions, get a four-letter code or a color, feel briefly seen, forget it by Thursday. The label was the product. Once you had your type, there was nothing left to explore.
We wanted to build something different at Inithouse. Not a quiz that sorts you into a bucket, but a tool that writes you a portrait. Origin Of You is a self-discovery app that combines five systems and 120+ data points into an AI-generated written portrait of you. It reads astrology, numerology, tarot archetypes, Chinese zodiac and lunar phase data together, then produces paragraphs about how you think, relate, create and handle stress. No type. No label. A text you can sit with.
Here is what the build actually looked like, what broke, and what we learned.
The first prototype used only natal chart data. You entered your birth date and time, the app ran the calculations, and the LLM wrote a portrait based on planetary positions.
The output was technically correct. It was also indistinguishable from any free astrology site. The problem: a single system produces a single axis of variation. Two people born three days apart got portraits that read like the same person with minor edits. We tested with eight internal profiles and a blind ranking. Reviewers could not reliably tell whose portrait was whose.
Root cause: one system, roughly 30 data points, not enough dimensionality to differentiate people in prose. The math was sound. The resolution was too low.
Adding numerology, tarot birth cards, Chinese zodiac and lunar phase data pushed the input space past 120 unique data points per user. Suddenly the portraits were distinct. Two people born a day apart got noticeably different texts because their numerological root, tarot archetype and lunar phase pulled in different directions.
But now we had a consistency problem. Five systems sometimes contradict each other. Your natal chart might suggest high independence while your numerological profile points toward collaboration. The LLM, given all five inputs at once, would either average them into mush ("you value both independence and connection") or flip between contradictory claims paragraph to paragraph.
We tried three approaches before finding one that worked:
Approach A: weighted average. Assign each system a confidence weight, blend the signals before the LLM sees them. Result: the portraits read like horoscopes. Smooth, vague, nobody disagreed with them and nobody remembered them either.
Approach B: system-by-system sections. Give each system its own heading. "According to your numerology..." followed by "Your Chinese zodiac suggests..." Result: five mini-portraits stapled together. No synthesis, no coherence. Users said it felt like reading five different apps.
Approach C (what shipped): tension-first architecture. We compute all five systems, identify where they agree and where they contradict, then structure the prompt so the LLM addresses contradictions explicitly. "Your chart emphasizes solitary focus, but your numerological root pulls toward group energy. In practice, this shows up as..." The portrait becomes a conversation between systems, not a consensus.
This was the decision that made the product feel different from a quiz. A quiz resolves you. Origin Of You holds the tension and lets you sit in it.
The LLM writes every portrait. Left unchecked, it flatters. We measured this early: ungrounded portraits scored 4.8/5 on "felt accurate" but 2.1/5 on "told me something I did not already believe about myself." Users liked being praised. They did not come back.
The fix is a grounding rule we enforce at prompt level: every claim in the portrait must trace back to a specific computation. If the text says "you process conflict slowly," there must be a numerological or natal chart value that supports it. The LLM cannot invent traits for narrative flow.
This made the portraits less comfortable and more useful. The "felt accurate" score dropped to 4.2/5 but the "told me something new" score jumped to 3.9/5. Repeat usage went up. People came back to re-read sections, not just to see their result once.
Three things, if we started over:
Ship the tension-first architecture from day one. We spent weeks on the single-system prototype and the weighted-average approach before landing on explicit contradiction handling. In hindsight, the product thesis ("you are not a type") demanded it from the start. A tool that claims people are complex but then smooths out complexity is lying.
Test with strangers earlier. Internal testing with eight profiles felt rigorous. It was not. People who built the system read their own knowledge into the output. The first ten external testers caught problems we had rationalized away for weeks: jargon leaking into portraits, sections that assumed familiarity with astrological terminology, contradictions that felt confusing rather than illuminating without context.
Invest in the 90-second onboarding before polishing the portrait. We spent most of our time on output quality. The real bottleneck was input friction. Users need to enter a birth date, time and location. Getting the birth time right matters for natal chart accuracy. We added a "not sure" option that falls back to a noon default with a note about reduced precision, and completion rate jumped. The onboarding screen now takes about 90 seconds, no account required.
Origin Of You runs at originofyou.com, free to start, no signup needed. The portrait covers thinking patterns, relationship dynamics, creative style and stress responses across all five systems.
The product question we are still working on: how deep should the portrait go on first visit versus what earns a return visit? A 2,000-word portrait on day one is impressive but overwhelming. A 200-word teaser feels like a paywall. We are testing middle ground now, measuring completion and re-read rate separately: do people come back to the same section twice?
If you have built anything in the self-discovery or personality space, curious what you found about output length versus engagement. The "quiz plus label" model is optimized for shareability. We optimized for re-reading. Still figuring out if that is the right trade.
Jakub, builder @ Inithouse
Interesting take. Would you still recommend this approach to someone starting today?
Clear and practical, thanks. Did anything surprise you along the way?
Thanks for writing this up. Bookmarking it for later.
Nice work shipping it. What has been the biggest challenge since launch?
Interesting take. Would you still recommend this approach to someone starting today?
Really relatable. How much time do you put into this each week?
Great breakdown. What feedback have you had from early users?
Interesting approach. What was the hardest part to get right?
Nice work shipping it. What has been the biggest challenge since launch?
Good write-up. What would you do differently if you started again?
A personality label can end someone's curiosity faster than it starts it. I'd test showing one unexpected contradiction in the first portrait, then leaving the deeper interpretation for a return visit.
If someone sees two sides of themselves that don't seem to fit together, they have a reason to come back and explore rather than just read a label and leave.
Curious how long it took before you saw the first real results?
Clear and practical, thanks. Did anything surprise you along the way?
Really relatable. How much time do you put into this each week?
Good point. Did you test that with users before committing to it?
Great breakdown. What feedback have you had from early users?
Great breakdown. What feedback have you had from early users?
Great breakdown. What feedback have you had from early users?
Love this angle. Building Xstream4K right now so this hits close to home — what made you look into it in the first place?