Cases

A selection of the work: what the client needed, what was built, and what it changed. Each case links through to the full write-up.

Web design / Drupal

Redesigning grn.dk in the open: eight directions, one pick, a live theme switch

The site you are reading redesigned itself with the same card-driven AI pipeline it writes about. Eight complete design directions were built as static previews from the site's real content — real articles, real cases, both languages — and published side by side on demo.grn.dk. One won. It then became a brand-new Drupal 11 theme, built in phases on the live site behind a logged-in preview, and switched on with a single config change.

GrN.dk — this site

Web / portfolio infrastructure

A demo shelf that keeps itself: twenty-five builds from 2019 to 2026, one PHP file and a sitemap that follows

demo.grn.dk is where the experiments live: twenty-five of them, from an XHTML-era sunrise calculator for Silkeborg to procedural WebGL, a Blender orrery, a crystal hall, an AI receptionist, a UK accounting autopilot and a Danish ERP day. Many of the cases on this page open on a shelf entry. The shelf itself is one PHP file that lists the demos, groups them into Featured and Tools, filters as you type and derives the sitemap from the same list — so a demo that lands in the web root is on the shelf and in the sitemap before anyone writes it up.

GrN.dk — demo.grn.dk

Retail — point of sale

One till, many sellers: a market POS that splits every sale by stall

A point-of-sale system for a physical market where dozens of independent sellers share the same tills. A cashier rings up one basket; the system knows which stall every item belongs to, splits the sale per seller at the moment it happens, and keeps the books each stall settles against. Thai-first interface with a synchronized English translation set, built on Laravel 12 with a Filament v4 admin panel and PostgreSQL underneath.

A community market in Thailand (client kept anonymous)

Logistics / TMS configuration

A transport management system you can break in sixty seconds: fourteen orders re-planned on every rule you flip

TMS Configuration Cockpit runs a small transport management system in the browser: one distribution centre in Aarhus, three countries, fourteen orders, and a configuration panel holding exactly what a TMS application and configuration manager owns — business rules, planning parameters, carrier tariffs, an ADR dangerous-goods workflow and group-versus-local country templates. Every lever you touch re-plans tonight’s tours live, moves the KPIs, shows up in the EDI interface monitor and writes itself up as a change request. It was built as a working answer to a job posting’s “why you?”.

GrN.dk — demo shelf (demo.grn.dk); built as a working job application

Coworking and shared offices

Pay-to-book table reservations for a coworking space

A Danish coworking space wanted members to book a table by the hour and pay for it — because at 20 kr. per hour per table, a booking that has not been paid for is not a booking. tableflow.grn.dk is that system, built from the client's brief and running live: an hour grid that shows what is actually free, a fifteen-minute payment hold that releases itself, and an admin screen for the people who run the place. Plain PHP and MariaDB — no framework, no dependencies, 853 lines in seven files.

Danish coworking space — client brief, built as a working demo

Web design

A for-sale board from 2012 gets three working redesigns, and the newspaper wins

buyme.grn.dk has been Greg Nowak's own for-sale board since 2012. A car, two sofas, a chair, a flat and a whole web forum have been sold there, and it still ran on the Drupal 7 site it launched with. The brief on the Trello card was three lines: it is ugly and outdated, give me three cool template options, make them creative and human instead of the usual AI look. Three working directions came back, each built from the real listings and photos, and they now sit side by side on demo.grn.dk. Greg picked B, a Danish newspaper page.

GrN.dk, buyme.grn.dk

Community platforms / legacy migration

Fifteen years of community ideas, carried from Drupal 7 to Drupal 11

Ideahunters is a crowdsourcing platform where brands post a challenge and a community submits ideas against a deadline. The original site ran on Drupal 7 — end-of-life, unsupported, and increasingly a liability — with over a decade of challenges, discussions and member accounts in it. The platform was rebuilt on Drupal 11 and the legacy content migrated across: 426 pieces of content and 921 user accounts, anonymized on the way in.

Ideahunters — crowdsourced-challenge platform