HUGO.CHARMIES(1)
PRODUCTION
$ hugo --whoami
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
$ hugo --featured








$ hugo --next
kalai COMING SOON
iOS calorie tracker, camera-first, sub-10-second logging.
Swift 6 · SwiftUI · Vision · SwiftData
sports-event-hub COMING SOON
Started as an airsoft hub. Reframing to a hub for any local sports event.
Next.js · TBD
$ hugo --stack
AI / AGENTIC
────────────
PRODUCT ENGINEERING
────────────
INFRASTRUCTURE
────────────
$ hugo --takes
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.
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.
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
$ hugo --contact
$ open ~/projects/vanity-handle-bot
HUGO.BOT(1)
STACK
Python · python-telegram-bot · pyrogram · aiohttp · aiosqlite · Docker
01 / 04
The brief. An operator client runs a marketplace for good-looking handles across Telegram, Discord, YouTube, Instagram. He needed a bot to take ad submissions, an approval workflow, a way to publish to the right channel, and a clean admin surface his operator self could actually use.
02 / 04
What I shipped. A conversational submission flow on Telegram with a proper state machine, an admin approval pipeline that DMs the submitter on accept or reject, automated publication to the marketplace channels with rich formatting, a web admin for the operator to manage everything from a real UI instead of bot buttons. Live in production with real buyers and sellers.
03 / 04
The architectural detail I'd point at. Telegram has two kinds of clients, bots and user-accounts. Bots get a clean API but are restricted in where and how they can publish. User-accounts can post anywhere but don't have the bot UX surface. The bot here uses python-telegram-bot for the conversation and inline buttons. The publisher uses pyrogram as a logged-in user-account, in the same process, to actually post listings to channels with the formatting Telegram bots can't do. Two clients, one process, each picked for what only it can do. Plus an aiohttp server inside the bot for the web admin to call.
04 / 04
Why this is here. It's outside my usual stack. I live in TypeScript and Next.js. This is Python, async, two Telegram client types, a marketplace moderation workflow. Range across platforms, not just across languages. The frontend I show on other projects is what I do most. This is what I do when the problem doesn't fit it.
SCREENSHOTS
$ Operator's name kept private. Bot live, ads circulating.