hugo@rohach:~/portfolio$

$ hugo --whoami

I orchestrate AI tools
to ship products,
workflows, and integrations.

Shipping production AI at Charmies. Co-developing Kompass. Based in Belgium.

$ hugo --status

status         :  Open to AI engineering roles
location       : Hybrid · Belgium
daily_driver   : Claude Code
favourite_stack: Next.js · Postgres

$

$ hugo --now

  • >Shipping AI integrations at Charmies
  • >Co-developing Kompass — late-prototype SaaS, in active investor talks
  • >Building Personal Helper — my own Claude Code skill library

$ hugo --featured

01 / 04

HUGO.CHARMIES(1)

PRODUCTION
SYNOPSIS
Next.js · Vercel AI SDK · tool calling · cloud Postgres · ~200 users
STATE
Shipped · in production · ongoing
NAME
charmies — operations platform + agentic chat interface for an agency
DESCRIPTION
Built in two phases. Phase 1 — designed and shipped the original Charmies operations dashboard end-to-end. Phase 2 — layered an agentic chat interface on top with the Vercel AI SDK, replacing manual creation flows with prompt-driven workflows. Users describe outcomes; the agent calls the tools. Production-deployed and used daily across the agency.
02 / 04

HUGO.KOMPASS(1)

IN DEVELOPMENT
SYNOPSIS
Next.js · Supabase · react-globe.gl + deck.gl · live AIS vessel data · 3-person team
STATE
Late prototype · in active investor conversations
NAME
kompass / commodity-compass — late-prototype SaaS for boutique commodity brokers
DESCRIPTION
Co-developing with two partners. I set up the architecture, the Claude Code agent harness, and the early product surface — network graph, contacts UX, intelligence providers, the IVAN-08 verification-engine spec. The in-app blip-globe renders real-time vessel data, chokepoint pulses, and sanctioned-country overlays over a custom basemap pipeline.
03 / 04

HUGO.HELPER(1)

PERSONAL OPS
SYNOPSIS
Claude Code · custom skills · slash commands · MCP integrations
STATE
Live · used daily · private
NAME
personal-helper — Claude Code system for daily ops
DESCRIPTION
A growing personal layer of skills and agents. Transcribes media, drafts content, manages context across projects, schedules tasks. Built to test how far an AI-first workflow can go before friction returns.
04 / 04

HUGO.ECOFOODMAP(1)

ORIGIN
SYNOPSIS
Express + TypeScript · OpenAI + OpenRouter · Puppeteer + Turndown · n8n→native migration
STATE
Shipped to client · the inflection point
NAME
ecofoodmap — Belgian food-system indicator dashboard (school)
DESCRIPTION
Bachelor group project. I led the AI flow. Started as an n8n agent, then migrated the whole pipeline to a code-native TypeScript backend. Dual-provider model routing — OpenAI for the native web_search_preview tool, OpenRouter for cheap extraction with paid fallback, cost-tracked per model. Domain-aware Puppeteer scraper that opens the right sidebar filter before extraction. The first time I made real AI engineering decisions in production.

$ hugo --stack

AI / AGENTIC

────────────
  • Agentic coding (Claude Code, Codex)
  • LLM SDKs · OpenRouter
  • Custom MCP servers
  • Agent harnesses + skills
  • Context engineering · evals

PRODUCT ENGINEERING

────────────
  • TypeScript
  • Next.js · React
  • Node.js · Python
  • PostgreSQL
  • Tailwind · shadcn
  • Any language the problem needs

INFRASTRUCTURE

────────────
  • Cloud: Azure · AWS
  • VPS-first (Docker · Coolify)
  • CI/CD · observability
  • Git

$ hugo --takes

01

LEAN OVER OVER-ENGINEERED

Most “agents” are one well-written LLM call plus retrieval. Add orchestration when a named failure forces it — long-horizon state, human-in-loop, fan-out you've already hit in production. Frameworks aren't wrong; they're premature.

02

ORCHESTRATION COMPOUNDS

The harness is the codebase now — SKILL.md, program.md, the context window, the agent graph. Sharpen this primitive and everything downstream multiplies. The catch: orchestration without evals is vibes with extra steps. Build the harness on top of eval discipline, not instead of it.

03

HUMAN-IN-THE-LOOP AT THE CHECKPOINTS

Models flip from correct to incorrect under casual pushback ~15% of the time. Manage AI like a mid-level report: trust it on execution, gate it on judgment. Continuous supervision is unsustainable; checkpointed approval before irreversible writes is the discipline that ships.

$ hugo --origin

At school we had a client in Leuven who wanted to automate scraping indicators like “what percentage of Belgians are obese.” Until then it was manual work. I'd seen something about n8n's AI agent feature, plugged OpenRouter into the workflow, and watched it scrape and reason about pages we'd have spent weeks on.

A few hours later I realised n8n was just making API calls — we could call OpenRouter directly from our own code. The whole flow migrated to native TypeScript. Around the same time we built the client's site with Bolt and I sat watching it generate a real custom website in minutes.

I haven't manually written code from scratch since. I'd rather spend the time learning to orchestrate agents. Coding ones, image ones, video ones, voice ones. Orchestration compounds across every sector.

EDUCATION

UC Leuven Limburg

BSc Applied Computer Science · 2022–2025

FIRST AI PROJECT

Ecofoodmap · n8n → code-native

CURRENT MODEL

Orchestrator, not writer

$ hugo --archive

  • prospect-enginenext.js · prisma · KBO datashelved
  • telegram-botpython · telegram apishipped
  • agent-orchestratorpython · langgraphresearch
  • ais-webscraperpython · playwrightshipped
  • youtube-summarizerpython · openaishipped

$ hugo --contact

$exit
[ done ]