All Posts

  • Leveraging AI Personas for Comprehensive Document Feedback

    Receiving timely and relevant feedback is crucial for improving content quality. Recently, a colleague mentioned how beneficial it would be to have “personas on demand” for feedback. This sparked an idea to create a system that could provide detailed evaluations from multiple perspectives. This was a perfect opportunity to use my local LLM setup to provide immediate feedback on a Redbooks publication that was just released yesterday, the IBM z17 Technical Introduction.

  • Creating a Powerful Document Processing App with DocRAG

    In today’s data-driven world, managing and processing documents efficiently is crucial. One of the most common challenges is converting PDFs into formats that are easily searchable and integrable with Local Language Models (LLMs). This blog post details how I used Cursor to create an app called DogRAG, which allows you to convert PDFs into markdown, txt, and JSON files for easy Retrieval-Augmented Generation (RAG) using your local LLM system.

  • From PDFs to Personalized AI: Building a Custom RAG System for IBM Redbooks

    In the world of enterprise IT, technical documentation is both invaluable and overwhelming. IBM Redbooks, the gold standard for in-depth technical guides on IBM products, contain thousands of pages of expert knowledge. But how do we transform these static PDFs into dynamic, queryable knowledge bases? Today, I’d like to share a journey of building a custom Retrieval-Augmented Generation (RAG) system specifically for IBM technical documentation. This project demonstrates how modern AI techniques can unlock the knowledge trapped in technical PDFs and make it accessible through natural language queries. The Challenge: Unlocking Technical Knowledge IBM Redbooks are comprehensive technical guides, often hundreds of pages long, covering complex systems like IBM Z mainframes, cybersecurity solutions, and enterprise storage. These documents are treasure troves of information but present several challenges:

  • Google AI Mode vs. Perplexity: A Comparison for Flask Documentation

    Google recently launched their experimental AI Mode in Search, and as someone working on a BeeAI framework project with Flask as a front end, I wanted to compare how Google’s new offering stacks up against Perplexity when searching for Flask information.

  • Building a Recipe Creator with BeeAI Framework: A Comprehensive Tutorial

    In this tutorial, we’ll build a practical multi-agent system using the BeeAI framework that can create recipes based on user-provided ingredients. Our Recipe Creator will demonstrate how specialized agents can work together to accomplish a complex task.

  • From Idea to Implementation: Building a Recipe Creator with BeeAI - A Development Journey

    In this tutorial, I’ll share the iterative process of developing a Recipe Creator application using the BeeAI framework. Rather than presenting a polished, final product, I want to walk through the actual development journey that Claude (my AI coding partner) and I embarked on together. We practiced what I like to call “vibe coding” - a collaborative process where I guided the conceptual direction while Claude helped implement and troubleshoot the technical details. This post highlights the challenges we faced, the solutions we discovered, and the insights we gained along the way as a human-AI coding team.

  • Day 5: Enhancements with enumerate and f-strings

    Today, I’m taking the to-do list application to the next level by adding the ability to mark tasks as complete. Let’s dive into the code and explore the new concepts.

  • Day 4 Deep Dive: Enhancing Our To-Do List with Data Type Conversion, List Manipulation, and Variable Updates

    Day 4 of my Python programming journey brought exciting new features to our to-do list application. Today, we added the ability to edit existing to-do items, which required a deeper understanding of data type conversion, list manipulation, and variable updates.

  • Navigating the AI Wave: Career Choices and the Future of Knowledge Work

    In a recent interview on Hardfork, hosted by Kevin Roose and Casey Newton, Dario Amodei from Anthropic shared some profound insights about the future of work in the age of AI. As someone who creates content by interacting with engineering teams at IBM Redbooks, I found his perspectives both enlightening and somewhat unsettling.

  • Enhancing My Blog's Homepage with Claude: A Journey in Layout Design

    Today I completely revamped my blog’s homepage with help from Claude (Anthropic’s AI assistant). While my previous layout was functional, it had become increasingly cluttered as I added more posts. I needed a solution that would make navigation easier while maintaining the clean, professional look of my Jekyll-based site.

  • Adding Disqus Comments to My GitHub Pages Blog

    Today I successfully added comments to my GitHub Pages blog with help from Claude (Anthropic’s AI assistant). While my blog was built with static pages using Jekyll and the Minima theme, I wanted to enable readers to engage with my content through comments. Here’s how I implemented Disqus comments on my site.

  • Day 3 Mastery: Enhancing Our To-Do List with Match-Case, Break Statements, and For-Loops

    Day 3 brought new challenges and insights. Today, I enhanced my to-do list app by incorporating match-case statements, break statements, and for-loops. These additions not only made the application more interactive but also introduced me to powerful control structures in Python.

  • Day 2 Deep Dive: Enhancing Our To-Do List with While Loops, Indentation, and Methods

    Building on the foundations we laid down on Day 1, today I dove deeper into Python by enhancing our simple to-do list application. The goal was to make it more interactive and dynamic. This led me to explore while loops, indentation, and methods—crucial concepts in Python programming.

  • Day 1 Wrap-Up: Learning Python Basics with a Simple To-Do List

    As I embark on my journey to learn Python, I find myself both excited and challenged by the language’s simplicity and power. Day 1 is a classic beginner project: creating a simple to-do list application. This exercise helped me grasp some fundamental concepts in Python programming.

  • Unveiling the Magic: How Large Language Models Handle Conversations

    When I first started interacting with large language models (LLMs) like those powering Claude and Gemini, I was struck by how seamlessly they maintained context in conversations. It felt as if the model remembered our entire exchange, allowing for a natural back-and-forth dialogue. However, this perception is an illusion—one that masks a fascinating mechanism behind the scenes.

  • Unleashing AI Power at Home: Ollama, Open WebUI, and DeepSeek-R1

    I don’t know anyone who isn’t talking about DeepSeek right now. If you’d like to try it for yourself, then you can use the app - it’s overtaken ChatGPT to become the #1 free app in the App Stores. But why not run it locally, on your own system? This guide will walk you through setting up two essential components: Ollama and Open WebUI, introduce the DeepSeek project, and explore the benefits of running AI locally.

  • Running OpenWebUI with Podman: A Corporate-Friendly LLM Setup

    While setting up local LLMs has become increasingly popular, many of us face restrictions on corporate laptops that prevent using Docker. Here’s how I successfully set up OpenWebUI using Podman on my IBM-issued MacBook, creating a secure and IT-compliant local AI environment.

  • The Productivity Dilemma: Why More Speed Isn't Always the Answer

    Lately, I’ve been watching some videos from Matthew Berman and I’ve realy enjoyed them. They’re great deep dives into various AI topics.

  • Setting Up My Personal AI Writing Assistant: A Local LLM Journey

    In an era where AI assistance has become increasingly valuable for content creation and editing, I recently embarked on setting up my own local AI infrastructure. By running language models directly on my hardware, I’ve created a personalized writing assistant and copy editor that’s both private and accessible throughout my home network.

  • Building My Blog with Jekyll and Claude

    Today marks the beginning of “A Human in the Loop” - my new blog about exploring technology and creative development. I thought it fitting that my first post should detail how I built this blog, especially since I used AI (specifically Claude) to help me through the process.