open to new roles · Aarhus, Denmark

Hi, I’m Christoffer

I build the machinery that makes software teams faster and safer: developer experience, CI/CD and quality gates, platform tooling, and AI that actually ships to production.

01What I do

02Featured work

All projects →
professional01

Illux Product AI

Generative-AI product enrichment & room visualization for Shopware 6

A production Shopware 6 plugin that turns product images into multilingual copy, SEO, categories and tags with generative AI, and lets shoppers see artwork on their own wall before buying. Designed, built and deployed as sole developer.

  • PHP 8.1+
  • Shopware 6
  • Symfony Messenger
  • RabbitMQ
  • Generative AI / LLM APIs
  • TypeScript
Oct 2025 - Jan 2026
open source02

Foundry

A polyglot engineering gate for AI-assisted development

One deterministic quality standard - format, lint, types, tests, coverage, security - enforced identically while an AI agent edits, before push and in CI. Reusable GitHub Actions workflows, mise templates and a Claude Code plugin, released as versioned open source.

  • GitHub Actions
  • mise
  • Python
  • POSIX shell
  • TypeScript
  • Semgrep
Aug 2026 - now
open source03

jev-triage

Near-free GitHub issue triage with confidence-gated escalation

A GitHub Action that labels every new issue with TypeSafe AI's Jev in milliseconds for fractions of a cent - and escalates only the ones it's unsure about to a human or a real LLM.

  • TypeScript
  • GitHub Actions
  • Octokit
  • Jev
  • Cloudflare Workers AI
Sept 2026 - now★ 1
open source04

jev-guard

A fail-safe guardrail for LLM agents' tool calls

A TypeScript library that vets every tool call an agent proposes through Jev before it runs - allow, block or hold for a human - so an autonomous agent can't rm -rf your box on a bad hunch.

  • TypeScript
  • Node.js
  • Jev
  • Vercel AI SDK
  • LangChain
Sept 2026 - now★ 1
open source05

jev-sort

jq for judgment - bulk classification at pennies per 10k rows

A CLI that streams JSONL/CSV rows through Jev and returns typed classification and score columns plus a confidence field, flagging low-confidence rows for review.

  • TypeScript
  • Node.js
  • Jev
  • JSONL
  • CSV
Sept 2026 - now★ 1
personal06

Jobbuddy

AI job-application platform - from posting to tailored CV

A Spring Boot (strict hexagonal) + Angular platform that ingests job postings and generates tailored CVs and cover letters with ATS match reports, backed by Postgres full-text and pgvector semantic search.

  • Java
  • Spring Boot
  • Angular
  • PostgreSQL
  • pgvector
  • Flyway
May 2026 - now
personal07

Tech Atlas

A bilingual technical dictionary you can explore as a map

About 420 security, CS, AI and platform terms in English and Danish, linked by typed, sourced relationships into a knowledge graph with a 2D/3D explorer, plain-language explanations and quizzes.

  • Astro
  • TypeScript
  • Supabase
  • Cytoscape
  • Three.js
  • PL/pgSQL
Sept 2026 - now
personal08

ReelScout

One React codebase, running on the web and as an LG webOS TV app

A TMDB-powered movie and TV browser that aggregates ratings, shows where titles stream in your country and - on TV - deep-links straight into the streaming apps. Same React tree for mouse and TV remote.

  • React
  • TypeScript
  • Vite
  • TanStack Query
  • Firebase
  • LG webOS
Jul 2025 - nowdemo
personal09

MovieWheel

Spin a wheel, settle movie night

Filter, spin a 12-slot wheel and get a title plus where it streams. A static React frontend with a hardened serverless TMDB proxy - per-IP rate limiting, a path allow-list and edge caching.

  • React 19
  • TypeScript
  • Vite
  • TanStack Query
  • Vercel Functions
May 2026 - Jun 2026

TypeScript, Java, C#, PHP, Kotlin, Swift, Python, Spring Boot, Symfony, Angular, React, Astro, GitHub Actions, mise, Docker, PostgreSQL, RabbitMQ, Cloudflare, Azure, Kubernetes, Claude Code, Semgrep

03Latest writing

All posts →

Have something to build?

I’m looking for a full-time role and open to freelance and consulting work in the meantime.

command.exeesc

↑↓ select · Tab complete · Enter run · Esc close

doom.exe

WASD move · ←→ turn · Space fire · E use · Shift run · Enter menu · licences