[{"data":1,"prerenderedAt":109},["ShallowReactive",2],{"home-content-en":3,"work-content-en":63},{"id":4,"chronology":5,"extension":34,"featuredCase":35,"hero":43,"meta":54,"selfEmployed":55,"seo":58,"stem":61,"__hash__":62},"home_en\u002Fen\u002Fhome.yml",{"title":6,"education":7,"work":17,"independent":31},"Education, internships and work",{"label":8,"completion":9,"items":12},"Education",{"title":10,"detail":11},"Programme completed","Software examinations completed",{"landstede":13,"deltion":15},{"detail":14},"Application and media development",{"detail":16},"Continued through an individual programme",{"label":18,"summary":19,"internshipLabel":20,"internshipTitle":21,"duringProgramme":22,"paidFrom":23,"engagements":24},"Work","two internships, both followed by paid work","Internship","{organisation} internship","during the programme","from",{"factif":25,"gwbo":28},{"internshipRole":26,"paidRole":27},"Frontend developer","Paid part-time frontend developer",{"internshipRole":29,"paidRole":30},"Full-stack developer","Paid part-time full-stack developer",{"title":32,"detail":33},"Independent technical work","Product and systems work","yml",{"title":36,"ruleLabel":37,"text":38,"linkLabel":39,"ownershipLabel":40,"ownership":41,"evidenceNote":42},"From scattered emails to a configurable project workflow","Featured case study","At gwbo, a document problem grew into Yoot Portaal during my internship, with configurable project templates at its core. After those twenty weeks, I continued in a paid part-time role until the handover in March 2023.","View the case","My responsibility","Product modelling, project templates, data model, Laravel API, Nuxt interface, deployment and handover.","The project template defines reusable phases, steps and required evidence for new projects.",{"title":44,"lead":48,"actions":49},{"lineOne":45,"lineTwo":46,"intervention":47},"I build product software","from interface to","system.","Full-stack developer with a strong frontend background. I work with Vue, Nuxt, TypeScript and Laravel on interfaces, application logic and the system between them.",{"work":50,"career":52},{"label":51},"View my work",{"label":53},"View my career",{},{"label":32,"text":56,"linkLabel":57},"Since 2023, I have continued independently on product software, TypeScript libraries and systems research across four public codebases.","View independent work",{"title":59,"description":60},"Maikel Eckelboom Full-stack developer","Full-stack developer with a strong frontend background. I work on product software, TypeScript libraries and systems architecture, from interface to runtime.","en\u002Fhome","DrlyGQvbpwEk2o080bys7TmQrs4l-gT527ivi-TxHfQ",{"id":64,"careerHandoff":65,"extension":34,"independentNote":68,"items":69,"meta":100,"pageHead":101,"seo":104,"stem":107,"__hash__":108},"work_en\u002Fen\u002Fwork\u002Findex.yml",{"kicker":66,"text":67,"linkLabel":53},"From work to career","Factif, gwbo and my independent technical work form one continuous progression from frontend to full-stack product and systems work.","Four active public codebases with different purposes: a desktop product, a TypeScript library and two separate research projects. Their repositories show the current scope, implementation and verification.",{"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},"Client work","Detailed case study","Full-stack product development","Existing clients submitted project documents mainly by email. Attachments and versions became scattered, leaving it unclear what was still missing or awaiting review.","I clarified the client problem, modelled the configurable project templates and worked across the data model, Laravel API, Nuxt interface and first production release. After my internship, I continued in a paid part-time role until the handover in March 2023.",{"displayTitle":77,"context":71,"publicationType":78,"projectType":79,"linkLabel":39,"metaDetail":80,"problem":81,"proof":82},"Corporate website from desktop designs","Short case study","Production frontend","Corporate website and client work","Turning supplied desktop-only designs into a responsive frontend that remained robust with variable CMS content.","I built the complete frontend of Factif's new corporate website and defined the responsive behaviour for six page types. After my internship, I continued part-time on client websites.",{"context":84,"projectType":85,"purpose":86,"implementedEvidence":87},"Independent work","Desktop product for music preparation and live performance","Bringing a local music collection, preparation and dependable live use together in one desktop product, with explicit ownership of data, processes and storage.","The current codebase includes an Electron\u002FVue desktop application, a Rust library domain, durable SQLite storage, a Rust service over stdio, generated TypeScript contracts, and tested startup, readiness, storage and shutdown paths.",{"context":84,"projectType":89,"purpose":90,"implementedEvidence":91},"Deterministic token graph compiler","Compiling typed token graphs with references, modes, layers and visibility into deterministic schemes and CSS custom properties.","The library includes an explicit API, strict persisted artifacts, JSON Schemas, property tests, documentation checks and package validation.",{"context":84,"projectType":93,"purpose":94,"implementedEvidence":95},"Typed shared-memory contracts","Exploring how workers, AudioWorklets and WebAssembly-oriented runtimes can exchange typed state through shared memory without exposing inconsistent intermediate values.","The implementation includes authored contracts, deterministic memory layout, explicit handoff, bounded coherent reads, worker and property tests, benchmarks and a Signalsmith AudioWorklet proof.",{"context":84,"projectType":97,"purpose":98,"implementedEvidence":99},"Recoverable Electron-to-Rust runtime boundary","Investigating how an Electron interface can send typed commands to a native Rust authority, consume published state and recover explicitly from reloads and process replacement without owning native state.","The executable proof runs a real Electron process and a compiled Rust authority. It verifies bounded publication, renderer reload, authority replacement, explicit resubscription, continuity rebasing and deterministic teardown.",{},{"kicker":18,"title":102,"lead":103},"Selected product work, libraries and systems research.","Two client case studies and four independent projects, each with a clear status, technical scope and direct evidence.",{"title":105,"description":106},"Work | Maikel Eckelboom","Case studies on Yoot Portaal and Factif, followed by active product development, TypeScript library design and systems research in Dekzer, scheme-tokens, SeqWire and Projection Runtime.","en\u002Fwork\u002Findex","oUHLNiMg-tkiwduTcPE3AdPvCxJsRSXwFBh3SqAL_8k",1786488011115]