Curriculum Vitae
25 jaar code in productie, drie PHP-teams onder mijn hoede en een achtergrond die niet bij code begon. Hieronder de hele route, in volgorde.
ervaring.json
{
"role": "AI Engineer & Fullstack Developer",
"company": "Bas de Kort",
"location": "Herveld",
"period": "2026-04 → heden",
"status": "● running", // PID 2026
"description": [
"Freelance fullstack web development (PHP, JS/TS, SCSS)",
"AI/LLM-integraties en prompt engineering",
"Technisch advies en code reviews"
],
"exit_code": null // still going strong
}
&& // concurrent
{
"role": "Teamleider PHP & Senior Back-End Developer",
"company": "Proud Nerds",
"location": "Nijmegen",
"period": "2021-06 → heden",
"status": "● running", // PID 2021
"description": [
"Teamleider van 3 PHP ontwikkelteams",
"Senior PHP back-end ontwikkelaar",
"AI engineer: LLM-integraties, AI agents en prompt engineering",
"AI-tooling en workflows voor interne teams en klantprojecten"
],
"stack": [
"LLM's", "AI Agents", "Claude", "OpenAI", "PHP",
"OpenShift", "REST API's", "Scrum"
],
"exit_code": null // still going strong
}
│
│
▼
│
▼
{
"role": "Senior Developer",
"company": "Next Buzz BV",
"period": "2014-08 → 2021-06",
"duration": "6 jaar 11 maanden",
"description": [
"Technische architectuur en ontwikkeling van Buzz CMS",
"Buzz CORE: basisframework voor WordPress sites",
"Grote en kleinere web-applicaties",
"Cross-media campagnes"
],
"exit_code": 0
}
│
│
▼
│
▼
{
"role": [
"Interactive Developer", "Account Manager",
"Web Developer"
],
"company": "ByYourSite BV",
"period": "2001-05 → 2014-08",
"duration": "13 jaar 4 maanden", // ja, dertien jaar
"description": [
"Van PHP/Flash developer doorgegroeid naar Interactive Dev + AM",
"Cross-media campagnes en web-applicaties",
"AS3 / JavaScript / CSS / HTML5 voor web",
"Adobe Air / Titanium / Android Development voor mobile"
],
"fun_fact": "Begonnen tijdens mijn studie. Sommige klanten bleven langer dan de opleiding.",
"exit_code": 0
}
│
│
▼
│
▼
{
"early_years": [
{
"role": "Web Developer (parttime)",
"company": "DMansion ICT",
"period": "2001-01 → 2002-05"
},
{
"role": [
"Voedingsassistent", "Intern Transport"
],
"company": "Eemland Ziekenhuis",
"period": "1996-09 → 2001-08",
"note": "Waar het allemaal begon. Niet met code, maar met karren."
}
]
}
// total uptime: 24+ jaar; 0 segfaults, een paar career pivots
opleiding.json
{
"formal": [
{
"degree": "Bachelor Maatschappelijk Werk en Dienstverlening",
"type": "HBO",
"institution": "Hanzehogeschool Groningen",
"graduated": true,
"period": "2000 → 2004",
"note": "Leerde mensen begrijpen. Bleek later ook handig voor stakeholders."
},
{
"degree": "Psychologie",
"type": "WO",
"institution": "Rijksuniversiteit Groningen",
"graduated": false,
"period": "1999 → 2000",
"note": "Kort maar leerzaam. Beter voor de mens, niet voor mij."
},
{
"degree": "VWO",
"type": "VO",
"institution": "Corderius Lyceum",
"graduated": true,
"period": "1997 → 1999"
},
{
"degree": "HAVO",
"type": "VO",
"institution": "Corderius Lyceum",
"graduated": true,
"period": "1992 → 1997"
}
],
"self_taught": [
"25 jaar trial-and-error in productie",
"Stack Overflow University (cum laude)",
"De school van 'het werkt op mijn machine'"
]
}
open-source.json
[
{
"project": "Mithril",
"tagline": "Lightweight armor for team leads",
"description": "Een PWA-dashboard voor technische teamleiders.
Taakoverzicht, follow-ups, 1-on-1 notities,
weekelijkse reflecties en integraties met Jira
en Microsoft 365; alles in je browser.",
"stack": [
"PHP 8.4", "Laravel 12", "Alpine.js", "Tailwind CSS",
"MariaDB"
],
"status": "active",
"production_ready": true,
"note": "Gebouwd omdat geen enkele tool doet waar ik behoefte aan heb als teamleider."
},
{
"project": "Git Stream",
"tagline": "Flow beyond branches; stream your releases",
"description": "Een geavanceerde git workflow tool die verder
gaat dan git flow. Meerdere parallelle releases,
epic-based feature organisatie, automatische
drift prevention en DTAP-ondersteuning.",
"stack": [
"PHP 8.4", "Git", "Composer"
],
"status": "in development",
"production_ready": false,
"note": "Omdat git flow te beperkt is als je team met meerdere releases tegelijk werkt."
}
]
// repositories: public; contributions: welcome
nevenprojecten.json
[
{
"quest": "Virtuele Flipperkast",
"role": "Bouwer & speler",
"period": "heden",
"description": "Een virtuele flipperkast gebouwd op ware grootte
van een Williams Widebody. Alles zelf in elkaar gezet.",
"note": "Sommige mensen hebben een mancave. Ik heb een arcade."
},
{
"quest": "Sending Orbs - Indie Platenlabel",
"role": "Co-founder",
"period": "2004 → 2006",
"genre": "Elektronische muziek",
"releases": 7,
"distribution": [
"Japan", "Benelux"
],
"note": "Een platenlabel is eigenlijk een side-project met fysieke output."
},
{
"quest": "Kindertelefoon - Bureau Jeugdzorg",
"role": "Vrijwilliger",
"period": "2000 → 2002",
"hours_per_week": "8 tot 12",
"description": "Kinderen van 6-18 helpen met alles: van
psychologische problemen tot 'hoe bak ik een taart
voor mijn moeders verjaardag?'",
"learned": "Luisteren. Echt luisteren. Niet debuggen."
},
{
"quest": "Stagiair Maatschappelijk Werk",
"period": "2002 → 2003",
"company": "Bureau Jeugdzorg Groningen",
"note": "Eigen caseload in het tweede deel. Zwaar maar vormend."
}
]
// side quests completed: 3; XP earned: immeasurable
persoonlijk.json
{
"type": "Observerend. Rustig. Tot iemand het over tech heeft.",
"weekend_mode": [
"Experimenteren met AI-agents en nieuwe LLM's",
"Flipperen op mijn zelfgebouwde virtuele flipperkast",
"Side-projects starten die niemand heeft gevraagd",
"Films kijken/ Muziek luisteren"
],
"background_bonus": {
"what": "Maatschappelijk werk & psychologie",
"why_it_matters": "Ik begrijp niet alleen de code,
ik begrijp ook de mens die erachter zit.
Dat helpt als teamleider meer dan je denkt."
},
"recommendations": [
{ "who": "Gerard Top", "says": "Walks the extra mile. Great colleague, fun to work with." },
{ "who": "Edwin Weijzen", "says": "Able to manage complex projects. Follows through." }
],
"theater": [
{ "year": 1998, "title": "Driestuiversopera", "role": "Mackie Messer" },
{ "year": 2004, "title": "On The Road", "role": "muziek & licht" },
{ "year": 2005, "title": "Fausto Coppi", "role": "Gino Bartali" },
{ "year": 2007, "title": "Jacquot en Plumeau", "role": "diverse rollen" }
],
"life_motto": "Kijk goed. Luister beter. En dan pas typen."
}
contact.json
{
"location": "Herveld, Gelderland, NL",
"response_time": "< 24h (tenzij ik in een AI-rabbit hole zit)",
"preferred_contact": "formulier > LinkedIn > duivenpost > fax"
}
// EOF; bedankt voor het lezen! exit(0)
legal.json
{
"bedrijfsnaam": "Bas de Kort",
"rechtsvorm": "eenmanszaak",
"handelsnamen": ["Bas de Kort", "LengthOfRope"],
"vestigingsadres": "Kerkeakker 3, 6674 EM Herveld, NL",
"kvk": "42038027",
"btw_id": "NL004476145B32",
"contact": { "form": "basdekort.nl/contact", "telephone": "+31628456862" },
"documenten": [ "privacy", "algemene voorwaarden" ]
}
"bedrijfsnaam": "Bas de Kort",
"rechtsvorm": "eenmanszaak",
"handelsnamen": ["Bas de Kort", "LengthOfRope"],
"vestigingsadres": "Kerkeakker 3, 6674 EM Herveld, NL",
"kvk": "42038027",
"btw_id": "NL004476145B32",
"contact": { "form": "basdekort.nl/contact", "telephone": "+31628456862" },
"documenten": [ "privacy", "algemene voorwaarden" ]
}