🕓 Bericht van 2026-04-14, bijgewerkt op 2026-05-09. De TS / Python / PHP SDK’s staan nu op publieke registries:
@astroway/sdk(npm),astroway(PyPI),astroway/sdk(Packagist). Details in de changelog.
Human Design is uitgegroeid van een esoterisch nichesysteem uit de jaren 90 tot een mainstream kader voor persoonlijke ontwikkeling. Apps met miljoenen gebruikers hebben het gewoon gemaakt, en ontwikkelaars vragen zich af: hoe bereken je een Human Design-kaart programmatisch?
Deze post gaat over de technische kant: wat HD-berekeningen zijn, welke API’s ze ondersteunen en hoe je een HD-feature in je app inbouwt.
Wat Human Design technisch is
Section titled “Wat Human Design technisch is”Human Design is gebouwd op drie klassieke systemen:
- Westerse astrologie: de planeetposities op het moment van geboorte
- I Ching: 64 hexagrammen, gemapt op 64 “poorten”
- Het chakrasysteem: negen “centra” (energetische knooppunten)
De berekening neemt geboortegegevens en levert een bodygraph op: een visuele kaart met:
- Type (Manifestor, Generator, Manifesting Generator, Projector, Reflector): de energetische signatuur
- Strategy: hoe je beslissingen neemt
- Authority: welk centrum je vertrouwt bij beslissingen (Sacral, Emotional, Splenic enzovoort)
- Profile: een combinatie van lijnen (1/3, 4/6 enzovoort)
- Channels: verbindingen tussen centra die de persoonlijkheid vormen
- Incarnation Cross: de levensbestemming, afgeleid van vier sleutelposities
Onder de motorkap komt elk van de 64 poorten overeen met een bereik van ecliptische lengte. De lengte van je planeten bij de geboorte wordt gemapt op specifieke poorten (en de lijnen daarbinnen). De “Design”-berekening gebruikt het moment waarop de Zon 88° vóór de geboortepositie stond, ongeveer 3 maanden eerder.
Twee kaarten: Personality en Design
Section titled “Twee kaarten: Personality en Design”Human Design gebruikt twee geboortemomenten:
- Personality: het echte geboortemoment. Dit is de “bewuste” kant.
- Design: wanneer de Zon 88° vóór de geboortepositie stond. Dit is de “onbewuste” kant.
Elke activatie van een poort hoort bij een van de twee. Een volledige kaart heeft 13 + 13 = 26 activaties.
Precies dat maakt een HD-berekening zwaarder dan een standaard astrologische horoscoop: je rekent in feite twee kaarten uit.
API’s met ondersteuning voor Human Design
Section titled “API’s met ondersteuning voor Human Design”De meeste astrologie-API’s ondersteunen HD helemaal niet, of alleen oppervlakkig (alleen type + strategy). Een volledige HD-implementatie vraagt:
- Een mapping van 64 poorten (lookup table)
- 6 lijnen per poort (384 cellen)
- 9 centra met defined/open-logica
- 36 kanalen (elk verbindt twee centra)
- Berekening van de Incarnation Cross
- Afleiding van het Profile uit de poortlijn van de Zon + de poortlijn van de Aarde (Personality en Design)
API’s die dat allemaal kunnen, zijn zeldzaam. De AstroWay API heeft 12 HD-endpoints: de diepste dekking die we in een commerciële API hebben gezien.
De 12 HD-endpoints van AstroWay
Section titled “De 12 HD-endpoints van AstroWay”| Endpoint | Credits | Wat het teruggeeft |
|---|---|---|
/v1/human-design | 50 | Volledige HD-kaart |
/v1/human-design/transits | 50 | HD-transits op een gegeven datum |
/v1/human-design/compatibility | 100 | Compatibiliteit van twee HD-kaarten |
/v1/hd/incarnation-cross | 50 | Incarnation Cross |
/v1/hd/dream-rave | 50 | Dream Rave-kaart |
/v1/hd/hologenetic | 50 | Hologenetic Profile |
/v1/hd/sensitivity | 50 | Analyse van de gevoeligheid voor de geboortetijd |
/v1/hd/circuitry | 20 | Analyse van de circuits |
/v1/hd/penta | 100 | Penta - groepsdynamiek van 3–5 personen |
/v1/hd/group-overlay | 100 | Group overlay |
/v1/hd/design-date | 10 | Berekening van de Design-datum |
/v1/hd/rave-new-years | 10 | Data van Rave New Year |
Een HD-feature toevoegen
Section titled “Een HD-feature toevoegen”Stel dat je HD toevoegt aan een bestaande astrologie-app. Begin met het hoofdendpoint:
import { Astroway } from '@astroway/sdk';
const client = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const hd = await client.humanDesign.compute({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234,});
console.log(`Type: ${hd.type}`); // e.g. "Generator"console.log(`Strategy: ${hd.strategy}`); // e.g. "To Respond"console.log(`Authority: ${hd.authority}`); // e.g. "Sacral"console.log(`Profile: ${hd.profile.profile}`); // e.g. "1/3"console.log(`Defined channels: ${hd.channels.length}`);De vorm van het antwoord:
{ "type": "Generator", "strategy": "To Respond", "notSelfTheme": "Frustration", "authority": "Sacral", "profile": "1/3", "definition": "single", "cross": { "name": "Right Angle Cross of the Sphinx", "quarter": "Civilization", "gates": [1, 2, 7, 13] }, "centers": [ { "name": "Sacral", "defined": true }, ... ], "channels": [ { "gate1": 34, "gate2": 20, "name": "Channel of Charisma", "type": "Generated" } ], "personalityActivations": [...], "designActivations": [...]}Groepsdynamiek met Penta
Section titled “Groepsdynamiek met Penta”Penta is een techniek om de dynamiek van een team in groepen van 3–5 personen te begrijpen. Die is zeldzaam: de meeste HD-calculators bieden haar niet. Maar voor HR-tech, coachingplatforms en teambuilding-apps is het goud.
const penta = await client.hd.penta({ inputs: [ { date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.45, longitude: 30.52 }, { date: '1988-03-10', time: '08:15:00', timezoneOffset: 2, latitude: 48.85, longitude: 2.35 }, { date: '1985-11-22', time: '18:00:00', timezoneOffset: -5, latitude: 40.71, longitude: -74.00 }, ],});
console.log(`Members: ${penta.memberCount}`);console.log(`Channels in the group: ${penta.channels.length}`);Sensitivity: cruciaal voor nauwkeurigheid
Section titled “Sensitivity: cruciaal voor nauwkeurigheid”HD-kaarten zijn gevoelig voor de geboortetijd. Een fout van 10 minuten kan het Profile veranderen (bijvoorbeeld 1/3 → 1/4). Voor gebruikers die hun exacte tijd niet kennen, draai je een sensitivity-analyse:
const sensitivity = await client.hd.sensitivity({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234,});
// sensitivity tells you which fields change if time shifts ±5/15/30 minGebruik dit om de gebruiker te waarschuwen: “Met deze nauwkeurigheid kan je profile verschuiven. Overweeg een rectificatie.”
Tarieven voor HD-apps
Section titled “Tarieven voor HD-apps”Als je een app bouwt die om HD draait:
- Basisgebruiker: 1 HD-kaart bij registratie, voor altijd gecachet = eenmalig 50 credits
- Actieve gebruiker: periodieke transits + compatibility = ~200 credits/maand
- 100 DAU met gematigd HD-gebruik: ~110.000 credits/maand → Starter ($19/maand) dekt dat ruim
- 1.000 DAU: ~150.000 credits/maand → Pro ($59/maand)
Compatibility-verzoeken zijn het zwaarst (100 credits). Cache de resultaten voor elk paar gebruikers voor altijd (ze veranderen niet).
Visualisatie
Section titled “Visualisatie”Een bodygraph wordt traditioneel met SVG gerenderd. De API levert de data over centra en kanalen; jij rendert het beeld. Een voorbeeld:
function Bodygraph({ hd }: { hd: HDChart }) { return ( <svg viewBox="0 0 400 600"> {hd.centers.map(c => ( <polygon key={c.name} points={CENTER_COORDS[c.name]} fill={c.defined ? CENTER_COLORS[c.name] : 'white'} stroke="black" /> ))} {hd.channels.map(ch => ( <line key={`${ch.gate1}-${ch.gate2}`} x1={GATE_COORDS[ch.gate1].x} y1={GATE_COORDS[ch.gate1].y} x2={GATE_COORDS[ch.gate2].x} y2={GATE_COORDS[ch.gate2].y} stroke="#d4a84c" strokeWidth="3" /> ))} </svg> );}De coördinaten zijn een vaste template (elke bodygraph heeft dezelfde 9 centra en 64 poorten op dezelfde posities).
Begin met het bouwen van HD-features
Section titled “Begin met het bouwen van HD-features”- Human Design API: de productpagina met de volledige lijst endpoints
- Voorbeeld: Human Design: een gedetailleerde walkthrough van
/v1/human-design - Snelstart: haal een gratis API-sleutel (tot 200 HD-kaarten per maand op Free)
Posities tot op de boogseconde in 4 regels code.
Gratis sleutel zonder kaart. 5.000 calls per maand tot de eerste betaling.