Skip to main content
Home
GrN.dk

Main navigation

  • Articles
  • Cases
  • Services
  • Your Digital Project Manager
  • About Greg Nowak
  • Image Gallery
  • Contact
User account menu
  • Log in

Join my community / free newsletter — sign up here

Breadcrumb

  1. Home

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.

AllGames & 3DApps & deliveryAI & automationWeb & commerce
cases.grn.dk: the interactive kanban demo with two cards labelled ai:working and one finished card in Done

An interactive demo of the Trello-to-AI workflow

GrN.dk — internal build
AI workflow automation

One Trello card asked for something that would show — not tell — how a Danish company can hand work to an AI colleague. The answer was cases.grn.dk: a self-contained interactive page where the visitor types a task, watches an AI pick it up, gets asked a question, answers it, and sees the finished card land at the top of Done. The brief, the domain, the design, the copy, the sound and the publication were all handled by the AI setup the page describes.

Diagram of the delivery pipeline in three lanes: Android to Google Play (commit on main, host gate of 44 tests, signed build, emulator smoke on a real device, Play production); iOS to TestFlight (App Store Connect subscription-approval gate, cloud macOS build, build number from Apple); and a daily device round that reseeds four subscription states and reads the screen back by OCR. Beside it, the real screenshot the pipeline pulls off the emulator on every publish.

Mit Håndværk publishes itself to two app stores — and a real phone holds the veto

Mit Håndværk — Danish marketplace app for craft, art and design (mithaandvaerk.dk); Flutter on Android and iOS, Laravel backend
Mobile delivery automation — Flutter CI/CD, on-device acceptance testing, Google Play and App Store publishing

Mit Håndværk is a Danish marketplace app for craft, art and design — a Flutter app on Android and iOS over a Laravel backend, with subscriptions, real-time chat and push. This case is not about the app's screens. It is about the machinery that puts a new version of it in front of users: a pipeline that takes a commit on main and, roughly ten minutes later, has published it to Google Play production — but only after the release has been installed and cold-started on a real Android device and survived it.

The same pipeline covers Apple from a Linux server that cannot build iOS at all: a release tag hands the build to a cloud macOS machine, which signs it and uploads it to TestFlight — and the tag itself cannot be pushed unless the app's subscriptions are actually approved and priced in App Store Connect.

Everything in the picture above is read off the running system: the counters come out of the pipeline's own log, and the phone panel is the screenshot the publish gate pulls off the emulator on every single release.

The Frontdesk 24/7 demo: a chat with the AI receptionist for Nordlys VVS on the left, and the animated back office — automation flow, calendar, CRM and SMS panels — on the right.

An AI receptionist that never misses a call — with the back office on screen

GrN.dk — demo shelf (demo.grn.dk)
AI receptionist / small-business automation

Frontdesk 24/7 is an AI receptionist for a fictional Danish plumbing firm, Nordlys VVS, that you talk to the way a customer would — by voice or text, in opening hours or after them. The point of the demo is the split screen: while the receptionist answers on the left, the back office animates on the right — the calendar books itself, the caller lands in the CRM, a confirmation SMS goes out and the owner gets a message. Nothing is described; everything is shown happening.

The gate's weekly fleet report: twelve vhosts with their Drupal core version, web PHP, queued safe bumps and held breaking majors, plus the rule that composer resolves against each site's own web PHP.

The boring superpower: a weekly gate that keeps twelve sites' dependencies current

GrN.dk — server fleet (12 production vhosts)
Maintenance automation / DevOps

Twelve production websites on one server, each with its own Composer dependency tree, and the oldest question in hosting: are they up to date, and is it safe to make them so? The dependency-currency gate answers it weekly and automatically — it inventories every vhost, checks each dependency tree against the PHP version that site's web server actually runs, queues the semver-safe updates for approval, and reports the breaking ones instead of applying them.

Vegan Power running in a browser tab on a phone-shaped screen: seven full hearts and the score line "Vegan Power: 1" across the top, a blue sky of cartoon clouds with two oranges and a pear falling through it, a chicken, a dog and a penguin drifting down among them, and the round yellow player waiting with its mouth open at the bottom of the play column.

A 2020 phone game rebuilt for the browser, with a global leaderboard

GrN.dk — internal build
Browser and mobile games

veganpower.grn.dk is Vegan Power, a catch-the-fruit arcade game with a rule you understand in one second: eat fruit, not friends. Fruit falls and you catch it. A chicken, a cow or a penguin falls and you dodge it — each one you hit costs one of your seven hearts. It began in 2020 as a small Flutter and Flame game for Android, released on Google Play that December. In 2026 it was taken apart and rebuilt: it now opens in any browser with no install and no account, keeps a global high-score table on its own small API, and carries a multiplayer beta where two to four players share one arena and shove each other off the fruit.

The AutoLedger demo mid-run: the pipeline from import to filed at the top, counters for 247 transactions and 96% auto-matched, a P&L workbench, and the three-item review queue on the right.

One client’s month runs itself: bank feed to a filed VAT return, while you watch

GrN.dk — demo shelf (demo.grn.dk)
Accounting automation / UK practices

AutoLedger is a guided walkthrough for UK accounting practices: one fictional client (Hazelbrook Coffee Roasters Ltd), one month, and a play button. The bank feed lands, every transaction is categorised with its VAT treatment, the ledger reconciles, the nine-box MTD VAT return fills itself in and goes to HMRC, and the reports draw themselves — while an activity log narrates what the engine is doing and why. Nothing leaves the browser; the client, the bank and the filing are all simulated.

The Kristallsaal entrance view: a dark exhibition hall with cones of light from the ceiling, a mirror-polished floor, and the title card 'Kristallsaal — ein 3D-Erlebnis in geschliffenem Kristall' over the walkway.

A crystal hall rendered live in the browser — then profiled until it ran everywhere

GrN.dk — demo shelf (demo.grn.dk)
3D on the web / product presentation

Kristallsaal is a walk-through jewellery hall that runs entirely in the browser: six vitrines of cut-crystal pieces under museum lighting, a mirror-polished floor, and light that actually splits into colour inside the stones. There is no engine download and no build pipeline — one HTML file, one JavaScript module and Three.js, served as static files. It exists to answer a client question with a demo instead of a slide: what does "3D product presentation on the web" feel like at the high end?

The job finder's job list, captured from a throwaway demo copy seeded with invented rows — the header reads "Job finder — demo data" beside the list of sources. Each card carries a job title, a source chip (jobindex, verama, freelancermap, emagine, weworkremotely, amino), an AI score out of 5, an optional contact-mail chip, a location and a seen-date, then three actions: applied, draft email, and discard with a "why discard?" note. No real advertisement or employer appears.

A private job radar that reads seven boards every morning — and throws away most of what it finds

GrN.dk — internal build
Personal automation, public-source scraping and AI-assisted filtering

This one has no link on it, and that is the point: jobs.grn.dk answers 401 to the internet and always has. It is an internal tool — a job radar, built for its owner's own search for work. Every morning it reads seven contract and job boards, drops everything that cannot match a written profile, has what survives judged by a language model against that profile, and presents the handful worth reading as one screen with three buttons: applied, draft email, discard.

Because it holds one real person's live job search, nothing of it is published here. The screenshot above is a throwaway demo copy of the same interface, seeded with invented rows — every company, title, location and address in it is a placeholder, and it labels itself "demo data" in the header so it can never be mistaken for the live board.

The TableFlow booking page: the hour grid for Bord 4 on 19 August 2026, with three hours struck through as taken, 10:00-12:00 selected in green, and the price updated live to 40 kr.

Pay-to-book table reservations for a coworking space

Danish coworking space — client brief, built as a working demo
Coworking and shared offices

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.

Act one of the Kontrollaget demo: a prompt with fictional personal data on the left, and the three.js glass pipeline — PII scanner, policy gate and model router rings — carrying tokens toward the models on the right.

An AI control layer cast in glass: watch personal data become tokens mid-flight

GrN.dk — demo shelf (demo.grn.dk)
AI governance / data protection

Kontrollaget (“the control layer”) makes invisible AI infrastructure visible. It is a three-act demo for Danish organisations, in Danish and English: write a prompt containing personal data and watch it fly as tokens through a glass pipeline — PII scanner, policy gate, model router — with every step writing itself into an audit log; relive a US provider’s shutdown day with and without a control layer in place; then try to beat the anonymiser yourself in a live redaction playground.

The Optik №1 configurator: tortoiseshell acetate spectacles on a display stand in front of an eye chart, with frame, lens and prescription controls along the bottom of the browser scene.

Spectacles modelled in Blender, configurable in the browser — down to the prescription in the lens

GrN.dk — demo shelf (demo.grn.dk)
3D on the web / product configurators

Optik №1 is a pair of acetate spectacles built end-to-end in Blender 4.5 — modelled, textured, rigged and animated — then exported as glTF and played back live with three.js. In the browser you pick a frame finish and a lens, dial in a prescription on lenses with real refraction, and step into sunlight to watch photochromic glass darken. A Cycles-rendered film and the source files ship alongside the live scene.

The POS sale screen, recreated with sample products: a grid of Thai market goods with per-seller badges, a basket split across three sellers, and a Charge ฿290 button offering cash or PromptPay QR.

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

A community market in Thailand (client kept anonymous)
Retail — point of sale

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 pipeline-written article on grn.dk — 'Your AI Agent Has Shell Access. What Can It Reach?' — with its auto-drawn sketch infographic of a shell doorway, a host/workspace wall and a credentials safe, next to a sidebar of other daily articles.

This site writes its own articles — every morning, with a hand-sketched infographic

GrN.dk (this site) and nowa.dk
AI content automation

The articles on this site are written by a pipeline: every morning it scouts what changed in the web-development and AI world, picks one topic worth a practitioner's attention, writes the piece, draws a sketch-style infographic for it, and publishes — 138 articles since mid-April 2026, one per day, without a stock photo or an image-API key anywhere in the chain. A second, deliberately slower instance runs on nowa.dk: one guarded article a week, with a kill switch.

The rebuilt Ideahunters front page on Drupal 11: the tagline 'Great ideas, sourced from the crowd' over a blue-green hero card, with an archived brand challenge below.

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

Ideahunters — crowdsourced-challenge platform
Community platforms / legacy migration

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.

The crypto-dash.grn.dk status page: the heading "nexus auto-trader" beside an orange PAPER ONLY badge, over the line "hourly strategy sweep → leaderboard → paper promotion · no real orders, ever". Stat tiles read 649 configs tested, 715 backtests last 24h, 2 sweep windows, 3 paper strategies and +0.00 paper P&L in USD. Below them a Paper strategies panel lists three promoted configurations with all-zero P&L rows, and a Promotion pipeline table shows each candidate's streak and score.

A trading rig that tests its own strategies every hour — and never places an order

GrN.dk — internal build
Quantitative research tooling and automation

crypto-dash.grn.dk is the public window onto a strategy-research rig that runs on our own server and trains itself. Every hour it backtests a fresh batch of trading-strategy configurations against five-minute crypto candles, scores each one on data it was not fitted to, keeps a running leaderboard, promotes the configurations that hold the top into a simulated book, and demotes them again as soon as their forward behaviour drifts away from what the backtest promised.

It is paper trading only. The installation holds no exchange keys, calls no order endpoint and has no account to spend from. Every fill, every position and every P&L figure on that page is simulated — which is why the page prints PAPER ONLY on itself, in orange, at the top of every hourly regeneration.

KotobaMon running in a browser: the low-poly island in third person, the trainer standing on a green meadow with cherry trees and pines, two wild monsters roaming nearby and a healing pad ahead. The HUD shows the score, the current biome そうげん · Meadow and the party slot コダマ.

A 3D browser game where every monster is a Japanese word

GrN.dk — internal build
Browser games and language learning

fantasy.grn.dk is コトバモン KotobaMon — a 3D monster-catching game that runs in an ordinary browser tab, where every monster is a Japanese word. ヒバナ hibana is a spark, コダマ kodama is a tree spirit, and catching one is how the word gets learned. It has a procedurally generated island with five biomes, twelve species, turn-based battles with a type chart, and full Japanese voice-over subtitled in Japanese, romaji and English at the same time. There is no download, no account, no build step and no backend: the whole game is 2,821 lines of vanilla JavaScript plus a vendored copy of Three.js, served as static files.

The abc.grn.dk alphabet screen: all 44 Thai consonants as cards colour-coded by class — mid blue, high orange, low green — each with its romanized name, above a practice-range picker and a "Practice 44 letters" button.

Learning to write Thai, one traced letter at a time

GrN.dk — internal build
Educational apps for children

abc.grn.dk teaches a child to write an alphabet rather than to recognise one: pick a letter, trace it with a finger, and the app scores the shape you actually drew and tells you how close you got. Thai first — all 44 consonants, free — with Japanese hiragana and katakana behind a premium gate. Everything happens in the browser: the handwriting recogniser is plain Dart running on the device, the spoken letter names are files bundled with the app, and there is no account, no runtime backend and no advertising.

Want something like this built?

Most of these started as a one-line idea on a kanban card. Tell me yours and I will tell you what it would take.

Get in touch

Looking for older work? See the earlier-work archive (1998–2021).

Review Greg on Google

Greg Nowak Google Reviews

 

Written recommendations from Trafik og Veje, Aarhus Municipality (2011) and AgroTech (2010) — read them on LinkedIn.

Illustrated infographic summarizing: What Are Customers Asking? Let AI Find the Patterns in Support Tickets
What Are Customers Asking? Let AI Find the Patterns in Support Tickets
2026-09-04

AI-based ticket analysis can uncover recurring complaints, product defects and gaps in documentation—without the company needing yet another chatbot.

Illustrated infographic summarizing: OpenAI Has Machine Identity Now. Which Jobs Should Lose API Keys?
OpenAI Has Machine Identity Now. Which Jobs Should Lose API Keys?
2026-09-03

OpenAI’s X.509 workload identity can replace API keys for the right workloads. This practical framework helps teams decide where to start safely.

Illustrated infographic summarizing: WordPress 7.1 Exposes AI-Ready Actions. Who Gets to Run Them?
WordPress 7.1 Exposes AI-Ready Actions. Who Gets to Run Them?
2026-09-02

WordPress 7.1 helps AI agents discover and invoke site abilities. Here is how to keep exposure, authentication and permission firmly separate.

Illustrated infographic summarizing: From Sales Meeting to CRM: Automate Follow-Up Without Compromising Data Quality
From Sales Meeting to CRM: Automate Follow-Up Without Compromising Data Quality
2026-09-01

How to use AI for meeting notes and follow-up while fixed rules protect CRM data, customer matching and the sales pipeline from errors and premature changes.

Illustrated infographic summarizing: Your AI Gateway Can Name the User. Decide What That Log Is For
Your AI Gateway Can Name the User. Decide What That Log Is For
2026-08-31

Identity-aware AI Gateway logs can sharpen security and cost control, but only when attribution, access, retention, guardrails, and response are clearly defined.

Illustrated infographic summarizing: Zero Data Retention Is a Workflow Audit, Not a Checkbox
Zero Data Retention Is a Workflow Audit, Not a Checkbox
2026-08-30

Zero Data Retention covers the provider, not every copy in your stack. See how to audit endpoints, logs, storage, deletion and project-level controls.

Illustrated infographic summarizing: MCP 2026-07-28 Is an Auth Migration, Not a Version Bump
MCP 2026-07-28 Is an Auth Migration, Not a Version Bump
2026-08-29

MCP’s July 2026 release removes protocol sessions and tightens OAuth. Here’s a practical plan for migrating clients, servers and enterprise access safely.

Illustrated infographic summarizing: Turn a Technician’s Voice Note into a Work Order—Not Raw Audio
Turn a Technician’s Voice Note into a Work Order—Not Raw Audio
2026-08-28

Voice input can reduce the technician’s documentation burden when hours, materials and status are validated before the information is saved in the work order system.

Illustrated infographic summarizing: ChatGPT Disabled Personal Knowledge Sync. What Broke on Your Team?
ChatGPT Disabled Personal Knowledge Sync. What Broke on Your Team?
2026-08-27

ChatGPT retired personal sync connections for Enterprise and Edu. Here is how to find affected workflows, migrate access, and test permissions.

Illustrated infographic summarizing: Cloudflare’s September Bot Defaults Could Quietly Cut AI Visibility
Cloudflare’s September Bot Defaults Could Quietly Cut AI Visibility
2026-08-26

Cloudflare’s September bot defaults give publishers more control, but one training block could also cut search crawling and AI-driven discovery.

More articles
RSS feed

Footer

  • All articles
  • Contact

GrN.dk — AI automation, web platforms, web optimization, data handling and logistics.

© 2026 GrN.dk · LinkedIn · Contact · AI automation in Danish: nowa.dk

Behind GrN.dk: Individual Entrepreneur Codecrafter · Tax ID 305669096 · Bakhtrioni St. 22, 0194 Tbilisi, Georgia · official business register