<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Klemens Wisser</title><link>https://klemens-wisser.de/en/posts/</link><description>Recent content in Blog on Klemens Wisser</description><generator>Hugo</generator><language>de</language><lastBuildDate>Thu, 07 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://klemens-wisser.de/en/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>gws-slides-cli: What I Built and How I Built It</title><link>https://klemens-wisser.de/en/posts/gws-slides-cli-what-i-built-and-how-i-built-it/</link><pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate><guid>https://klemens-wisser.de/en/posts/gws-slides-cli-what-i-built-and-how-i-built-it/</guid><description>&lt;h2 id="why-i-built-gws-slides-cli"&gt;
 Why I built gws-slides-cli
 &lt;a class="heading-link" href="#why-i-built-gws-slides-cli"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link zu Überschrift"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link zu Überschrift&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I wanted a workflow that lets me work with Google Slides not only manually, but also in an agentic and reproducible way. The goal was a CLI that sits on top of &lt;code&gt;gws&lt;/code&gt; but is more robust and ergonomic for real deck production work.&lt;/p&gt;
&lt;p&gt;The priorities were clear:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;repeatable slide operations instead of one-off snippets,&lt;/li&gt;
&lt;li&gt;agent-friendly JSON output,&lt;/li&gt;
&lt;li&gt;and a clean development loop with &lt;code&gt;uv&lt;/code&gt;, &lt;code&gt;python3&lt;/code&gt;, and explicit guardrails.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-i-actually-built"&gt;
 What I actually built
 &lt;a class="heading-link" href="#what-i-actually-built"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link zu Überschrift"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link zu Überschrift&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;gws-slides-cli&lt;/code&gt; is structured as a single Python package (&lt;code&gt;src/gws_slides_cli/&lt;/code&gt;) with centrally registered Click commands.&lt;/p&gt;</description></item><item><title>Hindsight: My Self-Hosted Knowledge Graph for Personal Knowledge Management</title><link>https://klemens-wisser.de/en/posts/hindsight-self-hosted-knowledge-graph/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://klemens-wisser.de/en/posts/hindsight-self-hosted-knowledge-graph/</guid><description>&lt;h2 id="what-is-hindsight"&gt;
 What is Hindsight?
 &lt;a class="heading-link" href="#what-is-hindsight"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link zu Überschrift"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link zu Überschrift&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/vectorize-io/hindsight" class="external-link" target="_blank" rel="noopener"&gt;Hindsight&lt;/a&gt; is an open-source knowledge graph from &lt;strong&gt;Vectorize.io&lt;/strong&gt; that functions as a personal knowledge management system. At its core, Hindsight stores information as linked facts in a graph, enriches them with embeddings, and makes them searchable via an LLM-powered API. You can think of it as a &amp;ldquo;Second Brain&amp;rdquo; – a system that absorbs knowledge, links it, and makes it retrievable when needed.&lt;/p&gt;</description></item></channel></rss>