Automation

Mobile delivery automation — Flutter CI/CD, on-device acceptance testing, Google Play and App Store publishing

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

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.

Mit Håndværk — Danish marketplace app for craft, art and design (mithaandvaerk.dk); Flutter on Android and iOS, Laravel backend

Flutter / mobile and web apps

Thirty Flutter case studies where the page is the app — and a park you can walk through

flutter.grn.dk is a shelf of thirty small case studies, one per Flutter package worth knowing — routing, state management, animation, charts, maps, storage, i18n — and each one is a live demo the visitor can poke at, with the code beside it and real apps that use the package. There are no screenshots of Flutter on it: the site is itself the Flutter app, compiled for the web, with a real URL per case, a crawlable page behind each URL and a 3D “case park” where every case has its own stand.

GrN.dk — flutter.grn.dk

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

ERP / open-source business systems

There is a world outside Microsoft ERP: one Danish wholesaler's order, run on an open stack

Udenfor (“Outside”) follows one order through one day at Nordvind Foods, a fictional Aarhus wholesaler with 14 staff and a web shop — on an open stack instead of Business Central. It plays in three acts: the camera zooms out of the Microsoft walled garden onto a live system map where an order agent, an open-source ERP core on Postgres, the warehouse scanner, GLS, NemHandel/Peppol e-invoicing, a PSD2 bank feed and the tax export light up in turn while the ledger posts itself; then you ask the books a question in plain Danish and watch the SQL and the answer appear; then you change a business rule in one sentence and see it tested and deployed in seconds, next to the 26-day partner change-request timeline it replaces.

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

Accounting automation / UK practices

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

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.

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

AI content automation

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

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.

GrN.dk (this site) and nowa.dk

Maintenance automation / DevOps

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

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.

GrN.dk — server fleet (12 production vhosts)

Personal automation, public-source scraping and AI-assisted filtering

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

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.

GrN.dk — internal build