[{"data":1,"prerenderedAt":243},["ShallowReactive",2],{"DefaultLayouten":3,"language-team-slug-sjoerd-i18n-slugs":134,"person-language-team-slug-en-sjoerd":135,"blogs-language-team-slug-en-sjoerd":149},{"app":4,"menu":31,"footer":66},{"githubUrl":5,"youtubeUrl":6,"linkedinUrl":7,"phoneNumber":8,"emailAddress":9,"legal":10,"addresses":20},"https:\u002F\u002Fgithub.com\u002Fvoorhoede\u002F","https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCzHuhQVYFRixtQN2-swcuGg","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fde-voorhoede","+31 20 2610 954","post@voorhoede.nl",[11,14,17],{"title":12,"value":13},"KvK","56017235",{"title":15,"value":16},"BTW","NL851944620B01",{"title":18,"value":19},"IBAN","NL14TRIO0320142078",[21,26],{"address":22,"city":23,"googleMapsLink":24,"postalCode":25},"Koivistokade 70","Amsterdam","https:\u002F\u002Fwww.google.com\u002Fmaps\u002Fplace\u002FDe+Voorhoede+%7C+Front-end+Development\u002F@52.396847,4.8700823,17z\u002Fdata=!3m1!4b1!4m5!3m4!1s0x47c5e21d502d2d59:0xbf570944a96ebf45!8m2!3d52.347647!4d4.8502154","1013 BB",{"address":27,"city":28,"googleMapsLink":29,"postalCode":30},"Koornmarkt 22","Delft","https:\u002F\u002Fwww.google.nl\u002Fmaps\u002Fplace\u002FKoornmarkt+22,+2611+EG+Delft\u002F@52.0093477,4.3573054,17z\u002F","2611 EG",{"title":32,"callToActions":33,"links":39},"Site Menu",[34],{"id":35,"title":36,"link":37},"163140902","Contact",{"__typename":38},"ContactRecord",[40,46,51,56,61],{"id":41,"title":42,"link":43},"163140904","Impact",{"__typename":44,"slug":45},"PageRecord","impact",{"id":47,"title":48,"link":49},"163140905","Services",{"__typename":50},"ServiceOverviewRecord",{"id":52,"title":53,"link":54},"163140906","Cases",{"__typename":55},"CaseOverviewRecord",{"id":57,"title":58,"link":59},"163140908","About us",{"__typename":44,"slug":60},"about-us",{"id":62,"title":63,"link":64},"d6WdFJq2SOuc3dWtpibbXQ","Work at",{"__typename":44,"slug":65},"work-at",{"links":67,"copyrightTitle":93,"copyrightLabel":94,"copyrightLink":95,"privacyTitle":96,"privacyLabel":97,"privacyLink":98,"certificatesGrid":99},[68,71,74,77,82,85,88],{"id":69,"title":42,"link":70},"144185264",{"__typename":44,"slug":45},{"id":72,"title":48,"link":73},"144185265",{"__typename":50},{"id":75,"title":53,"link":76},"144185266",{"__typename":55},{"id":78,"title":79,"link":80},"144185267","Blog",{"__typename":81},"BlogPostOverviewRecord",{"id":83,"title":58,"link":84},"144185268",{"__typename":44,"slug":60},{"id":86,"title":36,"link":87},"144185269",{"__typename":38},{"id":89,"title":90,"link":91},"144185270","FAQ",{"__typename":44,"slug":92},"faq","Creative Commons licence and disclaimer","CC BY 4.0","https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\u002F","De Voorhoede privacy statement (pdf)","Privacy statement","https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1763455455-vh-isms-006-privacy-statement-de-voorhoede-en.pdf",[100,112,123],{"id":101,"image":102,"link":107},"Xq4bBfg_TZ6Fkjax9mkbLQ",{"url":103,"alt":104,"width":105,"height":106},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1687353463-b-corp-logo-black-rgb.png","B Corp logo",404,680,{"__typename":108,"id":109,"title":110,"url":111},"ExternalLinkRecord","fGW1ak8XQYaYDLkBSyncog","B Corp","https:\u002F\u002Fwww.bcorporation.net\u002Fen-us\u002Ffind-a-b-corp\u002Fcompany\u002Fde-voorhoede\u002F",{"id":113,"image":114,"link":119},"c5mCXRTiSraRIB25fw1p7Q",{"url":115,"alt":116,"width":117,"height":118},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1687353461-dda-boxlogo-black.png","Dutch Digital Agencies logo",627,480,{"__typename":108,"id":120,"title":121,"url":122},"P6Jh7B0cTv2cKyNEeKVWVQ","Dutch Digital Agencies","https:\u002F\u002Fdutchdigitalagencies.com\u002Fleden\u002Fde-voorhoede\u002F",{"id":124,"image":125,"link":129},"MT5SCyNxSTSr_v5eeATMZw",{"url":126,"alt":127,"width":128,"height":128},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1775730283-dnv.png","DNV logo",518,{"id":130,"title":131,"link":132},"BRtNB5HnT5i-7HkA8IYzBw","DIV",{"__typename":44,"slug":133},"impact\u002Fdigitale-producten-privacy-by-design",null,{"person":136},{"name":137,"id":138,"jobTitle":139,"lastName":140,"employmentStatus":141,"slug":142,"biography":143,"image":144,"links":148},"Sjoerd","4585143","Lead Front-end Developer","Beentjes","currentEmployee","sjoerd","When I was young, I always wanted to be an archaeologist. However, I’m now a software developer and that’s pretty cool too I guess! I work as a tech lead at De Voorhoede where I build design systems and implement them in all sorts of environments. My main interests lie in thinking about component architectures in modern front-end frameworks or help teammates solve the weirdest bugs in their applications. In my spare time, I like to run on trails or bike on roads. When I’m not doing that, you can probably find me gaming or binging a TV show!",{"url":145,"alt":134,"width":146,"height":147},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1683534892-sjoerd.jpg",1637,2182,[],{"blogPosts":150},[151,161,174,185,197,213,223,233],{"_allSlugLocales":152,"id":156,"title":157,"introTitle":158,"slug":155,"date":134,"authors":159},[153],{"locale":154,"value":155},"en","simplifying-search-using-ai-in-our-knowledge-base","yeem4ParQ6SKu8RJkZuOWw","Simplifying Search: Using AI in our Knowledge Base","Adding search to your website is cool, but have you added OpenAI and Supabase to the mix? Here's how we did just that.",[160],{"id":138,"name":137,"slug":142},{"_allSlugLocales":162,"id":168,"title":169,"introTitle":170,"slug":164,"date":171,"authors":172},[163,165],{"locale":154,"value":164},"accessibility-in-design-systems",{"locale":166,"value":167},"nl","toegankelijkheid-in-design-systems","Gu3Wvmh8SXyRfkH3ZoTHig","Accessibility in Design Systems","Design systems help with accessibility, but they’re not the full solution.","2025-06-17T14:15:56.000+02:00",[173],{"id":138,"name":137,"slug":142},{"_allSlugLocales":175,"id":179,"title":180,"introTitle":181,"slug":177,"date":182,"authors":183},[176,178],{"locale":154,"value":177},"the-popover-api-your-new-best-friend-for-tooltips",{"locale":166,"value":177},"Mx3O76XuRViebQGxuc0jXA","The Popover API: Your New Best Friend for Tooltips","Effortless Tooltip Creation with the Popover API and New CSS Features","2024-10-07T15:36:10.707+02:00",[184],{"id":138,"name":137,"slug":142},{"_allSlugLocales":186,"id":191,"title":192,"introTitle":193,"slug":188,"date":194,"authors":195},[187,189],{"locale":154,"value":188},"affordance-design-system-components",{"locale":166,"value":190},"affordance-design-system-componenten","RkSrB4xRQXq3ZVBQUC7iNQ","Affordance in Design System Components","Let's consider a table and a chair as examples. The primary affordance of a table is its ability to support items, facilitated by its flat, horizontal surface. Similarly, the main affordance of a chair is to provide a place to sit, suggested by its features like a flat seat supported by legs and, often, a backrest to support the user's back. However, while it's not the primary affordance, a table can also be used as a seating surface. Likewise, a chair can be used to stand on when replacing a light bulb. This concept is known as \"perceived affordance\".","2024-05-27T09:00:00.000+02:00",[196],{"id":138,"name":137,"slug":142},{"_allSlugLocales":198,"id":203,"title":204,"introTitle":205,"slug":200,"date":206,"authors":207},[199,201],{"locale":154,"value":200},"building-design-system-react-web-components",{"locale":166,"value":202},"design-system-bouwen-react-webcomponenten","133138416","Building a Design System with React Web Components","What if you could build a universal Design system with React and use it in any web application or framework? We achieved this by compiling React to Web Components. This is how.","2023-06-19T02:00:00.000+02:00",[208,212],{"id":209,"name":210,"slug":211},"340340","Jasper","jasper",{"id":138,"name":137,"slug":142},{"_allSlugLocales":214,"id":217,"title":218,"introTitle":219,"slug":216,"date":220,"authors":221},[215],{"locale":166,"value":216},"vrienden-voorhoede-sjoerd-beentjes","122768224","Vrienden van De Voorhoede: Sjoerd Beentjes","Werken bij De Voorhoede doe je niet alleen. Ons team bestaat uit ruim 30 mensen met een passie voor het vak. Ontmoet de collega’s van De Voorhoede. Ontdek wat het leukste project is waar ze aan hebben gewerkt en waarom ze het zo leuk vinden bij ons.","2022-09-02T02:00:00.000+02:00",[222],{"id":138,"name":137,"slug":142},{"_allSlugLocales":224,"id":227,"title":228,"introTitle":229,"slug":226,"date":230,"authors":231},[225],{"locale":154,"value":226},"bundle-splitting-with-react-s-lazy-and-suspense","25270411","Bundle splitting with React’s lazy & Suspense","A guide to using React suspense and lazy loading components","2021-03-30T02:00:00.000+02:00",[232],{"id":138,"name":137,"slug":142},{"_allSlugLocales":234,"id":237,"title":238,"introTitle":239,"slug":236,"date":240,"authors":241},[235],{"locale":154,"value":236},"turning-vue-components-into-reusable-npm-packages","4586279","Turning Vue components into reusable npm packages","A guide to publishing your Vue components","2020-04-22T02:00:00.000+02:00",[242],{"id":138,"name":137,"slug":142},1776256136737]