
Editorial magazine layered on top of Løplabbet’s store — a place for long-form running content next to the catalogue.
Henning Berge · Bryne, Norway · est. 2013
Full-time at Grensesnitt AS
I’ve been shipping code since the days of Warcraft 3 custom maps — through homemade RuneScape servers, university coursework, a stretch of web & mobile at Zendera and Styreportalen, and now consultancy at Grensesnitt on civic platforms, e-commerce and tooling. On the side: home-automation, and tools that sit between humans and AI agents. The thread is breadth — I like jumping into unfamiliar stacks and shipping something that holds.
$ pwd
Full-time at Grensesnitt AS — a consultancy that lets me jump across client engagements; the breadth is the whole point. On the side I’ve been building tools that sit between humans, AI agents and the messy systems they touch.

Editorial magazine layered on top of Løplabbet’s store — a place for long-form running content next to the catalogue.

A wall-system configurator for Norgips that walks builders through fire, sound and load specs to a buildable wall.

Municipal platform for booking community facilities and activities — calendars, permissions, the works.

A personal cookbook — recipes I actually cook, online so they survive a lost laptop and follow me to whatever kitchen I’m in.

Audiobook sync experiment — embedding Rust inside a React Native app via a Kotlin shim. The kind of thing weekends are for.
Dashboard · home + state · HA since 2024
Two parallel tracks. By day, contributing to Portico Estate and Designsystemet — the platform Norwegian municipalities use for property management and the public-sector design system from Digdir. By night, an ever-growing pile of Home Assistant integrations and tiny utilities for the house.
/lovelace · dashboards




/console · original xbox
First proper day jobs
A stretch of full-time product work — first the Zendera web-app, then a few years at Styreportalen on their board-management web product and the Tutti mobile app.
First full-time gig. Frontend & backend on their internal web app — order timelines, live fleet map, my crash course in real production code.

Years of work on the Tutti mobile app and the online board-management product around it. Design, ship, maintain.

Lecture Notes · INF
A few years of formal CS at UiB (Universitetet i Bergen) — INF112 (a Robot Rally clone in Java/LibGDX), INF122 (FP), INF284 and others — running in parallel with a pile of weekend tools that scratched my own itches.
Group project recreating the board game RoboRally. Cards, conveyor belts, lasers, the lot. Lived at github.com/inf112-v19/Robocop.
Started a stack of custom integrations — most still live today on the dashboard further down. SystemAIR was the first one published to HACS.
Stats · Server-side · github.com/runejs
A TypeScript stack for the mid-2000s RuneScape protocol. Joined as the second contributor on runejs/server in late 2019 and have been co-leading the org ever since — game loop, content APIs, JS5 cache, login & update servers, and the client work that sits on the other end of the wire.

Quests Available · 6
Cut my teeth in the Warcraft 3 modding scene — JASS, then Lua, then helping move things over to a TypeScript → Lua workflow. Most of the toolchain that made it possible (w3ts, war3-types, war3-transformer, JassToTs, WC3MapTranslator) is the work of a small community of map authors I’m glad to be a part of.

Ground-up rebuild of the cult-classic WC3 map. Replaced years of tangled JASS with a typed code base, a deploy pipeline, and an active player base on maulbot.com.
A ready-to-clone TypeScript template for new WC3 maps — build pipeline, tooling and the type definitions wired up so authors can skip the yak-shaving and start writing gameplay.
Translators that round-trip between WC3’s legacy formats (.j, .w3x, .slk) and JSON so they can live in Git, in CI, and in modern editors.
Smaller original maps and experiments that lived alongside Maul — testbeds for the TypeScript pipeline before it had to hold up a live community.
Langs · runtimes · platforms