Marc Roelofs

Marc Roelofs

Growth Marketer

I help organizations grow with digital marketing. For over 20 years, I've worked across industries — from transport to consumer goods, from construction to healthcare IT, from startups to corporates. I deliver strategies and execute them.

+31 687 909 381 info@marcroelofs.com Amersfoort (NL) & Sainte Marie la Mer (F) LinkedIn ↗
Marketing Manager Feb 2026 — Present
Be-Responsible
Marketing Manager Jun 2022 — Jan 2026
NEXUS Nederland · Vianen
Leading digital marketing strategy transformation in a hybrid role.
Marketing Consultant May 2006 — Present
Self-employed
Strategic and tactical marketing across sectors. Inbound, ABM and digital transformation for organisations of all sizes.
Career Coach Mar 2020 — Jun 2022
De Werkmeester
Product Manager Mar 2000 — May 2006
Groupe SEB
Managing brands including Nespresso and Tefal across European markets.
Commercial Specialist May 1995 — Apr 2000
Royal BAM Group

Brand & Growth Strategy Conversion Rate Optimization Marketing Tech & Automation Full-Funnel Content Creation Inbound Marketing Account-Based Marketing Digital Transformation
Postgraduate Coaching 2018 — 2020
Atma Institute
Postgrad. International Marketing 2004 — 2005
Groupe SEB University
BSc Business Management Law 1988 — 1994
HAN University of Applied Sciences
HubSpot Marketing Software NIMA B Marketing Zilveren Effie — Jun 2005
Dutch Native
English Proficient
French Conversational
Personal project

HAL — Personal AI Assistant

A self-built AI agent running 24/7 on my own server

While the world debates AI assistants, I built one. HAL is a fully autonomous AI agent connected to my entire digital life — mail, calendar, tasks, news, smart home, notes, voice — running proactively in the background without being asked. It communicates through Signal, the messaging app I already use every day.

It started with a teenage obsession with this video.

Apple Knowledge Navigator 1987

Apple Knowledge Navigator, 1987 — watch on YouTube. A vision of a proactive AI assistant, nearly 40 years before it was technically possible.

A professor. A tablet. An AI that rescheduled meetings, found people, made calls — without being asked. That demo was fiction in 1987. I'm building the real version now, not as a prototype, but as a daily tool I depend on.

What makes HAL different

"The shift isn't from dumb to smart. It's from reactive to proactive — from 'tell me what to do' to 'let me handle it.'"

— the design principle behind HAL

What HAL does — proactively

Every morning
  • 07:30 — agenda overview (Google + Outlook combined)
  • 09:00 — workflow health check: did everything run?
  • 10:00 — top 10 news from 44 RSS feeds, curated by Claude
  • 10:00 — new PS5 games with Metacritic 85+
Throughout the day
  • 30 min before every meeting — prep briefing with context
  • Within 10 seconds of a new Calendar event — conflict check
  • 12:00 — midday agenda update
  • 18:00 — entertainment overview: cinema, streaming, games
Every evening
  • 22:00 — email digest: Gmail + iCloud combined
  • 22:00 — day summary with reminders from long-term memory
Event-driven
  • New calendar event → immediate conflict detection
  • Important email detected → instant Signal alert
  • Workflow failure → immediate notification
  • System health degraded → alert before I notice

What HAL does — on request

How it works

You send a message via Signal (text or voice) → n8n receives the webhook, validates sender against whitelist → Qdrant retrieves relevant memory: past conversations, preferences, context → Claude Sonnet analyses intent, selects the right tool, executes → Result delivered via Signal — or proactive workflows fire on their own

Real examples

Proactive — meeting prep

"You have a call in 15 minutes. Last time you discussed the Q3 campaign — open point: budget approval. Two action items in Todoist flagged for this person."

Proactive — conflict detection

I add a dentist appointment on Tuesday at 14:00. Ten seconds later: "Heads up — you already have a quarterly review in Outlook from 13:30–15:00. Want to reschedule one of them?"

Contextual understanding

"Remind Stephan about what we agreed." HAL retrieves the relevant memory, drafts a message referencing the specific prior decision, and asks for confirmation before sending.

Personalised filtering

After marking 3 AI strategy articles as interesting, the briefing stops surfacing generic AI news and starts prioritising enterprise AI adoption and agent frameworks — without any explicit instruction.

On request

"HAL, what's on my agenda this week and do I have any overdue tasks?" → Combined view of both calendars and Todoist, priorities ranked, in under 4 seconds.

The server

HAL runs on a Lenovo ThinkCentre M720Q — a fanless mini PC the size of a thick paperback. Six-core i5-9400T, 16.6 GB RAM, running Ubuntu 24.04.4 LTS. Small enough to sit behind a monitor, powerful enough to run 20 Docker containers simultaneously.

All containers are managed via Portainer on top of Docker Engine 29.1.3. Six Docker Compose stacks organise everything by function:

Home Assistant runs alongside Mosquitto (MQTT broker for IoT) and a Matter server for Thread/Matter smart home protocol support. All device states and automations are accessible to HAL via the Home Assistant REST API.

Memory — how HAL remembers

Standard LLMs have no memory between conversations. HAL solves this with Qdrant, a vector database running locally on the server.

When something meaningful happens — a conversation, a decision, a preference — n8n converts it into a vector embedding: ~1500 numbers encoding the semantic meaning of that text. Qdrant stores them. When HAL needs context, it runs a similarity search: "what do I know that's semantically related to this?" — retrieving the most relevant memories in milliseconds, regardless of how they were phrased originally. Not keyword search. Meaning search.

Long-term notes live in Obsidian, synced via Nextcloud WebDAV. HAL can read, write and append to any note — including updating its own knowledge base mid-conversation.

The interface — why Signal

Signal is end-to-end encrypted, runs on every device, and has a well-documented REST API via signal-cli. No new app, no new habit. HAL lives where I already communicate. Inbound messages pass a whitelist check, attach relevant memory context, and go to Claude. For voice: an iPhone Shortcut records audio, Whisper transcribes it, HAL responds — identical to typing.

The AI layer — Claude

HAL uses Anthropic's Claude Sonnet 4.6. Claude interprets intent, decides which tools to invoke, handles multi-step tasks and composes the final response. For real-time information, Claude uses built-in web search rather than cached data. Most interactions cost fractions of a cent. The bottleneck is latency, not cost.

n8n workflows

Communication (8)
  • Signal Inbox
  • Signal Send
  • Whitelist Responder
  • Schedule Message
  • Inbox Vector Log
AI & Memory (7)
  • Claude Bridge
  • Memory Search
  • Lesson Logger
  • Vision Analyzer
  • Voice App
Calendar (5)
  • Agenda Monitor
  • Meeting Prep
  • Conflict Check
  • Agenda Reminder
  • Event Verify
Mail (6)
  • Email Daily Report
  • Importance Checker
  • Gmail Fetch / Send
  • iCloud Mail Read
  • iCloud Mail Sync
News & Briefings (8)
  • Daily RSS Briefing
  • Entertainment Briefing
  • Film & Game Overview
  • Metacritic PS5 Check
  • News Summary
Notes & Storage (8)
  • Obsidian Write
  • Obsidian Read
  • Obsidian Append
  • Obsidian Manager
  • HAL Map → Qdrant
Tasks (5)
  • Todoist Fetch
  • Todoist Create
  • Todoist Close
  • Apple Reminders
  • Periodic Reminders
Monitoring (4)
  • System Health Check
  • Workflow Health Check
  • Signal Queue Check
  • Bridge Health
Smart Home (3)
  • Home Assistant Bridge
  • Entity Search
  • Daily Report 22:00
Marketing (6)
  • Post Generator
  • RSS Triage
  • Google Ads Import
  • LinkedIn Ads Import
  • Content → Qdrant

Stack

n8n (self-hosted) Claude Sonnet 4.6 Signal / signal-cli Qdrant (vector DB) Nextcloud (WebDAV) Home Assistant Google Calendar & Gmail Outlook / Exchange ICS Todoist API Obsidian vault ElevenLabs TTS Whisper STT Tailscale VPN Puppeteer Portainer Caddy Mosquitto MQTT Pi-hole MariaDB Ubuntu 24.04 LTS

By the numbers

100+active workflows
44RSS sources
20Docker containers
24/7own server uptime
0extra subscriptions

Interested in how this works, or want to explore something similar for your organisation? Send me a message or find me on LinkedIn.