← All posts
tutorialnumerology

How to build a numerology app: life path, destiny, and compatibility

Mahesh Naidu·5 min read

Numerology apps follow a predictable shape: compute the user's core numbers, then let them check compatibility against someone else. The /numerologynamespace covers both halves with 12 endpoints. Here's the minimal version.

Step 1: the core numbers

fetch("https://aplicious.com/api/v1/numerology/life-path?dob=1990-01-15", {
  headers: { "X-API-Key": "lapi_live_••••" },
});

fetch("https://aplicious.com/api/v1/numerology/destiny-number?name=Jane+Doe", {
  headers: { "X-API-Key": "lapi_live_••••" },
});

Life path comes from the birth date; destiny comes from the full birth name. Both preserve master numbers (11, 22, 33) at the final reduction step by default — pass ?system=chaldean on either if you want the Chaldean letter-mapping instead of the default Pythagorean one.

Step 2: compatibility — the feature that actually drives engagement

/compatibility takes two names and two birth dates and returns a deterministic score built from three separate sub-scores: life path compatibility, expression (destiny) compatibility, and soul urge compatibility — each computed from numerological harmony rules, not a random number generator.

fetch(
  "https://aplicious.com/api/v1/numerology/compatibility?name1=Jane&dob1=1990-01-15&name2=John&dob2=1988-07-22",
  { headers: { "X-API-Key": "lapi_live_••••" } }
);

The response breaks out life_path_compatibility, expression_compatibility, and soul_urge_compatibilityas separate objects (each with both people's numbers and a sub-score) plus an overall_score. Same two inputs always produce the same score — useful if you're building a shareable result card, since the result won't change if someone re-opens it later.

Bonus: business name numerology

/business-nameruns the same destiny-number calculation against a proposed company name and compares it to a founder's personal numbers — this was the most-requested feature after our own numerology engine launched, and it's a genuinely different audience (founders naming a company) from the consumer compatibility-checker crowd.

Putting it together

async function getCompatibility(p1: { name: string; dob: string }, p2: { name: string; dob: string }) {
  const params = new URLSearchParams({
    name1: p1.name, dob1: p1.dob,
    name2: p2.name, dob2: p2.dob,
  });
  const res = await fetch(
    `https://aplicious.com/api/v1/numerology/compatibility?${params}`,
    { headers: { "X-API-Key": process.env.APLICIOUS_KEY! } }
  );
  return (await res.json()).data;
}
Try APlicious free
One key. 34 live namespaces. 500 free calls per month — no credit card required.
Get your free API key →
← Back to all posts