DEV Community

MoodFlow
MoodFlow

Posted on

How I Built a Fortune Telling Engine That's Scarily Accurate (Technically Speaking)

How I Built a Fortune Telling Engine That's Scarily Accurate (Technically Speaking)

The Idea

Fortune telling is usually: vague statements + confirmation bias = "accuracy." I wanted to build something different — a system that feels personalized without pretending to be magic.

The Architecture

1. Multi-Layer Randomization with Seeding

Daily Seed = hash(date + zodiac_sign + user_id)
→ feeds into 4 independent generators:
  - Fortune text (200+ templates × 12 signs)
  - Lucky numbers (1-99, weighted distribution)
  - Lucky colors (12 colors, rotation algorithm)
  - Mood score (1-10, Gaussian distribution centered at 6)
Enter fullscreen mode Exit fullscreen mode

The key: same user + same date = same reading. This creates the illusion of consistency while being purely algorithmic.

2. Template System

Instead of AI generation (expensive at scale), I built a template engine:

  • 200+ fortune templates per zodiac sign
  • Context-aware rotation — never repeats within 30 days
  • Multi-language — templates translated to 6 languages
  • Dynamic variables — lucky numbers, colors, and scores injected at runtime

3. Why It's Free

The fortune module runs entirely on templates — zero AI API calls. Server cost: near zero. This means we can offer it for free indefinitely as a traffic driver for the paid tools.

The Happy Accident

Users who come for the free fortune telling discover the stock assistant. Users who come for stock signals discover the fortune tool. Both are free. Both drive engagement. Both lead to trying the paid content tools.

It's not magic. It's just good product design.

👉 https://fortune.getmoodflow.com



🔮 Free Daily Fortune!

Built with love, templates, and a Gaussian distribution. Try it yourself.

👉 Get your free fortune now →


📊 Free AI Stock Analysis: Get instant buy/sell signals for SG, MY, ID, US stocks — 5 free queries daily on Telegram: https://t.me/MoodFlowStockBot

Top comments (0)