[{"data":1,"prerenderedAt":109},["ShallowReactive",2],{"home-content-nl":3,"work-content-nl":63},{"id":4,"chronology":5,"extension":34,"featuredCase":35,"hero":43,"meta":54,"selfEmployed":55,"seo":58,"stem":61,"__hash__":62},"home_nl\u002Fnl\u002Fhome.yml",{"title":6,"education":7,"work":17,"independent":31},"Opleiding, stages en werk",{"label":8,"completion":9,"items":12},"Opleiding",{"title":10,"detail":11},"Opleiding afgerond","Software-examens afgerond",{"landstede":13,"deltion":15},{"detail":14},"Applicatie- en mediaontwikkeling",{"detail":16},"Voortgezet via een individueel traject",{"label":18,"summary":19,"internshipLabel":20,"internshipTitle":21,"duringProgramme":22,"paidFrom":23,"engagements":24},"Werk","twee stages, beide gevolgd door betaald werk","Stage","Stage bij {organisation}","tijdens de opleiding","vanaf",{"factif":25,"gwbo":28},{"internshipRole":26,"paidRole":27},"Frontend developer","Betaald parttime frontend developer",{"internshipRole":29,"paidRole":30},"Full-stack developer","Betaald parttime full-stack developer",{"title":32,"detail":33},"Zelfstandig technisch werk","Product- en systeemwerk","yml",{"title":36,"ruleLabel":37,"text":38,"linkLabel":39,"ownershipLabel":40,"ownership":41,"evidenceNote":42},"Van losse e-mails naar een configureerbare projectworkflow","Uitgelichte case","Bij gwbo groeide een documentvraag tijdens mijn stage uit tot Yoot Portaal, met configureerbare projectsjablonen als kern. Na die twintig weken bleef ik betaald parttime aan de applicatie werken tot de overdracht in maart 2023.","Bekijk de case","Mijn verantwoordelijkheid","Productmodellering, projectsjablonen, datamodel, Laravel-API, Nuxt-interface, deployment en overdracht.","Het projectsjabloon legt herbruikbare fasen, stappen en vereiste bewijsstukken voor nieuwe projecten vast.",{"title":44,"lead":48,"actions":49},{"lineOne":45,"lineTwo":46,"intervention":47},"Ik bouw productsoftware","van interface tot","systeem.","Full-stack developer met een sterke frontendachtergrond. Ik werk met Vue, Nuxt, TypeScript en Laravel aan interfaces, applicatielogica en de samenhang daartussen.",{"work":50,"career":52},{"label":51},"Bekijk mijn werk",{"label":53},"Bekijk mijn loopbaan",{},{"label":32,"text":56,"linkLabel":57},"Sinds 2023 werk ik zelfstandig verder aan productsoftware, TypeScript-libraries en systeemonderzoek in vier openbare codebases.","Bekijk zelfstandig werk",{"title":59,"description":60},"Maikel Eckelboom Full-stack developer","Full-stack developer met een sterke frontendachtergrond. Ik werk aan productsoftware, TypeScript-libraries en systeemarchitectuur, van interface tot runtime.","nl\u002Fhome","yfMVuFjThwydYWfWAJh-fqt-P2ntUomqMj0B8jQwlX0",{"id":64,"careerHandoff":65,"extension":34,"independentNote":68,"items":69,"meta":100,"pageHead":101,"seo":104,"stem":107,"__hash__":108},"work_nl\u002Fnl\u002Fwork\u002Findex.yml",{"kicker":66,"text":67,"linkLabel":53},"Van werk naar loopbaan","Factif, gwbo en het zelfstandige technische werk vormen één doorlopende ontwikkeling van frontend naar full-stack product- en systeemwerk.","Vier actieve openbare codebases met verschillende doelen: een desktopproduct, een TypeScript-library en twee afzonderlijke onderzoeksprojecten. De repositories tonen de actuele scope, implementatie en verificatie.",{"yoot":70,"factif":76,"dekzer":83,"schemeTokens":88,"seqwire":92,"projectionRuntime":96},{"displayTitle":36,"context":71,"publicationType":72,"projectType":73,"linkLabel":39,"problem":74,"proof":75},"Klantwerk","Uitgewerkte case","Full-stack productontwikkeling","Bestaande klanten leverden projectdocumenten vooral per e-mail aan. Daardoor raakten bijlagen en versies verspreid en bleef onduidelijk wat nog ontbrak of beoordeeld moest worden.","Ik werkte de klantvraag uit, modelleerde de configureerbare projectsjablonen en bouwde aan het datamodel, de Laravel-API, de Nuxt-interface en de eerste productieoplevering. Na mijn stage bleef ik betaald parttime betrokken tot de overdracht in maart 2023.",{"displayTitle":77,"context":71,"publicationType":78,"projectType":79,"linkLabel":39,"metaDetail":80,"problem":81,"proof":82},"Bedrijfswebsite vanuit desktopontwerp","Korte case","Productiefrontend","Bedrijfswebsite en klantwerk","Aangeleverde desktopontwerpen uitwerken tot een responsive frontend die ook met variabele CMS-content bleef werken.","Ik bouwde de volledige frontend van Factifs nieuwe bedrijfswebsite en bepaalde het responsive gedrag voor zes paginatypen. Na mijn stage werkte ik er parttime verder aan klantwebsites.",{"context":84,"projectType":85,"purpose":86,"implementedEvidence":87},"Eigen werk","Desktopproduct voor muziekvoorbereiding en live-performance","Een lokale muziekcollectie, voorbereiding en betrouwbaar livegebruik samenbrengen in één desktopproduct, met duidelijk beheer van data, processen en opslag.","De codebase bevat een Electron\u002FVue-desktopapp, een Rust-domeinlaag voor de muziekbibliotheek, duurzame SQLite-opslag, een Rust-service via stdio, gegenereerde TypeScript-contracten en geteste paden voor opstarten, gereedmelding, opslag en afsluiten.",{"context":84,"projectType":89,"purpose":90,"implementedEvidence":91},"Deterministische compiler voor tokengrafen","Getypeerde tokengrafen met verwijzingen, modi, lagen en zichtbaarheid deterministisch compileren naar schemes en CSS-variabelen.","De library bevat een expliciete API, strikte persistente artefacten, JSON-schema’s, propertytests, documentatiecontroles en packagevalidatie.",{"context":84,"projectType":93,"purpose":94,"implementedEvidence":95},"Getypeerde contracten voor gedeeld geheugen","Onderzoeken hoe workers, AudioWorklets en WebAssembly-runtimes getypeerde state via gedeeld geheugen kunnen uitwisselen zonder inconsistente tussenstanden zichtbaar te maken.","De implementatie omvat getypeerde contracten, een deterministische geheugenindeling, expliciete overdracht, begrensde consistente leesbewerkingen, worker- en propertytests, benchmarks en een AudioWorklet-proef met Signalsmith.",{"context":84,"projectType":97,"purpose":98,"implementedEvidence":99},"Herstelbare runtimegrens tussen Electron en Rust","Onderzoeken hoe een Electron-interface getypeerde opdrachten naar een native Rust-proces stuurt en gepubliceerde state terugontvangt, zonder de renderer eigenaar van die state te maken.","De uitvoerbare proef start een echt Electron-proces en een gecompileerd Rust-proces. De tests bewijzen begrensde publicatie, renderer-reload, vervanging na procesuitval, expliciete herinschrijving, herstel van continuïteit en gecontroleerde afsluiting.",{},{"kicker":18,"title":102,"lead":103},"Een selectie van productwerk, libraries en systeemonderzoek.","Twee klantcases en vier eigen projecten, elk met een duidelijke status, technische scope en direct bewijs.",{"title":105,"description":106},"Werk | Maikel Eckelboom","Cases over Yoot Portaal en Factif, aangevuld met actieve productontwikkeling, TypeScript-librarydesign en systeemonderzoek in Dekzer, scheme-tokens, SeqWire en Projection Runtime.","nl\u002Fwork\u002Findex","SM6cf1FhX1hH4PpqITu0FEzrmxDpx3CjbLqidjdzE5k",1786488011058]