Custom Development

Web / portefølje-infrastruktur

En demohylde, der passer sig selv: femogtyve builds fra 2019 til 2026, én PHP-fil og et sitemap, der følger med

demo.grn.dk er der, eksperimenterne bor: femogtyve af dem, fra en solopgangsberegner for Silkeborg fra XHTML-tiden til procedural WebGL, et Blender-planetarium, en krystalsal, en AI-receptionist, en britisk regnskabsautopilot og en dansk ERP-dag. Mange af casene på denne side åbner på en post på hylden. Hylden selv er én PHP-fil, der lister demoerne, grupperer dem i Featured og Tools, filtrerer, mens man skriver, og afleder sitemappet fra den samme liste — så en demo, der lander i webroden, er på hylden og i sitemappet, før nogen har skrevet om den.

GrN.dk — demo.grn.dk

Flutter / mobil- og webapps

Tredive Flutter-cases, hvor siden selv er appen — og en park, man kan gå rundt i

flutter.grn.dk er en hylde med tredive små cases, én pr. Flutter-pakke, der er værd at kende — routing, state management, animation, diagrammer, kort, lagring, i18n — og hver af dem er en levende demo, som den besøgende kan pille ved, med koden ved siden af og rigtige apps, der bruger pakken. Der er ingen skærmbilleder af Flutter på sitet: sitet er selv Flutter-appen, kompileret til web, med en rigtig URL pr. case, en side bag hver URL, som søgemaskiner kan læse, og en 3D-»casepark«, hvor hver case har sin egen stand.

GrN.dk — flutter.grn.dk

Logistik / TMS-konfiguration

Et transportstyringssystem, du kan ødelægge på tres sekunder: fjorten ordrer omplanlagt for hver regel, du vipper

TMS Configuration Cockpit kører et lille transportstyringssystem i browseren: ét distributionscenter i Aarhus, tre lande, fjorten ordrer og et konfigurationspanel med præcis det, en TMS-applikations- og konfigurationsansvarlig ejer — forretningsregler, planlægningsparametre, fragttariffer, et ADR-workflow for farligt gods og koncern- kontra lokale landeskabeloner. Hvert håndtag, man rører, omplanlægger aftenens ture live, flytter KPI’erne, dukker op i EDI-grænseflademonitoren og skriver sig selv op som en ændringsanmodning. Den blev bygget som et fungerende svar på et jobopslags »hvorfor dig?«.

GrN.dk — demohylde (demo.grn.dk); bygget som en fungerende jobansøgning

ERP / open source-forretningssystemer

Der findes en verden uden for Microsoft ERP: én dansk grossists ordre, kørt på en åben stak

Udenfor følger én ordre gennem én dag hos Nordvind Foods, en fiktiv grossist i Aarhus med 14 ansatte og en webshop — på en åben stak i stedet for Business Central. Demoen spiller i tre akter: kameraet zoomer ud af Microsofts indhegnede have og ud på et levende systemkort, hvor en ordreagent, en open source-ERP-kerne på Postgres, lagerscanneren, GLS, NemHandel/Peppol-e-fakturering, en PSD2-bankfeed og skatteeksporten lyser op efter tur, mens finansbogen posterer sig selv; derefter stiller man bøgerne et spørgsmål på almindeligt dansk og ser SQL’en og svaret komme frem; og til sidst ændrer man en forretningsregel i én sætning og ser den testet og deployet på sekunder, ved siden af den 26-dages partner-ændringsanmodning, den erstatter.

GrN.dk — demohylde (demo.grn.dk)

Webdesign / Drupal

Nyt design til grn.dk i fuld åbenhed: otte retninger, ét valg, ét live temaskifte

Sitet, du læser på, har designet sig selv om med den samme kort-drevne AI-pipeline, det skriver om. Otte komplette designretninger blev bygget som statiske previews ud fra sitets rigtige indhold — rigtige artikler, rigtige cases, begge sprog — og lagt side om side på demo.grn.dk. Én vandt. Den blev derefter til et helt nyt Drupal 11-tema, bygget i faser på det kørende site bag et login-preview, og slået til med én enkelt konfigurationsændring.

GrN.dk — dette site

AI-receptionist / SMV-automatisering

En AI-receptionist, der aldrig går glip af et opkald — med baglokalet på skærmen

Frontdesk 24/7 er en AI-receptionist for et fiktivt dansk VVS-firma, Nordlys VVS, som man taler med, som en kunde ville — med stemme eller tekst, i og uden for åbningstid. Demoens pointe er den delte skærm: mens receptionisten svarer til venstre, animerer baglokalet til højre — kalenderen booker sig selv, kunden lander i CRM, der går en bekræftelses-sms afsted, og ejeren får besked. Intet beskrives; alt vises, mens det sker.

GrN.dk — demohylde (demo.grn.dk)

Detailhandel — point of sale

Én kasse, mange sælgere: et markeds-POS, der deler hvert salg op pr. bod

Et point-of-sale-system til et fysisk marked, hvor snesevis af uafhængige sælgere deler de samme kasser. En kassemedarbejder slår én kurv ind; systemet ved, hvilken bod hver vare tilhører, deler salget pr. sælger i det øjeblik, det sker, og fører de bøger, hver bod afregner efter. Thai-først grænseflade med et synkroniseret engelsk oversættelsessæt, bygget på Laravel 12 med et Filament v4-adminpanel og PostgreSQL nedenunder.

Et community-marked i Thailand (kunden holdes anonym)

3D på nettet / produktpræsentation

En krystalsal renderet live i browseren — og profileret, til den kørte overalt

Kristallsaal er en smykkesal, man går igennem, og som kører helt i browseren: seks vitriner med slebne krystalstykker under museumsbelysning, et spejlblankt gulv og lys, der faktisk spaltes i farver inde i stenene. Der er ingen engine-download og ingen build-pipeline — én HTML-fil, ét JavaScript-modul og Three.js, serveret som statiske filer. Den findes for at besvare et kundespørgsmål med en demo i stedet for et slide: hvordan føles »3D-produktpræsentation på nettet« i den høje ende?

GrN.dk — demohylde (demo.grn.dk)

Community-platforme / legacy-migrering

Femten års community-idéer, båret fra Drupal 7 til Drupal 11

Ideahunters er en crowdsourcing-platform, hvor brands stiller en challenge, og et community indsender idéer inden en deadline. Det oprindelige site kørte på Drupal 7 — end-of-life, uden support og i stigende grad en belastning — med over ti års challenges, diskussioner og medlemskonti i sig. Platformen blev genopbygget på Drupal 11, og legacy-indholdet migreret over: 426 stykker indhold og 921 brugerkonti, anonymiseret på vejen ind.

Ideahunters — platform for crowdsourcede challenges

Personlig automatisering, scraping af offentlige kilder og AI-assisteret filtrering

En privat jobradar, der læser syv portaler hver morgen — og kasserer det meste af det, den finder

Denne case har intet link på sig, og det er netop pointen: jobs.grn.dk svarer 401 til internettet og har altid gjort det. Det er et internt værktøj — en jobradar bygget til ejerens egen jagt på arbejde. Hver morgen læser den syv kontrakt- og jobportaler, dropper alt, der ikke kan matche en skreven profil, lader en sprogmodel bedømme det overlevende mod samme profil og præsenterer den håndfuld, der er værd at læse, som én skærm med tre knapper: søgt, udkast til mail, kassér.

Fordi den rummer ét virkeligt menneskes live jobsøgning, publiceres intet af den her. Screenshotet ovenfor er en engangs-demokopi af samme interface, seedet med opdigtede rækker — hvert firma, hver titel, lokation og adresse i den er en pladsholder, og den mærker sig selv "demo data" i headeren, så den aldrig kan forveksles med det rigtige board.

GrN.dk — internt projekt