<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Stephan Coertzen</title>
    <description>The latest articles on Forem by Stephan Coertzen (@jfscoertzen).</description>
    <link>https://forem.com/jfscoertzen</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F846259%2F67d178fe-7bd3-407a-8f78-cf127544a890.jpeg</url>
      <title>Forem: Stephan Coertzen</title>
      <link>https://forem.com/jfscoertzen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/jfscoertzen"/>
    <language>en</language>
    <item>
      <title>ChatGPT Desktop Client for Linux</title>
      <dc:creator>Stephan Coertzen</dc:creator>
      <pubDate>Fri, 06 Mar 2026 09:35:22 +0000</pubDate>
      <link>https://forem.com/jfscoertzen/chatgpt-desktop-client-for-linux-28al</link>
      <guid>https://forem.com/jfscoertzen/chatgpt-desktop-client-for-linux-28al</guid>
      <description>&lt;p&gt;If you're a Linux desktop user, you probably noticed something annoying.&lt;/p&gt;

&lt;p&gt;There isn’t really a good native ChatGPT desktop client for Debian-based distributions like Ubuntu, Linux Mint, Pop!_OS, etc.&lt;/p&gt;

&lt;p&gt;Yes, you can always:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use the browser&lt;/li&gt;
&lt;li&gt;Create a PWA&lt;/li&gt;
&lt;li&gt;Use unofficial wrappers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But most of these either feel clunky, are outdated, or don’t integrate well with the Linux desktop experience.&lt;/p&gt;

&lt;p&gt;So I decided to build one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The idea&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I wanted something simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A lightweight desktop wrapper&lt;/li&gt;
&lt;li&gt;That works well on Linux desktops&lt;/li&gt;
&lt;li&gt;And can be installed easily with .deb packages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was not to reinvent ChatGPT, but simply provide a clean desktop experience.&lt;/p&gt;

&lt;p&gt;So I built a small Electron-powered ChatGPT client.&lt;/p&gt;

&lt;p&gt;👉 GitHub repo:&lt;br&gt;
&lt;a href="https://github.com/jfscoertzen/ChatGPT-client" rel="noopener noreferrer"&gt;https://github.com/jfscoertzen/ChatGPT-client&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The client provides a simple desktop experience for ChatGPT:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Native Linux desktop application&lt;/li&gt;
&lt;li&gt;Debian package support (.deb)&lt;/li&gt;
&lt;li&gt;Works on Ubuntu, Linux Mint, and other Debian-based distros&lt;/li&gt;
&lt;li&gt;Simple Electron wrapper&lt;/li&gt;
&lt;li&gt;Runs ChatGPT in an isolated desktop window&lt;/li&gt;
&lt;li&gt;No browser tabs required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It behaves like a proper desktop app instead of just another tab.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Electron?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Electron makes it straightforward to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Package a web application&lt;/li&gt;
&lt;li&gt;Create native desktop windows&lt;/li&gt;
&lt;li&gt;Distribute binaries easily&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since ChatGPT is already a web interface, Electron is actually a very practical solution here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If you're on a Debian-based distro:&lt;/li&gt;
&lt;li&gt;Download the .deb from the GitHub releases.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Install it with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo dpkg -i chatgpt-client.deb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or with apt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install ./chatgpt-client.deb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then launch it from your applications menu.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I made this&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I use ChatGPT constantly while working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;backend systems&lt;/li&gt;
&lt;li&gt;Linux infrastructure&lt;/li&gt;
&lt;li&gt;development tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Opening it in a browser tab always felt a bit messy.&lt;/p&gt;

&lt;p&gt;I wanted something that behaves like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slack&lt;/li&gt;
&lt;li&gt;Discord&lt;/li&gt;
&lt;li&gt;VS Code&lt;/li&gt;
&lt;li&gt;Any other proper desktop tool&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now ChatGPT lives as its own desktop application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contributing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you want to improve the project or add features, contributions are welcome.&lt;/p&gt;

&lt;p&gt;Repo:&lt;br&gt;
&lt;a href="https://github.com/jfscoertzen/ChatGPT-client" rel="noopener noreferrer"&gt;https://github.com/jfscoertzen/ChatGPT-client&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ideas for future improvements could include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;system tray support&lt;/li&gt;
&lt;li&gt;global shortcuts&lt;/li&gt;
&lt;li&gt;multi-account support&lt;/li&gt;
&lt;li&gt;better packaging&lt;/li&gt;
&lt;li&gt;Closing thoughts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Linux desktops deserve good first-class developer tools, and sometimes that means building the missing pieces ourselves.&lt;/p&gt;

&lt;p&gt;This project is a small step toward making ChatGPT feel like a native Linux app instead of just another browser tab.&lt;/p&gt;

&lt;p&gt;If you're a Linux user, give it a try and let me know what you think.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Introducing spec-kit: Spec-Driven Development + Ollama &amp; OpenRouter Integration</title>
      <dc:creator>Stephan Coertzen</dc:creator>
      <pubDate>Mon, 15 Sep 2025 09:27:29 +0000</pubDate>
      <link>https://forem.com/jfscoertzen/introducing-spec-kit-spec-driven-development-ollama-openrouter-integration-1m2</link>
      <guid>https://forem.com/jfscoertzen/introducing-spec-kit-spec-driven-development-ollama-openrouter-integration-1m2</guid>
      <description>&lt;p&gt;Hey folks,&lt;/p&gt;

&lt;p&gt;I’ve been working on some enhancements to spec-kit&lt;br&gt;
, and I’m excited to share them with you. These updates bring in CLI, Ollama, and OpenRouter support to supercharge spec-driven dev workflows.&lt;/p&gt;

&lt;p&gt;🔍 What is spec-kit?&lt;/p&gt;

&lt;p&gt;Spec-kit is a toolkit for Spec-Driven Development, helping developers go from idea → spec → implementation with better alignment and iterative clarity.&lt;/p&gt;

&lt;p&gt;It supports:&lt;/p&gt;

&lt;p&gt;Multiple AI coding agents (Claude Code, Gemini CLI, GitHub Copilot, Cursor, etc.)&lt;/p&gt;

&lt;p&gt;Cross-stack / tech independence: not tied to one language or framework&lt;/p&gt;

&lt;p&gt;Lightweight requirements (Python 3.11+, Git, Linux/macOS or WSL2 on Windows, and an AI agent)&lt;/p&gt;

&lt;p&gt;✨ What I’ve added&lt;/p&gt;

&lt;p&gt;With my contributions, spec-kit now also allows:&lt;/p&gt;

&lt;p&gt;CLI support: run spec-kit directly from the terminal&lt;/p&gt;

&lt;p&gt;Ollama integration: use local LLMs as backend agents&lt;/p&gt;

&lt;p&gt;OpenRouter support: connect to multiple hosted models with one interface&lt;/p&gt;

&lt;p&gt;This means you can now choose fully local, fully cloud, or hybrid workflows.&lt;/p&gt;

&lt;p&gt;🚀 Core CLI Commands&lt;/p&gt;

&lt;p&gt;Here are some of the most useful commands to try out:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Specify your project
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;speckit specify
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use AI to flesh out your requirements and specs. This is where ideas become structured, testable specifications.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate a plan
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;speckit plan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Automatically generate a high-level plan of implementation steps from your specs.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Break down into tasks
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;speckit tasks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Turn your plan into actionable development tasks — perfect for managing iterations and team work.&lt;/p&gt;

&lt;p&gt;⚡ Example with Ollama &amp;amp; OpenRouter&lt;/p&gt;

&lt;h1&gt;
  
  
  Run a spec using a local Ollama model
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;speckit specify "Write a todo list application" --ai ollama
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Or use OpenRouter to run via a hosted model
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;speckit plan "Tech Stack: Docker, MongoDB, React, Vite, NodeJS" --ai openrouter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;💡 Why this matters&lt;/p&gt;

&lt;p&gt;Faster prototyping → from raw idea to structured plan in minutes&lt;/p&gt;

&lt;p&gt;Flexible model choice → local (Ollama) or hosted (OpenRouter)&lt;/p&gt;

&lt;p&gt;Better workflows → specs drive planning and tasking, not just ad-hoc coding&lt;/p&gt;

&lt;p&gt;👀 What’s next&lt;/p&gt;

&lt;p&gt;I’d love feedback on:&lt;/p&gt;

&lt;p&gt;Other LLM providers to support&lt;/p&gt;

&lt;p&gt;How you’re using Ollama / OpenRouter in practice&lt;/p&gt;

&lt;p&gt;Improvements for the CLI flow (esp. specify → plan → tasks pipeline)&lt;/p&gt;

&lt;p&gt;Contributions and ideas are very welcome 🙌&lt;/p&gt;

&lt;p&gt;👉 Try it here: &lt;a href="https://github.com/jfscoertzen/spec-kit#" rel="noopener noreferrer"&gt;https://github.com/jfscoertzen/spec-kit#&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>opensource</category>
      <category>news</category>
    </item>
    <item>
      <title>New Here!</title>
      <dc:creator>Stephan Coertzen</dc:creator>
      <pubDate>Tue, 12 Apr 2022 12:55:40 +0000</pubDate>
      <link>https://forem.com/jfscoertzen/new-here-1lf8</link>
      <guid>https://forem.com/jfscoertzen/new-here-1lf8</guid>
      <description>&lt;p&gt;Hi there! I'm new here! Please checkout my new git repo that I'm working on: &lt;a href="https://github.com/jfscoertzen/HTON"&gt;https://github.com/jfscoertzen/HTON&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
