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

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

Quantitative research tooling and automation

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

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.

GrN.dk — internal build