# 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 · Status: live · Role: Initiator / AI engineer Tags: LLM, Writing, Marketing, Python, VectorDB Stack: Azure OpenAI, Python, Agentic programming, VSCode ### In short An AI-powered writing assistant for the editorial team of a large public-sector organization. The tool rewrites text into a clear, error-free message that meets the organization's style guide, word lists, style rules and accessibility requirements (B1 level). One consistent house style for the whole editorial team — while sensitive data stays inside the organization's own environment. ### Problem At an organization with one of the most-visited websites in the Netherlands, which sends millions of letters a year, writing is a core task. Editors have to deliver text that meets a style guide, word lists, style rules and accessibility requirements. Generic AI tools (ChatGPT, Copilot) fall short for this: - No knowledge of the house style or tone of voice - Generic suggestions without the organization's context - Inconsistent output across different prompts - Privacy concerns with sensitive company and personal data ### Approach I helped shape a custom AI writing assistant from the ground up. We worked in close co-creation with members of the editorial team. Early on there was suspicion and resistance; as we collaborated more closely and delivered results, trust and adoption grew. The solution runs inside the organization's own environment (an internal URL like `schrijfhulp.intranet.nl`), so even commercially sensitive and personal data never leaves the organization. ### How it works The user pastes a text; the assistant analyzes it and returns a rewritten version per sentence, with remarks. Examples from the demo — a Dutch-language tool (original → rewritten): - "Door de afgelopen week ben ik beezig geweest met het ontwikelen van een nieuwe AI-gestuerde schrijfhulp tool." → "Vorige week werkte ik aan het maken van een nieuwe AI-gestuurde schrijfhulptool." (simpler, B1, spelling fixes, compound word) - "…zodat je profesioneler overkomt in je communicatie." → split into two sentences, "professioneler" corrected (clarity + spelling) - "Vervolgens geeft hij suggesties…" → "Vervolgens geeft de tool suggesties…" (clearer reference) The output appears as a table with three columns: **Original sentence · Rewritten sentence · Remarks**. **Benefits:** | Benefit | Explanation | |---|---| | 🔒 Data security | Also for commercially sensitive and personal data; everything stays in your own environment | | ⚡ Efficiency | Instant result, ready while you wait | | 🎯 Consistency | A style guide is interpreted differently by everyone; AI does it consistently | | 📚 Word lists | Enforce jargon — or deliberately avoid it | | 👥 B1 level | Write so the average reader can follow it easily | | ✨ Everyone can do it | Turns every employee into a good writer | > "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 API provider - 🐍 **Python** — backend - 🤖 **Agentic programming** — AI architecture pattern - 💻 **VSCode** — IDE - 🔎 **Vector database** — surfaces the style guide and word lists for the tool ### Status **Live** — custom client project 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 · 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-powered writing assistant that helps professionals create engaging LinkedIn content and strengthen their personal brand. The promise: *"Generate months of LinkedIn content in minutes."* Produce months of content in just a few minutes, while keeping your own voice and style. ### Problem Professionals struggle with consistent, engaging content on LinkedIn: - Lack of time for regular content creation - Writer's block and lack of inspiration - Uncertainty about what resonates with the audience - Difficulty finding the right tone of voice - Inconsistent posting frequency hurts visibility ### Approach A smart writing assistant that speeds up and improves content creation: - AI-generated content based on proven templates - Topic suggestions from keywords - Personalization based on the LinkedIn profile - Support for English and Dutch - Preserves your personal voice and style **UX design process:** | Phase | Activities | |---|---| | Research & Discovery | Analysis of LinkedIn posting patterns, user interviews with content creators, competitive analysis, performance data | | Design & Prototyping | Minimalist/clean design, focus on speed, iterative UI/UX, A/B testing of features | | AI Integration | Training on successful posts, continuous model improvement, personalization algorithms, quality assurance | ### How it works **Content generation** - AI-generated posts based on keywords - Proven templates for different content types - Personalization based on the LinkedIn profile - Adjustable tone of voice - Multilingual support (EN/NL) - Real-time preview and editing **Content strategy** - Topic suggestions and brainstorming - Content calendar planning - Performance insights *(coming soon)* - Audience engagement tracking - Best practices and tips - Content diversification advice ### Impact & results | Figure | Meaning | |---|---| | 10× | Faster content creation | | 7 days | Free trial period | | 2 languages | English and Dutch | | ∞ | Content possibilities | ### Tech & stack - **Frontend & UX**: modern React interface, real-time content preview, responsive design, fast load times - **AI & Backend**: advanced language models, continuous learning pipeline, secure API architecture, scalable cloud infrastructure ### Key takeaways 1. **AI as assistant, not replacement** — users want to stay in control of their content. 2. **Speed is essential** — professionals have little time; every second counts. 3. **Context and personalization** — generic content doesn't work; personalization is crucial. 4. **Continuous improvement** — LinkedIn algorithms change constantly; the tool must keep up. ### Status **Live** — 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 · Status: live · Role: Product Manager · Client: bQurius Tags: Mobile App, Product Management, Design Thinking ### In short An employee app for the horticulture sector, focused on employee satisfaction, productivity and collaboration. My role: **product manager**. The app is now live and used by thousands of workers in horticulture. ### The story With my roots in the Westland region, the MyWorq assignment was a home game. I was asked to join the Data team of **bQurius** as product manager, to help develop an innovative employee app specifically for the horticulture sector. I worked closely with a colleague to map users' needs: the team leaders in the greenhouses and the people working in them. Once we had outlined the app, we looked for a software agency to build it. After 2 years I handed the role over to the colleague I had worked with all along. The app is now live and used by thousands of workers in the horticulture sector. Proud of this project! ### Problem The horticulture sector faces specific challenges around workforce management: - High staff turnover and hard-to-find personnel - Complex planning due to seasonal work - Language barriers with international workers - Lack of digital tools for field workers - Inefficient communication between management and operational staff ### Solution A user-friendly employee app, designed specifically for horticulture: - Intuitive interface in multiple languages - Real-time work planning and task management - Direct communication between teams and supervisors - Gamification elements for higher engagement - Integration with existing HR and planning systems ### Way of working 1. 🔍 **Research** — conversations with customers to understand needs and pain points 2. ✏️ **Sketching** — sketching what a new feature could look like 3. 🎨 **Designing** — working the idea into a prototype with a UX/UI designer 4. 💻 **Building** — the software engineers build the feature into the app 5. 🧪 **Testing** — thoroughly testing the new feature 6. 🚀 **Rollout** — rolling out the updated app to users 7. 🔄 **Iterate** — analyze data, gather feedback, and the process starts again ### Role & stack This is a **product-management case**, not an in-house development project: the app was built by an external software agency. My contribution was in research, product definition, design thinking and steering the build process. There is therefore no own tech stack to list. ### Status **Live** — the app is in production and used by thousands of workers in the horticulture sector. Role handed over after 2 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 throughline: 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.