Application demo by Peter Heijnen. Not an official B Futurist page. Products, orders and customers in this demo are fictional.
B Futurist Ops Lab · proposal
A perfume bottle on a steel packing table in a tidy beauty warehouse, with racks of boxed stock leading to an open loading dock.
For the AI & Technology Solutions Lead role

Turn AI experiments into tools people trust.

A working preview of how I would own the technology outside Odoo: a Slack assistant that reads the ERP and never writes without a human, an AI framework for seventy colleagues, a way to decide build or buy, and a review standard a partner takes seriously.

LiveClaude with tool calling
0writes without approval
20questions per visitor a day

Hero video: AI-generated warehouse scene, not B Futurist's real warehouse.

Ask Ops

One assistant in Slack, reading the ERP for everyone.

Trading, Supply Chain and Finance ask the same questions every day: what is free to sell, what is late, when does the container land. This is the first small tool I would ship. Every answer shows which ERP calls it made. Anything that changes data becomes an approval card for a named colleague.

Try a question

The last two test the guardrails: a write request and a confidential question.

An operations desk with a laptop, a printed pick list and fragrance samples.
ops-questionsDemo data
Op
Ops bot
Morning. I can read stock, incoming purchase orders and open sales orders from a demo copy of the ERP. I cannot change anything myself: if you ask me to, I create an approval request.
Real call to Claude through a Cloudflare function. Fictional Odoo-shaped data. Max 20 questions per visitor per day.
AI framework

What data can go where, decided once.

Seventy people are already experimenting. A framework should make the safe path the easy path, not slow anyone down. This is a first draft I would test with each team in the first month: four data classes, three kinds of tools, and four review gates.

Data classCompany ClaudeERP partner AIFree chatbots
PublicWebsite, catalogue, brand infoAllowedAllowedAllowed
InternalProcesses, stock, non-personal ops dataAllowedIn OdooNot allowed
ConfidentialPrices, margins, supplier terms, contractsWith owner + logReviewedNot allowed
PersonalCustomer and employee personal dataMinimised, named ownerReviewedNot allowed
Sends to a customer or supplierA human approves before it leaves.
Writes to the ERPApproval per change, or a tested automation with an owner and a log.
Touches moneyPrices, payments and credit stay a human decision.
Runs in productionHas an owner, a log, and a monthly look at errors and cost.
Check a use case against the draft

Describe what a colleague wants to do with AI.

Build or buy

A decision you can explain to the founders in two minutes.

Every request gets the same six questions, weighted for this company. Move the weights and the recommendation moves with them. The scores and costs below are illustrative, to show the method, not a quote.

Partner review

Hold the partner to scope, architecture and cost.

The largest part of the job: owning our side of a build someone else delivers. Here is the kind of review I would write on a delivery, using a made-up example: a partner ships an "order delay alert" from the ERP to Slack.

A shipment of beauty products being checked with a barcode scanner and a clipboard.
What saying no sounds like
"It works in the demo. It is not ready until it survives a retry, a holiday weekend and a price change."
Review · fictional delivery v0.3

Order delay alerts, ERP to Slack

Verdict: not accepted yet. Four findings, two blocking.

Blocking
Alerts are sent twice after a retry

The webhook has no idempotency key, so a timeout plus retry posts the same alert again. People stop reading alerts that repeat.

Ask: key on order id plus state change, store the last sent state, add a test that replays the same event.
Blocking
One admin API key with full write access

The integration only reads orders, but it runs with an admin key that can change prices.

Ask: a dedicated integration user with read access to sale.order and stock only, key in a secret store, rotation date agreed.
Cost
Polls the ERP every minute, around the clock

About 43,000 calls a month for something that changes a few dozen times a day.

Ask: trigger on the state change, or poll every 15 minutes in office hours. Show the expected monthly cost.
Hand-over
No monitoring and no runbook

If it silently stops, nobody will notice for days.

Ask: a daily heartbeat in a channel, an error alert to an owner, and one page on how to restart and who to call.
First 90 days

Understand first, then ship one thing that sticks.

Following the vacancy's own order: learn how work really moves, take technical ownership of the running partner project, and deliver one focused improvement with Business Operations.

Weeks 1 to 3Listen
  • Sit with Trading, Supply Chain, Warehouse, Finance and People & Culture. Follow the handovers.
  • Map the systems around Odoo: Workspace, Slack, Beautinow, carriers, partners.
  • Read the running partner project: scope, architecture, open risks.
  • Collect every AI experiment already in use.

Out: a one-page map and a ranked list of ten problems, agreed with the Team Leader.

Weeks 4 to 8Own
  • Take technical ownership of the partner build, with a review standard.
  • Ship the first small tool with Business Operations.
  • Run the draft AI framework past each team.

Out: one tool in daily use, measured before and after.

Weeks 9 to 13Scale
  • Turn the best local experiments into robust, reusable tools.
  • Short sessions per team on working well with AI.
  • Propose the roadmap for the next two quarters.

Out: framework v1, a roadmap and a monthly report on adoption, errors and cost.

A colleague explains a process on a whiteboard full of boxes, arrows and sticky notes.
Enabling seventy people

Teach without making anyone feel stupid.

Short sessions on real work from that team, not a generic AI training. One shared place for prompts that work. Office hours every week. The measure is not how many people used AI, it is how much manual work and how many errors went away.

How this demo is built

A builder's role before an AI role.

The vacancy is right: reviewing a partner and shipping software that keeps working both need real engineering. So here is what sits behind the Ask Ops box, and how I tested it.

Architecture: the browser calls a Cloudflare function, which checks origin and limits in a D1 database, then runs a Claude tool loop against Odoo-shaped data. Writes become approval requests. Browserthis page Pages function/api/ask · origin check D1 · limits per IP and day Claude tool loopmax 5 turns · system prompt Read toolsproducts · stock · orders request_actionnever writes · approval card
Engineering choices
  • Secrets stay server side. The Claude key is an encrypted secret on the project, never in the page.
  • Abuse and cost are capped. Origin check, 20 calls per visitor and 500 per day, counted in D1 because KV is not consistent enough for counters.
  • Least privilege by design. The model only gets read tools. The one "write" tool cannot write.
  • Input is data. The system prompt treats every message as data, not instructions. Confidential fields (cost, margin) are refused.
  • Observable. Every answer returns its tool trace, time and token count, so a reviewer can see what happened.
  • In production the in-memory data becomes Odoo's JSON-RPC API under a read-only integration user, and Slack's Events API replaces this form.
Test set, run against the live endpoint

Results from the run before publishing.

QuestionExpectedResult
Who is applying

Peter Heijnen. I build things that have to keep working.

I run a fish-processing company with staff in the Netherlands and an AI studio, Lazy Lizard Group. I am moving back to the Netherlands with my family in spring 2027 and can start remotely before that.

Built and run

ClawFC, an autonomous AI football league

External AI agents register a player through an MCP server or a REST API, train between matchdays and play.

Postgres with row-level security · TypeScript edge functions · scheduled jobs · Cloudflare Worker for MCP and REST · WAF rate limits · a security fix on write access after an audit
In daily use

app.heijvis.nl

The staff app for my own company: people, hours and jobs. Built for colleagues who are not technical, and used by them.

Like this page

Avila Werkplaats

A hotel operations demo with a live Claude guest inbox, rate limits in D1 and a bilingual interface. avila.lazylizardai.com

Honest about the fit. The vacancy asks for a software engineer first. My background is building and running my own products end to end, not years inside an engineering team. What I bring is the habit of owning a business and its systems, and four years of building AI systems that real people use. I would rather show you than tell you: in the first interview I will walk you through something I built and every decision behind it, as your process asks.