Practical recipes

Copy-paste workflows for building real features with Kaabalah.

These recipes focus on product features.

Not theory.

Recipe: “profile” from name + birth date

Use this when you want a compact "esoteric profile" card.

import { calculateGematria } from 'kaabalah/gematria';
import { calculateKaabalisticLifePath } from 'kaabalah/numerology';

export function buildProfile(input: { name: string; birthDate: Date }) {
  const name = input.name.trim().toUpperCase();

  const gematria = calculateGematria(name);
  const lifePath = calculateKaabalisticLifePath(input.birthDate);

  return {
    name,
    lifePath: {
      reduced: lifePath.lifePath.reducedValue,
      synthesis: lifePath.syntheses.finalSynthesis,
    },
    gematria: {
      total: gematria.synthesis.originalSum,
      vowels: gematria.vowels.originalSum,
      consonants: gematria.consonants.originalSum,
    },
  };
}

What to show in UI:

  • Life path reduced as the headline.

  • Name gematria total as a secondary badge.

  • A “How it’s computed” drawer using reduction steps.

Recipe: “daily numerology” (personal cycles)

Use this when you want a daily / monthly widget.

Practical tip:

  • Cache results per day.

  • Recompute at midnight in the user’s local time zone.

Recipe: birth chart (timezone-safe)

Use this when you have local birth time + place.

circle-exclamation

Recipe: draw tarot cards

Use this when you want a quick “3 cards” feature.

Practical tip:

  • Store the drawn card IDs in your DB.

  • Don’t reshuffle on every rerender.

Recipe: build correspondences with the Tree of Life

Use this when you want “click a tarot card → show linked planet/element/etc.”

Practical tip:

  • Treat TreeOfLife as your in-memory knowledge graph.

  • Serialize only what you need.


ko-fiarrow-up-right

Last updated