🕓 Bericht van 2026-04-14, bijgewerkt op 2026-05-09. De TS / Python / PHP SDK’s leven nu op publieke registers —
@astroway/sdk(npm),astroway(PyPI),astroway/sdk(Packagist). Details vind je in de changelog.
Human Design is uitgegroeid van een niche-esoterisch systeem uit de jaren 1990 tot een mainstream raamwerk voor persoonlijke ontwikkeling. Apps met miljoenen gebruikers hebben het genormaliseerd — en ontwikkelaars stellen zich de vraag: hoe bereken je een Human Design-kaart programmatisch?
In deze post draait het om de technische kant: wat is HD-berekening, welke API’s ondersteunen deze functies en hoe integreer je een HD-functie in jouw app.
Wat is Human Design technisch gezien?
Section titled “Wat is Human Design technisch gezien?”Human Design is gebaseerd op drie klassieke systemen:
- Westerse astrologie — posities van planeten op het moment van geboorte
- I Ching — 64 hexagrammen, in kaart gebracht op 64 ‘poorten’
- Chakra-systeem — negen ‘centra’ (energieknooppunten)
De berekening gebruikt geboortedata en levert een bodygraph op — een visuele kaart met:
- Type (Manifestor, Generator, Manifesting Generator, Projector, Reflector) — de energiesignatuur
- Strategy — hoe je beslissingen neemt
- Authority — welk centrum je moet vertrouwen bij beslissingen (Sacral, Emotional, Splenic, etc.)
- Profile — een combinatie van lijnen (bijv. 1/3, 4/6)
- Channels — verbindingen tussen centra die de persoonlijkheid vormen
- Incarnation Cross — levensmissie, afgeleid van vier sleutelposities
Onder de motorkap komt elk van de 64 poorten overeen met een bereik van ecliptische lengte. De lengte van jouw planeten bij geboorte wordt in kaart gebracht op specifieke poorten (en rijen daarbinnen). De ‘Design’-berekening verschuift de zon 88° vóór de geboorte — ongeveer 3 maanden eerder.
Twee kaarten: Personality en Design
Section titled “Twee kaarten: Personality en Design”Human Design gebruikt twee geboortetijden:
- Personality — de echte geboortetijd. Dit is de ‘bewuste’ kant.
- Design — wanneer de zon 88° vóór de geboortepositie stond. Dit is de ‘onbewuste’ kant.
Elke activering van een poort hoort bij één van deze twee. Een volledige kaart heeft 13 + 13 = 26 activeringen.
Dit maakt HD-berekeningen complexer dan standaard astrologische kaarten — je berekent eigenlijk twee kaarten.
API’s met Human Design-ondersteuning
Section titled “API’s met Human Design-ondersteuning”De meeste astrologie-API’s ondersteunen HD helemaal niet of bieden alleen oppervlakkige ondersteuning (alleen type + strategy). Een volledige HD-implementatie vereist:
- Een lookup-tabel voor 64 poorten
- 6 lijnen per poort (384 cellen)
- 9 centra met logica voor ‘defined/open’
- 36 kanalen (elk verbindt twee centra)
- Berekening van de Incarnation Cross
- Weergave van het Profile op basis van de poortlijnen van de zon + aarde (Personality en Design)
API’s die dit allemaal aankunnen, zijn zeldzaam. De AstroWay API biedt 12 HD-endpoints — de diepste dekking die we in een commerciële API hebben gezien.
12 HD-endpoints van AstroWay
Section titled “12 HD-endpoints van AstroWay”| Endpoint | Credits | Retourneert |
|---|---|---|
/v1/human-design | 50 | Volledige HD-kaart |
/v1/human-design/transits | 50 | HD-transits op een opgegeven datum |
/v1/human-design/compatibility | 100 | Compatibiliteit tussen 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 gevoeligheid voor tijd |
/v1/hd/circuitry | 20 | Analyse van circuits |
/v1/hd/penta | 100 | Penta — groepsdynamiek voor 3–5 personen |
/v1/hd/group-overlay | 100 | Groepsoverlay |
/v1/hd/design-date | 10 | Berekening van de Design-datum |
/v1/hd/rave-new-years | 10 | Datums van Rave New Year |
Een HD-functie toevoegen
Section titled “Een HD-functie toevoegen”Stel je voor dat je HD toevoegt aan een bestaande astrologie-app. Begin met het hoofd-endpoint:
import { Astroway } from '@astroway/sdk';
const client = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const hd = await client.humanDesign({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234,});
console.log(`Type: ${hd.type}`); // bijv. "Generator"console.log(`Strategy: ${hd.strategy}`); // bijv. "To Respond"console.log(`Authority: ${hd.authority}`); // bijv. "Sacral"console.log(`Profile: ${hd.profile}`); // bijv. "1/3"console.log(`Defined channels: ${hd.channels.length}`);Voorbeeldantwoord:
{ "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 via Penta
Section titled “Groepsdynamiek via Penta”Penta is een techniek om de dynamiek van een team van 3–5 personen te begrijpen. Het is zeldzaam — de meeste HD-calculators bieden het niet. Maar het is goud voor HR-tech, coachingplatforms en team-building-apps.
const penta = await client.hdPenta({ members: [ { 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(`Penta type: ${penta.type}`);console.log(`Defined channels in group: ${penta.definedChannels.length}`);Sensitivity — cruciaal voor nauwkeurigheid
Section titled “Sensitivity — cruciaal voor nauwkeurigheid”HD-kaarten zijn gevoelig voor de geboortetijd. Een fout van 10 minuten kan je Profile veranderen (bijv. 1/3 → 1/4). Voor gebruikers die hun exacte tijd niet weten, voer een sensitivity-analyse uit:
const sensitivity = await client.hdSensitivity({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234,});
// sensitivity toont welke velden veranderen bij een verschuiving van ±5/15/30 minGebruik dit om gebruikers te waarschuwen: “Bij deze nauwkeurigheid kan je profile verschuiven. Overweeg rectificatie.”
Tarieven voor HD-apps
Section titled “Tarieven voor HD-apps”Als je een HD-gerichte app bouwt:
- Basisgebruiker: 1 HD-kaart bij registratie, voor altijd gecached = 50 credits eenmalig
- Actieve gebruiker: periodieke transits + compatibility = ~200 credits/maand
- 100 DAU met gemiddeld HD-gebruik: ~110.000 credits/maand → Starter ($19/maand) dekt dit makkelijk
- 1.000 DAU: ~150.000 credits/maand → Pro ($59/maand)
Compatibility-verzoeken zijn het zwaarst (100 credits). Cache de resultaten voor elke gebruikerspaar voor altijd (ze veranderen niet).
Visualisatie
Section titled “Visualisatie”Het renderen van een bodygraph gebeurt traditioneel via SVG. De API levert data over centra en kanalen; jij render je de visual. 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 vast sjabloon (elke bodygraph heeft dezelfde 9 centra en 64 poorten op dezelfde posities).
Begin met het bouwen van HD-functies
Section titled “Begin met het bouwen van HD-functies”- Human Design API — productpagina met de volledige lijst endpoints
- Voorbeeld: Human Design — gedetailleerde walkthrough van
/v1/human-design - Snelle start — krijg een gratis API-sleutel (tot 200 HD-kaarten/maand op Free)
Dezelfde Swiss Ephemeris als in Solar Fire — in 4 regels code.
Gratis sleutel zonder kaart. 5.000 calls per maand tot de eerste betaling.