[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fbRoQJm4LS0K2z91i3gFJ-bUJXAcCLxz0_aR4daBIw-o":3,"$f_e81lyTazUiLamDfFwfvhr_i0dKh1STJbNhpIeZSjTU":205},[4,43,70,105,147,172],{"id":5,"title":6,"tagline":7,"description":8,"coverImage":9,"liveUrl":13,"technologies":14,"status":39,"category":40,"featured":41,"sortOrder":42},"d5fc1654-3387-4b77-8723-591ffb7386aa","Nordisk Film","Headless Drupal multisite for Nordic entertainment leader","\u003Cp>Headless Drupal 10 corporate platform for Nordisk Film, part of the Egmont Group multisite ecosystem. Pixel-perfect design execution across film, gaming, cinema, and distribution. Reusable backend modules with interchangeable frontend per brand. Built at Novicell.\u003C\u002Fp>",{"id":10,"url":11,"alt":12},"01ddc59d-e50e-4ee9-a0fd-193e46c17deb","https:\u002F\u002Fdrupal.madsnorgaard.net\u002Fsites\u002Fdefault\u002Ffiles\u002F2026-04\u002Fnordisk-film.jpg","","https:\u002F\u002Fnordiskfilm.com\u002F",[15,19,23,27,31,35],{"id":16,"name":17,"slug":18},"edb0cc44-473c-4ab3-aa13-140474e8dbf0","Drupal 10","drupal-10",{"id":20,"name":21,"slug":22},"9b742b0a-8904-40c9-a993-f25c564c1c0e","PHP","php",{"id":24,"name":25,"slug":26},"252185e0-32bb-4b16-ad0f-bbb6d817b958","Headless CMS","headless-cms",{"id":28,"name":29,"slug":30},"2244893d-db69-4fd0-b9d9-61813bf62566","Multisite","multisite",{"id":32,"name":33,"slug":34},"1f117bd1-2e28-41bb-add7-23c72cdf7ca9","Azure AD","azure-ad",{"id":36,"name":37,"slug":38},"9fdad477-33a7-4a4a-9361-d207918104b4","Platform.sh","platform-sh","active","professional",true,0,{"id":44,"title":45,"tagline":46,"description":47,"coverImage":48,"liveUrl":51,"technologies":52,"status":39,"category":40,"featured":41,"sortOrder":42},"bc7d3be2-4aef-499e-ad78-3b109aaf8a5a","Skoven i Skolen","Drupal platform for outdoor learning in Danish schools","\u003Cp>Educational platform providing Danish teachers with nature-based activities and learning resources. Features an interactive year wheel with seasonal content. Drupal CMS built for performance and visual appeal. Built at Novicell.\u003C\u002Fp>",{"id":49,"url":50,"alt":12},"40bd521b-53a7-4e7d-bf22-75c865c89cc5","https:\u002F\u002Fdrupal.madsnorgaard.net\u002Fsites\u002Fdefault\u002Ffiles\u002F2026-04\u002FScreenshot%202026-04-02%20235204.png","https:\u002F\u002Fskoven-i-skolen.dk\u002F",[53,57,58,62,66],{"id":54,"name":55,"slug":56},"338a48c6-f2de-4292-b22e-0ea7b54039df","Drupal","drupal",{"id":20,"name":21,"slug":22},{"id":59,"name":60,"slug":61},"4dc8fb29-745b-4557-9328-518d8f026309","Relewise","relewise",{"id":63,"name":64,"slug":65},"92722319-47f1-4ab8-8b6c-397dd479357e","Dataforsyningen API","dataforsyningen-api",{"id":67,"name":68,"slug":69},"37e66641-e02a-415c-ad9b-1d40a93101ff","WCAG AA","wcag-aa",{"id":71,"title":72,"tagline":73,"description":74,"coverImage":75,"githubUrl":78,"liveUrl":79,"technologies":80,"status":39,"category":104,"featured":41,"sortOrder":42},"d19ce136-1f5e-4cdd-b608-a4dd2fcc0d71","OS2udoglær","Headless Drupal SaaS platform for Danish municipal education","\u003Cp>Headless Drupal Premium SaaS platform for OS2 - Offentligt Digitaliseringsfællesskab. One backend, multiple frontends via Transform API and Nuxt.js. Scalable multi-tenant architecture onboarding new municipalities in hours. Full open source codebase including all custom modules. Built at Novicell.\u003C\u002Fp>",{"id":76,"url":77,"alt":12},"4e2752c1-ef39-4d1c-a673-fd54acd8f58f","https:\u002F\u002Fdrupal.madsnorgaard.net\u002Fsites\u002Fdefault\u002Ffiles\u002F2026-04\u002FScreenshot%202026-04-03%20124011.png","https:\u002F\u002Fgithub.com\u002Fos2ulf\u002Fos2udoglaer","https:\u002F\u002Fulfiaarhus.dk\u002F",[81,82,83,87,91,95,99,100],{"id":16,"name":17,"slug":18},{"id":20,"name":21,"slug":22},{"id":84,"name":85,"slug":86},"b4f3029c-629b-41d0-a80d-bc0d87f313bd","Nuxt.js","nuxt-js",{"id":88,"name":89,"slug":90},"3f488318-a9f3-46b2-9bb5-917ed3459be9","Transform API","transform-api",{"id":92,"name":93,"slug":94},"7ddc9922-e7a9-4b7c-b18f-15a353563a5e","Solr","solr",{"id":96,"name":97,"slug":98},"103691c7-b607-4b09-90a9-9a99bf86f34c","Redis","redis",{"id":36,"name":37,"slug":38},{"id":101,"name":102,"slug":103},"3a91f1ef-31a9-4887-b341-e4320dfde279","DDEV","ddev","open-source",{"id":106,"title":107,"tagline":108,"description":109,"coverImage":110,"githubUrl":113,"liveUrl":114,"technologies":115,"status":39,"category":104,"featured":41,"sortOrder":146},"18f4a2be-4744-4f56-b16a-8f2874da5fff","ÅbenForms","Headless Drupal 11 + Nuxt 3 for Danish municipalities","A civic tech platform built headless: Drupal 11 as content API, Nuxt 3 as frontend. Used by Danish municipalities for public-facing forms and service delivery.",{"id":111,"url":112,"alt":12},"3b3ab627-4067-4ec9-94a1-e53602189aab","https:\u002F\u002Fdrupal.madsnorgaard.net\u002Fsites\u002Fdefault\u002Ffiles\u002F2026-04\u002FScreenshot%202026-04-03%20200612.png","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002Faabenforms","https:\u002F\u002Faabenforms.dk",[116,120,124,125,129,133,137,141,145],{"id":117,"name":118,"slug":119},"124052d0-ac24-4433-a8de-2c10cf63fb8a","Drupal 11","drupal-11",{"id":121,"name":122,"slug":123},"312eda2f-a881-46c5-981c-c1369bbdfb0f","Nuxt 3","nuxt-3",{"id":20,"name":21,"slug":22},{"id":126,"name":127,"slug":128},"8a18ca13-67d8-4169-a2ff-dd20a0f884c9","JSON:API","json-api",{"id":130,"name":131,"slug":132},"4d697a18-0ae3-4b91-8202-fa923149cc5b","ECA","eca",{"id":134,"name":135,"slug":136},"12bad585-69e0-49da-be08-65f4d3daba93","MitID","mitid",{"id":138,"name":139,"slug":140},"afad30d4-63fa-4127-90d5-388bbbeaa3e4","CPR\u002FCVR","cpr-cvr",{"id":142,"name":143,"slug":144},"cd393b4d-3f11-4044-9936-bdb19942b3a8","Docker","docker",{"id":101,"name":102,"slug":103},1,{"id":148,"title":149,"tagline":150,"description":151,"coverImage":152,"githubUrl":155,"liveUrl":156,"technologies":157,"status":39,"category":104,"featured":41,"sortOrder":171},"bed18850-fa22-4f8b-ac9b-c2d2b99df79c","South African History Online","15-year commitment to open historical knowledge","Technical lead since 2010. Drupal platform management, Solr search infrastructure, AI-assisted metadata system for 14,000+ history entries.",{"id":153,"url":154,"alt":12},"b41a3505-b077-4d98-b3eb-f271b5a29e5e","https:\u002F\u002Fdrupal.madsnorgaard.net\u002Fsites\u002Fdefault\u002Ffiles\u002F2026-04\u002FScreenshot%202026-04-03%20012752.png","https:\u002F\u002Fgithub.com\u002FSouth-African-History-Online\u002Fsahistory-web","https:\u002F\u002Fwww.sahistory.org.za",[158,159,160,161,162,163,167],{"id":117,"name":118,"slug":119},{"id":20,"name":21,"slug":22},{"id":92,"name":93,"slug":94},{"id":101,"name":102,"slug":103},{"id":142,"name":143,"slug":144},{"id":164,"name":165,"slug":166},"3a988625-f148-4dfa-be00-e085339ad910","Claude AI","claude-ai",{"id":168,"name":169,"slug":170},"c2de0042-deb9-47f2-9e7a-25db05de3dc9","Python","python",2,{"id":173,"title":174,"tagline":175,"description":176,"coverImage":177,"githubUrl":180,"liveUrl":181,"technologies":182,"status":39,"category":203,"featured":41,"sortOrder":204},"f616ee77-60e7-4434-b2c8-fae5215d013f","madsnorgaard.net","This site - Drupal 11 and Wordpress backend with a Nuxt 3 frontend","Portfolio and writing platform. Drupal 11 headless CMS via JSON:API, Nuxt 3 SSR frontend. Self-hosted on Contabo VPS with Docker, Traefik, and GitHub Actions CI\u002FCD.",{"id":178,"url":179,"alt":12},"80947f4a-df74-4610-92c6-ea836565110f","https:\u002F\u002Fdrupal.madsnorgaard.net\u002Fsites\u002Fdefault\u002Ffiles\u002F2026-04\u002FScreenshot%202026-04-03%20201051.png","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002Fmadsnorgaard.net","https:\u002F\u002Fmadsnorgaard.net",[183,184,185,189,190,191,195,199],{"id":121,"name":122,"slug":123},{"id":117,"name":118,"slug":119},{"id":186,"name":187,"slug":188},"cadbd05a-f572-4ea9-8e1c-ba12505e2f65","WordPress","wordpress",{"id":126,"name":127,"slug":128},{"id":142,"name":143,"slug":144},{"id":192,"name":193,"slug":194},"33ae4b93-d82c-4277-ae40-d5427ea41dd5","Traefik","traefik",{"id":196,"name":197,"slug":198},"6f264577-fa19-4aff-a051-16c9a4dfea03","GitHub Actions","github-actions",{"id":200,"name":201,"slug":202},"0725c10e-1212-47d7-9045-cfbe08bd0973","Contabo VPS","contabo-vps","personal",3,[206,216,222,228,235,241,249,256,276,284,291],{"id":207,"name":208,"description":209,"htmlUrl":210,"homepage":211,"language":212,"stars":42,"updatedAt":213,"topics":214,"isPrivate":215,"isFork":215},1141272078,"aabenforms-frontend","ÅbenForms Nuxt 3 frontend - multi-tenant UI","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002Faabenforms-frontend",null,"HTML","2026-04-03T23:44:45Z",[],false,{"id":217,"name":174,"description":218,"htmlUrl":180,"homepage":12,"language":219,"stars":42,"updatedAt":220,"topics":221,"isPrivate":215,"isFork":215},1072409545,"Personal site - Nuxt 3 frontend sourcing content from headless Drupal 11 and photo.madsnorgaard.net","Vue","2026-04-03T23:39:32Z",[],{"id":223,"name":224,"description":211,"htmlUrl":225,"homepage":211,"language":219,"stars":42,"updatedAt":226,"topics":227,"isPrivate":215,"isFork":215},844575084,"fenixnordic.solutions","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002Ffenixnordic.solutions","2026-04-03T23:33:35Z",[],{"id":229,"name":230,"description":231,"htmlUrl":232,"homepage":211,"language":211,"stars":42,"updatedAt":233,"topics":234,"isPrivate":215,"isFork":215},1199782366,"plausible","Self-hosted Plausible CE v2 analytics stack","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002Fplausible","2026-04-03T22:12:30Z",[],{"id":236,"name":194,"description":237,"htmlUrl":238,"homepage":211,"language":211,"stars":42,"updatedAt":239,"topics":240,"isPrivate":215,"isFork":215},538632481,"An example of traefik v2 setup","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002Ftraefik","2026-04-03T22:10:42Z",[],{"id":242,"name":243,"description":244,"htmlUrl":245,"homepage":12,"language":211,"stars":246,"updatedAt":247,"topics":248,"isPrivate":215,"isFork":215},1129092649,"drupal-agent-resources","Reusable Claude Code resources for Drupal development - skills, agents, and commands","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002Fdrupal-agent-resources",39,"2026-03-11T11:55:41Z",[],{"id":250,"name":251,"description":252,"htmlUrl":113,"homepage":211,"language":21,"stars":253,"updatedAt":254,"topics":255,"isPrivate":215,"isFork":215},1141272039,"aabenforms","ÅbenForms Drupal backend - headless CMS with ECA workflows",12,"2026-02-04T21:59:45Z",[],{"id":257,"name":258,"description":259,"htmlUrl":260,"homepage":211,"language":211,"stars":204,"updatedAt":261,"topics":262,"isPrivate":215,"isFork":215},1147501982,"danish-gov-mocks","Platform-agnostic mock services for Danish government integrations (MitID, Serviceplatformen, DAWA)","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002Fdanish-gov-mocks","2026-02-01T20:59:29Z",[263,264,265,144,266,267,268,136,269,270,271,272,273,274,275],"danish","dawa","denmark","government","integration-testing","keycloak","mocks","oidc","prism","serviceplatformen","soap","testing","wiremock",{"id":277,"name":278,"description":279,"htmlUrl":280,"homepage":211,"language":281,"stars":42,"updatedAt":282,"topics":283,"isPrivate":215,"isFork":215},1102392934,"norgaard_minecraft","This is the Norgaard minecraft server.","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002Fnorgaard_minecraft","Shell","2025-11-23T16:43:57Z",[],{"id":285,"name":286,"description":287,"htmlUrl":288,"homepage":211,"language":212,"stars":42,"updatedAt":289,"topics":290,"isPrivate":215,"isFork":215},1074747293,"UmbracoLearning","My structured 12-week journey from PHP\u002FDrupal to C#\u002F.NET\u002FUmbraco CMS.","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002FUmbracoLearning","2025-10-14T19:29:08Z",[],{"id":292,"name":293,"description":294,"htmlUrl":295,"homepage":12,"language":21,"stars":296,"updatedAt":297,"topics":298,"isPrivate":215,"isFork":215},352754823,"drupal11_docker_composer_drush","This project includes Drupal 11, Drush 13, Composer install of Drupal Recommended Project and can be used to develop, stage or put into production any Drupal 11 project. This is a development project. ","https:\u002F\u002Fgithub.com\u002Fmadsnorgaard\u002Fdrupal11_docker_composer_drush",4,"2025-04-09T21:02:43Z",[]]