Skip to main content
GrN.dk

Main navigation

  • Articles
  • Cases
  • Contact
  • Your Digital Project Manager
  • About Greg Nowak
  • Services
  • Portfolio
  • Container
    • Excel Freelancer
    • Kubuntu - tips and tricks
    • Linux Apache MySQL and PHP
    • News
    • Image Gallery
User account menu
  • Log in

Join my community / free newsletter β€” sign up here

Breadcrumb

  1. Home

Custom Development

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 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.

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.

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.

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.

By Greg Nowak, 8 May, 2026
Illustrated infographic summarizing: WordPress 6.9.2 and Unsupported Theme Code: A Safer Update Playbook

WordPress 6.9.2 and Unsupported Theme Code: A Safer Update Playbook

WordPress 6.9.2 exposed unsupported theme-loading code. Learn how to audit template hooks, stage security updates, and reduce emergency troubleshooting.

Tags

  • wordpress
  • Theme Compatibility
  • Update Operations
  • Custom Development
By Greg Nowak, 1 December, 2018

Drupal 8 Development in 2026: Safe Legacy Work and Upgrade Planning

Still running Drupal 8? Learn what legacy work is safe in 2026, what should wait, and how to plan a practical upgrade to supported Drupal.

Tags

  • Drupal
  • Drupal 8
  • Legacy CMS
  • upgrade planning
  • Custom Development
Custom Development

Review Greg on Google

Greg Nowak Google Reviews

 

Illustrated infographic summarizing: AI crawler policy now has verbs: separate search, RAG, and training
AI crawler policy now has verbs: separate search, RAG, and training
2026-08-02

AI crawler rules now need separate decisions for search, RAG, and training, backed by practical testing across robots.txt, CDNs, WAFs, and CMS controls.

Illustrated infographic summarizing: WordPress Supports Old PHP; Your Production Server Shouldn’t
WordPress Supports Old PHP; Your Production Server Shouldn’t
2026-08-01

WordPress still runs on legacy PHP, but compatibility is not a security policy. Build and test your upgrade path before PHP 8.2 support ends.

Illustrated infographic summarizing: The AI-built tool your team relies on needs an owner
The AI-built tool your team relies on needs an owner
2026-07-31

AI-built internal tools can become business-critical before anyone owns them. Here is how to secure, review, monitor, and retire them without blocking useful work.

Illustrated infographic summarizing: Your AI model has an expiry date: build the migration lane now
Your AI model has an expiry date: build the migration lane now
2026-07-30

AI models retire on a schedule. Learn how to map dependencies, test replacements, release safely and preserve a working rollback route.

Illustrated infographic summarizing: Copilot Has Repo-Level Metrics Now. What Should Teams Measure?
Copilot Has Repo-Level Metrics Now. What Should Teams Measure?
2026-07-29

GitHub’s repo-level Copilot metrics show where AI is active, but not whether it adds value. This scorecard connects usage with delivery, quality, and cost.

Illustrated infographic summarizing: Not Every AI Job Needs an Instant Answer: Batch the Backlog
Not Every AI Job Needs an Instant Answer: Batch the Backlog
2026-07-28

Move delay-tolerant AI work into dependable batch queues to cut processing costs without compromising quality, data controls, or urgent workflows.

Illustrated infographic summarizing: A stray Set-Cookie can waste your CDN: audit the cache at the edge
A stray Set-Cookie can waste your CDN: audit the cache at the edge
2026-07-27

Cloudflare Cache Response Rules can recover wasted CDN capacity, but first you need a route-level audit of public, personal and authenticated responses.

Illustrated infographic summarizing: Shorter TLS certificates expose every renewal you never automated
Shorter TLS certificates expose every renewal you never automated
2026-07-26

Shorter TLS lifetimes leave less room for manual handoffs and faulty deploy hooks. Build a renewal path that protects service availability.

Illustrated infographic summarizing: One Timeout, Two Orders: Make AI Actions Safe to Retry
One Timeout, Two Orders: Make AI Actions Safe to Retry
2026-07-25

A timed-out AI action may already have succeeded. Stable keys, durable ledgers, queues and stored results prevent a routine retry from duplicating real work.

Illustrated infographic summarizing: Your AI Visibility Dashboard Needs a Methodology, Not More Charts
Your AI Visibility Dashboard Needs a Methodology, Not More Charts
2026-07-24

A practical framework for measuring AI-search visibility with fixed prompts, repeated tests, separate metrics, retained evidence, and honest reporting.

More articles
RSS feed

GrN.dk web platforms, web optimization, data analysis, data handling and logistics.