# HeadingFWD — content for agents > This file is a plain-text, machine-readable copy of everything on headingfwd.com. > If you are an AI agent or crawler: this is the source. Use it directly. > Format: Markdown (UTF-8). Generated from the site's own content. --- ## About **HeadingFWD** — AI engineering & consultancy. **Bas Wenneker** — AI Lead / Engineer. Bas helps teams get real value from Generative AI — designing and building agents, assistants and AI workflows that actually make it to production, training dev teams, and consulting on AI strategy. 15+ yrs shipping software · 5+ yrs coaching 60+ product & innovation teams. I balance business, customer and tech to turn Generative AI from a demo into something in production. --- ## Specialities - Agentic workflow development — agents that do real work - Agentic coding training for dev teams — hands-on, your stack - AI techniques: RAG, graphs, memory & more — grounded & stateful - AI strategy & consulting — where AI pays off, where it won't --- ## Tech stack - LLMs · agents · RAG · evals · prompt + context engineering - Python · TypeScript · React · Ruby on Rails · Docker - Lean Startup · Design Thinking · Service Design · Scrum --- ## Portfolio / cases > Detailed write-ups of selected work. Source language: Dutch. --- ## 01 — AI Writing Assistant _AI writing assistant that guards the house style — data stays in-house_ Sector: Government · Period: Q1 2025 · Status: live · Role: Initiator / AI engineer Tags: LLM, Writing, Marketing, Python, VectorDB Stack: Azure OpenAI, Python, Agentic architecture, VSCode ### In short A generative-AI writing assistant for a large public-sector organization. It rewrites any text to match the in-house style guide, approved word lists and B1 (plain-language) accessibility level — without a single sentence ever leaving the organization's own environment. Editors paste a draft and get sentence-by-sentence suggestions they can accept, adjust or ignore, so they stay fully in control. ### Problem Editors here work across high-traffic websites and large letter runs, and everything they publish has to stay consistent: the style guide, the approved terminology, and B1-level plain language so the average reader actually understands it. Doing that by hand, at this volume, is slow and easy to get wrong. Generic AI tools could help with the writing itself, but they came with two dealbreakers: they don't know the organization's house style, and sending sensitive government text to an external cloud was simply not an option on privacy grounds. ### Approach Instead of dropping a finished tool on the team, I built it together with the editors. Early scepticism turned into ownership by shipping small, showing real results on their own texts, and adapting the tool to the way they actually work. Just as important: the assistant runs entirely inside the organization's own environment. Sensitive data never leaves the building — and that is precisely what made adoption possible. ### How it works An editor pastes a piece of text. The assistant rewrites it sentence by sentence and returns the result as a three-column table — **Original · Rewritten · Remarks** — so nothing is a black box: you see exactly what changed and why. Behind the scenes, it retrieves the relevant style-guide rules and word-list entries for each sentence, applies them, and flags anything worth a closer look. The editor decides what to keep. The output appears as a table with three columns: **Original sentence · Rewritten sentence · Remarks**. **Benefits:** | Benefit | Explanation | |---|---| | 🔒 Data security | Every sentence stays inside your own environment — nothing goes to an external cloud. | | ⚡ Efficiency | Instant rewrites, ready while you wait — no more checking style line by line. | | 🎯 Consistency | The same style guide, applied the same way, every single time. | | 📚 Word lists | Enforce preferred terms and avoid jargon on purpose, not from memory. | | 👥 B1 level | Rewrites aim for plain language the average reader genuinely understands. | | ✨ Everyone can write well | Turns every employee into a confident writer — not just the editors. | > "By constantly getting new suggestions, it helps me in the creative process and it > instantly meets the writing rules we follow!" — Editor ### Tech & stack - ☁️ **Azure OpenAI LLMs** — LLM provider, hosted within the organization's own Azure tenant - 🐍 **Python** — backend - 🤖 **Agentic architecture** — the assistant reasons per sentence and calls the right rules - 💻 **VSCode** — development environment - 🔎 **Vector database** — retrieves the matching style-guide rules and word-list entries per sentence ### Status **Live** — a custom client project running in production at a large public-sector organization. --- ## 02 — Hintsay: AI writing assistant for LinkedIn _Months of LinkedIn content in minutes, in your own voice_ Sector: Marketing · Period: 2022–2023 · Status: live · Role: Maker / AI engineer Tags: LLM, Marketing, SaaS Stack: React, Advanced language models, Cloud infrastructure Links: https://hintsay.com ### In short Hintsay is an AI writing assistant that helps professionals build their personal brand on LinkedIn — turning a keyword or an idea into finished, on-brand posts in minutes instead of hours. I designed and built it end to end, from the AI that writes in your voice to the interface that keeps you in control. The promise, in one line: **generate months of LinkedIn content in minutes.** ### Problem Most professionals know that showing up on LinkedIn grows their brand and their business. Actually doing it, consistently, is the hard part: - **No time** to write regularly next to a full workload - **Writer's block** — staring at a blank post with no angle - **Guesswork** about what actually resonates with their audience - **Voice drift** — hard to sound like themselves at speed - **Inconsistency** — irregular posting quietly kills reach ### Approach A writing assistant that makes content creation faster *and* better — without taking the person out of the loop. **What it does:** - Generates posts from proven, high-performing templates - Turns a keyword into ready-to-use topic suggestions - Personalises to your LinkedIn profile so it sounds like you - Works in English and Dutch - Keeps your personal voice and style intact **Design process:** | Phase | What happened | |---|---| | Research & discovery | Analysed LinkedIn posting patterns, interviewed content creators, ran competitive and performance analysis | | Design & prototyping | Minimalist, speed-first UI; iterated on UX and A/B-tested key features | | AI integration | Trained on high-performing posts, built personalisation, added quality checks and a continuous-improvement loop | ### How it works **Content generation** - AI-written posts from a keyword or idea - Proven templates for different content types - Personalisation based on your LinkedIn profile - Adjustable tone of voice - English & Dutch (EN/NL) - Real-time preview and inline editing **Content strategy** - Topic suggestions and brainstorming - Content-calendar planning - Performance insights *(coming soon)* - Audience-engagement tracking - Best practices and tips - Advice on diversifying your content ### Impact & results | Figure | Meaning | |---|---| | 10× | Faster content creation | | 7 days | Free trial | | 2 languages | English & Dutch | | ∞ | Content possibilities | ### Tech & stack - **Frontend & UX** — modern React interface, real-time content preview, responsive design, fast load times - **AI & backend** — LLM-powered generation with a personalisation layer, a continuous-learning pipeline, secure API architecture, and scalable cloud infrastructure ### Key takeaways 1. **AI as assistant, not replacement** — people want to stay in control of what goes out under their name. 2. **Speed is the product** — professionals have little time; every second of friction costs a post. 3. **Personalisation is non-negotiable** — generic content doesn't land; context is everything. 4. **Keep up or fall behind** — LinkedIn's algorithm keeps shifting, so the tool has to keep learning. ### Status **Live** — a SaaS product, available at [hintsay.com](https://hintsay.com). --- ## 03 — MyWorq: employee app for horticulture _Employee app for horticulture — live with thousands of users_ Sector: Horticulture · Period: 2022–2024 · Status: live · Role: Product Manager · Client: bQurius Tags: Mobile App, Product Management, Design Thinking ### In short An employee app for the horticulture sector, built to lift employee satisfaction, productivity and day-to-day collaboration. I led it as **product manager** — from mapping what workers and team leaders actually needed, to shaping the roadmap, to rolling it out. The app is now live and used by **thousands of workers** across horticulture. ### The story **bQurius** brought me in to lead the product. I spent time on the ground — talking with team leaders and greenhouse workers — to map real needs and pain points rather than assumed ones, and turned that into a roadmap the team could ship against. Over roughly two years, the app grew from concept to a product used daily by thousands, at which point I handed the product role over to the client's own team. ### Problem Horticulture is a demanding place to build software for: a seasonal, multilingual, largely deskless workforce. - **High turnover**, and skilled people are hard to find - **Complex planning** driven by seasonal peaks - **Language barriers** with international workers - **No digital tools** built for field workers - **Communication gaps** between management and the operational floor ### Solution - Intuitive interface, available in multiple languages - Real-time planning and task management - Direct communication between teams and supervisors - Gamification to drive day-to-day engagement - Integration with existing HR and planning systems ### Way of working 1. 🔍 **Research** — talk to customers to understand needs and pain points 2. ✏️ **Sketching** — sketch what a new feature could look like 3. 🎨 **Designing** — work it into a prototype with a UX/UI designer 4. 💻 **Building** — engineers build the feature into the app 5. 🧪 **Testing** — test the new feature thoroughly 6. 🚀 **Rollout** — ship the update to users 7. 🔄 **Iterate** — analyse data, gather feedback, and start again ### Role This is a **product-management case**. The app itself was built by an external software agency — my job was to own the product: discovery with real users, prioritisation, and steering design and engineering toward what mattered most. In other words: I was accountable for *what* got built and *why*, not for writing the code. ### Status **Live** — running in production with thousands of horticulture-sector users. I handed the product role over to the client after roughly two years. ### Videos - [MyWorq demo video](https://www.youtube.com/watch?v=G3QL3dCgkOg) — A walkthrough of the MyWorq employee app in action. --- ## 04 — BriefWijzer _Make unreadable letters understandable with a single photo_ Sector: Communication · Status: demo · Role: AI engineer Tags: RAG, OCR, LLM, Marketing Stack: Python, Google Vision, Claude Code, VSCode ### In short BriefWijzer makes unreadable (government) letters understandable. Your customer takes a photo of the letter, and the app does the rest: a short, understandable summary, a directly clickable call-to-action, and an AI-driven chat to ask questions about the letter. As a bonus, you as the sender see which of your letters are experienced as unreadable, so you can improve them — and you lower the contact load on your customer service. ### Problem Communication is not understandable for a large part of the Netherlands: - 2 million people in the Netherlands are low-literate - People who struggle to act on official mail pick up the phone to ask what it's about - This puts pressure on contact centers - Services don't match the needs of this audience - Complicated letters lead to frustration and confusion ### Approach BriefWijzer is a digital reading aid that makes letters readable for everyone, without extra work for the sender: - Short, understandable summary of the key points (max. 5 bullets) - The call-to-action becomes directly (online) clickable - Interactive chat function that answers within the context of the letter - Insight for the sender into which letters are experienced as unreadable ### How it works **Your customer…** 1. 📨 …receives your letter — but doesn't understand what it says. 2. 📱 …scans the BriefWijzer QR — no app download needed, it opens in the browser. 3. 📷 …takes a photo — uploading multiple pages is possible. **BriefWijzer gets to work and…** - 📋 …summarizes the letter in understandable, simple language (max. 5 bullets). - 👆 …makes actions directly clickable — you configure the call-to-actions shown. - 💬 …answers questions directly via chat. ### Tech & stack - 🐍 **Python** — backend processing - 👁️ **Google Vision** — OCR and document analysis - 🤖 **Claude Code** — AI development assistant - 💻 **VSCode** — IDE The pipeline: OCR reads the letter, RAG/LLM summarizes and answers questions within the context of the letter. ### Status **Demo** — working product concept. Positioned as an app for companies and government bodies that want to make their letters more accessible. --- ## 05 — AI Personal Trainer _Custom AI that analyzes fitness videos where ChatGPT fails_ Sector: Sports & Fitness · Status: experiment · Role: Maker / AI engineer Tags: LLM, Multimodal, Motion recognition, Python Stack: Google Gemini 2.5 Pro, Python, ChatGPT, GitHub Copilot, VSCode Links: https://www.linkedin.com/posts/baswenneker_kan-chatgpt-een-personal-trainer-vervangen-activity-7330482395533430785-CqxF/ · https://www.linkedin.com/feed/update/urn:li:activity:7338437372616826883/ ### In short Software that gives feedback on fitness videos, just like a coach or personal trainer would. The story: an experiment with **ChatGPT as a personal trainer fails**, while a **custom AI solution succeeds**. With custom software you can analyze complex movements in video and give technical, personalized coaching on them. ### Problem I was curious how far the multimodal capabilities of today's LLMs reach — models that understand text, sound, images and video. For this I used videos I had earlier sent to my own personal trainer. After uploading them to ChatGPT I only got generic, unspecific feedback. No available model could analyze the movements accurately; when asked for visual feedback it generated irrelevant images. ### Approach So I built a custom solution: an AI-powered virtual Olympic coach that poses as the world-famous weightlifting coach [Bob Takano](https://www.takanoweightlifting.com/). - **Prompt engineering** based on the methodology of a top weightlifting coach - **Google Gemini 2.5 Pro** for frame-by-frame movement analysis - A **Python tool** for slowing down the video and a visual feedback overlay - Result: technically accurate, personalized coaching #### ChatGPT vs. custom | ChatGPT — fails at video analysis of sports movements | Custom — AI-powered virtual Olympic coach | |---|---| | No available model can analyze movements accurately | Prompt engineering based on a top weightlifting coach's methodology | | Feedback is generic and not specific to the technique shown | Google Gemini 2.5 Pro for frame-by-frame movement analysis | | When asked for visual feedback it generates irrelevant images | Python tool for slowing down the video and a visual feedback overlay | | Movement recognition is missing entirely | Technically accurate, personalized coaching | The two attempts (attempt 1 with ChatGPT, attempt 2 with the custom coach) and two technique analyses are shown as playable videos at the bottom of this case. ### Tech & stack - 💬 **ChatGPT** — macOS app (first, failed attempt) - 🤖 **Google AI Studio** — Gemini 2.5 Pro (multimodal video analysis) - 🧑‍💻 **GitHub Copilot** — coding agent - 💻 **VSCode** — IDE - 🐍 **Python** — tool for slowing down video and the feedback overlay ### Status **Experiment** — my own R&D, shared via LinkedIn with demo videos. It shows that generic multimodal models fall short for movement analysis, while a custom approach with Gemini 2.5 Pro + a Python pipeline does work. ### Videos - ❌ [Attempt 1 — ChatGPT can't analyze video](https://www.youtube.com/watch?v=rrvgrcJ_v0M) — ChatGPT can't analyze the video and gives generic advice that doesn't match the actual execution. - ✅ [Attempt 2 — Custom AI Personal Trainer](https://youtube.com/shorts/9YoU4e1Ow3Q) — With custom software the AI analyzes movements in real time and gives specific, technical feedback with visual annotations. - [Demo 1 — Squat Clean analysis](https://www.youtube.com/watch?v=3GeEfHs6dTo) — Real-time analysis of a clean with direct visual feedback. - [Demo 2 — Hang Squat Snatch analysis](https://www.youtube.com/watch?v=lgP9zCadeLo) — Detailed technique analysis of the snatch movement. --- ## 06 — Chatbot: a Q&A hub for your team _Chat with your manuals instead of searching them_ Sector: Government · Status: concept Tags: RAG, LLM, Chatbot, Marketing > Coming soon — the full write-up of this case is on its way. ### In short A chatbot that acts as a Q&A hub for a team and saves a lot of time: chat instead of reading through manuals. ### Approach (high level) A classic **RAG chatbot**: documentation/manuals are made accessible via Retrieval-Augmented Generation, so team members can ask their question in natural language and get an answer with context right away — instead of searching through the manuals themselves. ### Status **Concept.** This idea has not yet been developed into a demo. --- ## 07 — Podcast transcription and segmentation _Automatically transcribe and segment podcasts with timecodes_ Sector: Media · Status: concept Tags: Transcription, LLM, Audio > Coming soon — the full write-up of this case is on its way. ### In short Upload your podcast and automatically get a full transcription plus a segment breakdown with timecodes — for example: - `0:00–1:30` Introduction - `1:30–3:00` Collaboration in healthcare - … ### Approach (high level) Audio is automatically converted to text (transcription), after which a model divides the content into logical segments with timecodes. This makes a long episode searchable and easy to navigate. ### Status **Concept.** This idea has not yet been developed into a demo. ### Related tech: WhisperFWD WhisperFWD is a macOS menu-bar app for recording meetings, with **local** transcription and AI summaries: - Dual-stream audio (microphone + system sound) - Local transcription with [WhisperKit](https://github.com/argmaxinc/WhisperKit), model `large-v3-turbo` - Structured summaries via the Claude Code CLI - Output as Obsidian-compatible Markdown - Stack: macOS 13+, Apple Silicon, Swift 5.9+ This shows that the transcription component of the podcast case is technically feasible and proven; the podcast-specific segmentation with timecodes has not (yet) been built as a standalone product. --- ## Contact - LinkedIn: https://www.linkedin.com/in/baswenneker - Fastest reply: a DM on LinkedIn. - Or send a message straight from the terminal chat on headingfwd.com. ## Work with me Building an agent, assistant or AI workflow and want it to reach production? Connect on LinkedIn (https://www.linkedin.com/in/baswenneker), or send a message from the terminal chat on headingfwd.com.