<?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>DEV Community: Cody Marsengill</title>
    <description>The latest articles on DEV Community by Cody Marsengill (@cod-e-codes).</description>
    <link>https://dev.to/cod-e-codes</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%2F3383450%2Fd74aca98-29af-434c-9e3b-a127a6ad2224.jpg</url>
      <title>DEV Community: Cody Marsengill</title>
      <link>https://dev.to/cod-e-codes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cod-e-codes"/>
    <language>en</language>
    <item>
      <title>marchat v0.5.0-beta.2 Release Announcement</title>
      <dc:creator>Cody Marsengill</dc:creator>
      <pubDate>Sun, 31 Aug 2025 13:59:46 +0000</pubDate>
      <link>https://dev.to/cod-e-codes/marchat-v050-beta2-release-announcement-27dg</link>
      <guid>https://dev.to/cod-e-codes/marchat-v050-beta2-release-announcement-27dg</guid>
      <description>&lt;p&gt;We are pleased to announce the release of &lt;strong&gt;marchat v0.5.0-beta.2&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Updates in This Release
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Extended Message Limit&lt;/strong&gt;: Messages can now be up to 2000 characters, allowing for longer, uninterrupted conversations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved Help System&lt;/strong&gt;: Press &lt;code&gt;Ctrl+H&lt;/code&gt; to access a dedicated help screen with all keyboard shortcuts documented.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plugin Enhancements&lt;/strong&gt;: Plugin checksum validation is fixed, and the registry now automatically selects the correct binary for your platform.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-Platform Installation&lt;/strong&gt;: A single install script is available for Linux, macOS, Windows, and Android/Termux, with configuration files stored in OS-appropriate directories.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This release also includes various technical improvements and backward compatibility fixes for encryption and keystore handling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Download and Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/Cod-e-Codes/marchat" rel="noopener noreferrer"&gt;https://github.com/Cod-e-Codes/marchat&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Release&lt;/strong&gt;: &lt;a href="https://github.com/Cod-e-Codes/marchat/releases/latest" rel="noopener noreferrer"&gt;https://github.com/Cod-e-Codes/marchat/releases/latest&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker Hub&lt;/strong&gt;: &lt;a href="https://hub.docker.com/r/codecodesxyz/marchat" rel="noopener noreferrer"&gt;https://hub.docker.com/r/codecodesxyz/marchat&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pull Latest Docker Image&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker pull codecodesxyz/marchat:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>cli</category>
      <category>go</category>
      <category>docker</category>
      <category>programming</category>
    </item>
    <item>
      <title>marchat v0.3.0-beta.4 — Terminal Chat With Plugins, Encryption, and Docker Support</title>
      <dc:creator>Cody Marsengill</dc:creator>
      <pubDate>Fri, 15 Aug 2025 14:47:38 +0000</pubDate>
      <link>https://dev.to/cod-e-codes/marchat-v030-beta4-terminal-chat-with-plugins-encryption-and-docker-support-1d33</link>
      <guid>https://dev.to/cod-e-codes/marchat-v030-beta4-terminal-chat-with-plugins-encryption-and-docker-support-1d33</guid>
      <description>&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; 15 Aug 2025&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; marchat is now fully beta 0.3.0, featuring remote plugin loading, end-to-end encryption, flexible TLS options, and a Docker image for easy deployment.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What's New in v0.3.0-beta.4:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plugins:&lt;/strong&gt; Registry integration fixed. Plugins can now be loaded directly from GitHub releases. Added &lt;code&gt;MARCHAT_PLUGIN_REGISTRY_URL&lt;/code&gt; environment variable for custom registries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TLS Support:&lt;/strong&gt; Client-side verification bypass flag &lt;code&gt;--skip-tls-verify&lt;/code&gt; for development and self-signed certificates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;End-to-End Encryption:&lt;/strong&gt; Messages can now be sent fully encrypted using the &lt;code&gt;--e2e&lt;/code&gt; flag. Keys are scoped per conversation for maximum isolation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configuration Enhancements:&lt;/strong&gt; Environment variables and server config updated to support plugins, ban history gaps, and TLS options.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker Image:&lt;/strong&gt; &lt;code&gt;codecodesxyz/marchat:v0.3.0-beta.4&lt;/code&gt; ready for deployment. Compatible with previous volumes, no migration required.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Technical Improvements:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server: CLI help extended to show new options, registry paths are fully configurable.&lt;/li&gt;
&lt;li&gt;Client: TLS options configured on WebSocket dialer, integrated E2E encryption, improved decryption error handling.&lt;/li&gt;
&lt;li&gt;Plugin Registry: Echo plugin updated with correct GitHub release URLs and metadata.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Getting Started:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Server:&lt;/strong&gt; &lt;code&gt;./marchat-server&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client:&lt;/strong&gt; &lt;code&gt;./marchat-client --skip-tls-verify --server wss://localhost:8080/ws&lt;/code&gt; (for self-signed TLS)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enable Encryption:&lt;/strong&gt; &lt;code&gt;./marchat-client --e2e&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plugin Store:&lt;/strong&gt; &lt;code&gt;:store&lt;/code&gt; inside chat; install plugins with &lt;code&gt;:plugin install &amp;lt;name&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Docker:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-it&lt;/span&gt; &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:8080 codecodesxyz/marchat:v0.3.0-beta.4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Next Steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Expand plugin ecosystem.&lt;/li&gt;
&lt;li&gt;Improve Docker setup with volume and network examples.&lt;/li&gt;
&lt;li&gt;Continue stabilizing E2E encryption and TLS workflow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the &lt;a href="https://github.com/Cod-e-Codes/marchat/releases/tag/v0.3.0-beta.4" rel="noopener noreferrer"&gt;full release notes&lt;/a&gt; for a detailed changelog and download links.&lt;/p&gt;

</description>
      <category>cli</category>
      <category>docker</category>
      <category>go</category>
      <category>devops</category>
    </item>
    <item>
      <title>A full-featured terminal chat app in just 6 MB — with mobile support</title>
      <dc:creator>Cody Marsengill</dc:creator>
      <pubDate>Mon, 11 Aug 2025 13:09:06 +0000</pubDate>
      <link>https://dev.to/cod-e-codes/a-full-featured-terminal-chat-server-in-just-6-mb-with-mobile-support-1jn8</link>
      <guid>https://dev.to/cod-e-codes/a-full-featured-terminal-chat-server-in-just-6-mb-with-mobile-support-1jn8</guid>
      <description>&lt;p&gt;Built with Go, deployable anywhere&lt;/p&gt;

&lt;p&gt;Just wrapped some real-world testing of &lt;strong&gt;marchat&lt;/strong&gt;, my terminal-native chat app.&lt;br&gt;&lt;br&gt;
A user ran the server in Docker while clients connected 60–70 miles away through an nginx reverse proxy — no hiccups.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance at a glance:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Server:&lt;/strong&gt; ~6 MB RAM
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Android client (Termux):&lt;/strong&gt; 30–45 MB RAM, ~5% CPU
&lt;/li&gt;
&lt;li&gt;File sharing: smooth, even over the distributed setup
&lt;/li&gt;
&lt;li&gt;Reverse proxy setup guide coming soon
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why it stands out:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Self-hosted with SQLite (PostgreSQL/MySQL support planned)
&lt;/li&gt;
&lt;li&gt;Real E2E encryption (X25519 / ChaCha20-Poly1305)
&lt;/li&gt;
&lt;li&gt;Works on mobile via Termux
&lt;/li&gt;
&lt;li&gt;Plugin-friendly for custom features
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s been running for a week straight without a crash — perfect for dev teams who want to skip Slack’s bloat or run something anywhere, from servers to phones.  &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File Sharing&lt;/th&gt;
&lt;th&gt;Theme Switching&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FCod-e-Codes%2Fmarchat%2Fblob%2Fmain%2Fassets%2Fmobile-file-transfer.jpg%3Fraw%3Dtrue" width="1080" height="2340"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FCod-e-Codes%2Fmarchat%2Fblob%2Fmain%2Fassets%2Ftheme-switching.jpg%3Fraw%3Dtrue" width="1080" height="2340"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;marchat running on Android via Termux, demonstrating file transfer through reverse proxy and real-time theme switching&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Cod-e-Codes/marchat" rel="noopener noreferrer"&gt;https://github.com/Cod-e-Codes/marchat&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Docker:&lt;/strong&gt; &lt;a href="https://hub.docker.com/r/codecodesxyz/marchat" rel="noopener noreferrer"&gt;https://hub.docker.com/r/codecodesxyz/marchat&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;Running something similar? Drop your setup in the comments — I’d love to see it.&lt;/p&gt;

</description>
      <category>terminal</category>
      <category>go</category>
      <category>docker</category>
      <category>chat</category>
    </item>
    <item>
      <title>How I Built My 12.8 KB Terminal-Themed Portfolio Site (and Template)</title>
      <dc:creator>Cody Marsengill</dc:creator>
      <pubDate>Thu, 07 Aug 2025 13:20:58 +0000</pubDate>
      <link>https://dev.to/cod-e-codes/how-i-built-my-128-kb-terminal-themed-portfolio-site-and-template-52om</link>
      <guid>https://dev.to/cod-e-codes/how-i-built-my-128-kb-terminal-themed-portfolio-site-and-template-52om</guid>
      <description>&lt;p&gt;Most personal sites are overengineered. I wanted something lean, fast, and fun—so I built my own tiny web template that powers my portfolio and weighs in at just &lt;strong&gt;12.8 KB&lt;/strong&gt; total.&lt;/p&gt;

&lt;p&gt;This post explains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why I built it&lt;/li&gt;
&lt;li&gt;How it works&lt;/li&gt;
&lt;li&gt;How you can use it&lt;/li&gt;
&lt;li&gt;What happened after I launched&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Problem with Modern Personal Sites
&lt;/h2&gt;

&lt;p&gt;You know the story: framework bloat, 2MB+ bundles, SPAs for a static page with a headshot and 4 links. It feels unnecessary.&lt;/p&gt;

&lt;p&gt;I wanted a site that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Loads instantly, even on slow connections&lt;/li&gt;
&lt;li&gt;Works without JS (mostly)&lt;/li&gt;
&lt;li&gt;Looks like a terminal (because I live in one)&lt;/li&gt;
&lt;li&gt;Uses &lt;strong&gt;only&lt;/strong&gt; vanilla HTML, CSS, and a bit of JS&lt;/li&gt;
&lt;li&gt;Can be repurposed easily by others&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Enter: &lt;code&gt;lilweb-template&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/Cod-e-Codes/lilweb-template" rel="noopener noreferrer"&gt;Cod-e-Codes/lilweb-template&lt;/a&gt;&lt;br&gt;
Demo: &lt;a href="https://cod-e-codes.github.io/lilweb-template" rel="noopener noreferrer"&gt;cod-e-codes.github.io/lilweb-template&lt;/a&gt; &lt;em&gt;(deployed on GitHub Pages)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This template is a no-framework, no-build-step, ultra-lightweight web starter with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Terminal-themed aesthetic (monospace, green-on-black, blinking cursor)&lt;/li&gt;
&lt;li&gt;All CSS and JS inline inside &lt;code&gt;index.html&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;JS fetches GitHub API data (repos, stars, etc.)&lt;/li&gt;
&lt;li&gt;Easily configurable via a small inline config object&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything lives in a single &lt;code&gt;index.html&lt;/code&gt;. No external stylesheets, no external scripts. That's it.&lt;/p&gt;

&lt;p&gt;And thanks to its minimal footprint, it scores &lt;strong&gt;100/100 on all Lighthouse metrics&lt;/strong&gt;—even on &lt;strong&gt;low-end mobile devices&lt;/strong&gt; over &lt;strong&gt;slow 4G connections&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Own Site: A Real-World Demo
&lt;/h2&gt;

&lt;p&gt;My portfolio &lt;a href="https://cod-e-codes.com" rel="noopener noreferrer"&gt;cod-e-codes.com&lt;/a&gt; uses the template, with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live repo data from GitHub&lt;/li&gt;
&lt;li&gt;A list of open source tools I built&lt;/li&gt;
&lt;li&gt;No frameworks, libraries, or trackers&lt;/li&gt;
&lt;li&gt;Fully static and cacheable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All in under 13KB total size.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F47qmoh303i2azn9ruz5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F47qmoh303i2azn9ruz5q.png" alt="Terminal-style portfolio showing GitHub projects and about info on a desktop." width="800" height="627"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fctrzh3iqzrl8z6buey71.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fctrzh3iqzrl8z6buey71.jpg" alt="Responsive terminal-themed portfolio displaying projects on a mobile device." width="800" height="1733"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Happened When I Posted It to Hacker News
&lt;/h2&gt;

&lt;p&gt;On August 6, I shared the template on &lt;a href="https://news.ycombinator.com/item?id=44806827" rel="noopener noreferrer"&gt;Hacker News&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Show HN: Minimal terminal-style portfolio template (~13KB) with GitHub API data&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I linked the GitHub repo and mentioned my own site as a live demo at the top.&lt;/p&gt;

&lt;h3&gt;
  
  
  Results (so far):
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;300+ unique visitors&lt;/strong&gt; to my personal site within 24 hours&lt;/li&gt;
&lt;li&gt;GitHub stars and clones increased&lt;/li&gt;
&lt;li&gt;Some traffic trickled into my portfolio from the demo&lt;/li&gt;
&lt;li&gt;I haven’t received feedback from other developers yet&lt;/li&gt;
&lt;li&gt;No signs of adoption or forks so far&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Still, not bad for a zero-dependency web page!&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Worked
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The site is &lt;strong&gt;authentic&lt;/strong&gt;—I use it myself.&lt;/li&gt;
&lt;li&gt;It solves a real problem: bloated personal sites.&lt;/li&gt;
&lt;li&gt;The repo is immediately usable.&lt;/li&gt;
&lt;li&gt;It looks different (terminal aesthetic stands out).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Want to Use It?
&lt;/h2&gt;

&lt;p&gt;Getting started is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fork the repo: &lt;a href="https://github.com/Cod-e-Codes/lilweb-template" rel="noopener noreferrer"&gt;lilweb-template&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Customize it using the &lt;a href="https://github.com/Cod-e-Codes/lilweb-template#readme" rel="noopener noreferrer"&gt;README&lt;/a&gt; and &lt;a href="https://github.com/Cod-e-Codes/lilweb-template/blob/main/TEMPLATE_GUIDE.md" rel="noopener noreferrer"&gt;TEMPLATE_GUIDE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Deploy it on GitHub Pages, Netlify, or any static host&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Done. No build step, no framework, no nonsense.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;I’m planning to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add simple theming (light/dark toggle?)&lt;/li&gt;
&lt;li&gt;Support more social links (Mastodon, etc.)&lt;/li&gt;
&lt;li&gt;Help others fork and showcase their versions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you try it, let me know—I'd love to see what you build.&lt;/p&gt;




&lt;p&gt;Thanks for reading! You can find me at &lt;a href="https://cod-e-codes.com" rel="noopener noreferrer"&gt;cod-e-codes.com&lt;/a&gt; or GitHub: &lt;a href="https://github.com/Cod-e-Codes" rel="noopener noreferrer"&gt;@Cod-e-Codes&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>opensource</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>marchat v0.2.0: Terminal Chat Now With Plugins and Encryption</title>
      <dc:creator>Cody Marsengill</dc:creator>
      <pubDate>Wed, 06 Aug 2025 23:21:39 +0000</pubDate>
      <link>https://dev.to/cod-e-codes/marchat-v020-terminal-chat-now-with-plugins-and-encryption-9fg</link>
      <guid>https://dev.to/cod-e-codes/marchat-v020-terminal-chat-now-with-plugins-and-encryption-9fg</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fylwak4df22hwqs0eya7f.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fylwak4df22hwqs0eya7f.gif" alt="marchat server starting, showing the banner and clients connecting/disconnecting" width="756" height="607"&gt;&lt;/a&gt;  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9zao5g22c6hnc258zc5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9zao5g22c6hnc258zc5.gif" alt="marchat client connecting, sending and receiving messages, showing mentions, and exiting" width="756" height="607"&gt;&lt;/a&gt;A lot has changed since I first introduced &lt;a href="https://dev.to/cod-e-codes/introducing-marchat-a-real-time-terminal-based-chat-app-in-go-3188"&gt;marchat&lt;/a&gt;.&lt;br&gt;
What started as a minimalist, terminal-first group chat has evolved into a more secure, extensible platform for real-time messaging — still fully self-hosted and still built for the command line.&lt;/p&gt;

&lt;p&gt;This update brings plugin support, optional end-to-end encryption, a revamped admin system, and better deployment tooling.&lt;/p&gt;


&lt;h2&gt;
  
  
  What’s New in v0.2.0-beta.3
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Plugin ecosystem (&lt;code&gt;:plugin&lt;/code&gt;, &lt;code&gt;:store&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Optional end-to-end encryption (X25519/ChaCha20-Poly1305)&lt;/li&gt;
&lt;li&gt;Docker and Docker Compose support&lt;/li&gt;
&lt;li&gt;New admin commands: &lt;code&gt;:ban&lt;/code&gt; and &lt;code&gt;:kick&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;SQLite-based local persistence with improved config handling&lt;/li&gt;
&lt;li&gt;Updated themes, user list display, and security hardening&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;marchat is a self-hosted, terminal-based group chat application designed for developers who prefer the command line. It offers real-time messaging over WebSockets, a full-featured TUI client, and optional encryption — all backed by a local SQLite database.&lt;/p&gt;

&lt;p&gt;It now supports a plugin system that makes it easy to extend the experience with community-built enhancements like ANSI image sharing, text filters, or custom commands.&lt;/p&gt;


&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Terminal UI&lt;/td&gt;
&lt;td&gt;Built with Bubble Tea, fully keyboard-navigable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Real-time Chat&lt;/td&gt;
&lt;td&gt;WebSocket-based, low-latency communication&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Plugin System&lt;/td&gt;
&lt;td&gt;Install via &lt;code&gt;:plugin install&lt;/code&gt;, browse with &lt;code&gt;:store&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E2E Encryption&lt;/td&gt;
&lt;td&gt;Optional encryption with X25519/ChaCha20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File Sharing&lt;/td&gt;
&lt;td&gt;Transfer files up to 1MB using &lt;code&gt;:sendfile&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Admin Controls&lt;/td&gt;
&lt;td&gt;Kick, ban, wipe database, manage users&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Docker Support&lt;/td&gt;
&lt;td&gt;Run easily with Docker or Docker Compose&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cross-platform&lt;/td&gt;
&lt;td&gt;Linux, macOS, and Windows binaries available&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;You can get started using prebuilt binaries or the Docker image.&lt;br&gt;
For full instructions, see the &lt;a href="https://github.com/Cod-e-Codes/marchat" rel="noopener noreferrer"&gt;GitHub README&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Binary Installation
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Linux&lt;/span&gt;
wget https://github.com/Cod-e-Codes/marchat/releases/download/v0.2.0-beta.3/marchat-v0.2.0-beta.3-linux-amd64.zip
unzip marchat-v0.2.0-beta.3-linux-amd64.zip

&lt;span class="c"&gt;# macOS&lt;/span&gt;
wget https://github.com/Cod-e-Codes/marchat/releases/download/v0.2.0-beta.3/marchat-v0.2.0-beta.3-darwin-amd64.zip
unzip marchat-v0.2.0-beta.3-darwin-amd64.zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Docker
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker pull codecodesxyz/marchat:v0.2.0-beta.3

docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:8080 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;MARCHAT_ADMIN_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;openssl rand &lt;span class="nt"&gt;-hex&lt;/span&gt; 32&lt;span class="si"&gt;)&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;MARCHAT_USERS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;admin1,admin2 &lt;span class="se"&gt;\&lt;/span&gt;
  codecodesxyz/marchat:v0.2.0-beta.3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Example Usage
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Start Server
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;MARCHAT_ADMIN_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your-key
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;MARCHAT_USERS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;admin1

./marchat-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Connect Client
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./marchat-client &lt;span class="nt"&gt;--username&lt;/span&gt; admin1 &lt;span class="nt"&gt;--admin&lt;/span&gt; &lt;span class="nt"&gt;--admin-key&lt;/span&gt; your-key &lt;span class="nt"&gt;--server&lt;/span&gt; ws://localhost:8080/ws
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Encryption Support
&lt;/h2&gt;

&lt;p&gt;To enable end-to-end encryption:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./marchat-client &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--username&lt;/span&gt; alice &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--e2e&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--keystore-passphrase&lt;/span&gt; your-passphrase &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--server&lt;/span&gt; ws://localhost:8080/ws
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use commands like &lt;code&gt;:showkey&lt;/code&gt;, &lt;code&gt;:addkey&lt;/code&gt;, and &lt;code&gt;:encrypt&lt;/code&gt; to manage keys.&lt;/p&gt;




&lt;h2&gt;
  
  
  Plugin Ecosystem
&lt;/h2&gt;

&lt;p&gt;The new plugin system allows for on-demand extensibility without changing core code.&lt;/p&gt;

&lt;p&gt;Available commands:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;:plugin list&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;:plugin install &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;:plugin uninstall &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:store&lt;/code&gt; (to browse available plugins)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Security Best Practices
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Generate a secure admin key using &lt;code&gt;openssl rand -hex 32&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Do not use the default &lt;code&gt;changeme&lt;/code&gt; key&lt;/li&gt;
&lt;li&gt;Restrict access to production instances&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;wss://&lt;/code&gt; when exposing marchat over the internet&lt;/li&gt;
&lt;li&gt;Secure config and database files with appropriate file permissions&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;marchat is open source under the MIT license.&lt;br&gt;
Whether you want to report bugs, suggest features, or build plugins, contributions are welcome.&lt;/p&gt;

&lt;p&gt;GitHub repo: &lt;a href="https://github.com/Cod-e-Codes/marchat" rel="noopener noreferrer"&gt;https://github.com/Cod-e-Codes/marchat&lt;/a&gt;&lt;br&gt;
Plugin starter guide: &lt;code&gt;PLUGIN_ECOSYSTEM.md&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;marchat v0.2.0 is the first step toward making terminal chat collaborative, secure, and truly customizable. If you enjoy self-hosted tools or want to build your own chat plugins, give it a spin and let me know what you think.&lt;/p&gt;

</description>
      <category>go</category>
      <category>opensource</category>
      <category>cli</category>
      <category>docker</category>
    </item>
    <item>
      <title>ASCII Colorizer: Convert Images and Videos into Colored Terminal Art</title>
      <dc:creator>Cody Marsengill</dc:creator>
      <pubDate>Thu, 31 Jul 2025 19:36:45 +0000</pubDate>
      <link>https://dev.to/cod-e-codes/ascii-colorizer-convert-images-and-videos-into-colored-terminal-art-4a6g</link>
      <guid>https://dev.to/cod-e-codes/ascii-colorizer-convert-images-and-videos-into-colored-terminal-art-4a6g</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/Cod-e-Codes/ascii-colorizer" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ASCII Colorizer&lt;/strong&gt; is a Python-based command-line tool for converting images and videos into colorful ASCII art, rendered directly in your terminal using ANSI escape sequences. It supports both CPU and GPU processing and runs on Linux, macOS, and Windows.&lt;/p&gt;

&lt;p&gt;This tool is built for developers, system tweakers, terminal hobbyists, or anyone who wants to animate or visualize media in a unique, resourceful way without leaving the terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Image &amp;amp; Video Input&lt;/strong&gt;: Supports JPG, PNG, GIF, MP4, AVI, WebM, and more&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TrueColor &amp;amp; 256-Color Support&lt;/strong&gt;: Works with modern terminals&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPU Acceleration (Optional)&lt;/strong&gt;: Leverage CUDA with PyTorch for performance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adaptive Optimization&lt;/strong&gt;: Frame skipping and detail control for smooth playback&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CLI First&lt;/strong&gt;: Fully scriptable and configurable through the command line&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-Platform&lt;/strong&gt;: Runs on Python 3.12+ across all major operating systems&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Cod-e-Codes/ascii-colorizer.git
&lt;span class="nb"&gt;cd &lt;/span&gt;ascii-colorizer
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Optional GPU support (requires NVIDIA CUDA):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;torch torchvision &lt;span class="nt"&gt;--index-url&lt;/span&gt; https://download.pytorch.org/whl/cu121
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Example Usage
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Convert an Image
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ascii-colorizer &lt;span class="nt"&gt;--file&lt;/span&gt; image.png &lt;span class="nt"&gt;--width&lt;/span&gt; 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Play a Video as ASCII Animation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ascii-colorizer &lt;span class="nt"&gt;--file&lt;/span&gt; clip.mp4 &lt;span class="nt"&gt;--fps&lt;/span&gt; 15
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Use GPU Acceleration
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ascii-colorizer &lt;span class="nt"&gt;--file&lt;/span&gt; clip.mp4 &lt;span class="nt"&gt;--gpu&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Save Output to File
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ascii-colorizer &lt;span class="nt"&gt;--file&lt;/span&gt; image.jpg &lt;span class="nt"&gt;--save&lt;/span&gt; ascii_output.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Performance Tuning
&lt;/h2&gt;

&lt;p&gt;You can improve rendering speed and quality by adjusting playback parameters or enabling GPU mode:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ascii-colorizer &lt;span class="nt"&gt;--file&lt;/span&gt; video.mp4 &lt;span class="nt"&gt;--fast&lt;/span&gt; &lt;span class="nt"&gt;--adaptive&lt;/span&gt;
ascii-colorizer &lt;span class="nt"&gt;--file&lt;/span&gt; video.mp4 &lt;span class="nt"&gt;--gpu&lt;/span&gt; &lt;span class="nt"&gt;--gpu-batch-size&lt;/span&gt; 8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Need to benchmark your system?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ascii-colorizer &lt;span class="nt"&gt;--file&lt;/span&gt; image.jpg &lt;span class="nt"&gt;--gpu&lt;/span&gt; &lt;span class="nt"&gt;--benchmark&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  When to Use This
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Display system logos and short videos in your terminal&lt;/li&gt;
&lt;li&gt;Create media-rich terminal dashboards or ambient art&lt;/li&gt;
&lt;li&gt;Animate media while running tools like &lt;code&gt;neofetch&lt;/code&gt; or &lt;code&gt;htop&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Generate colorful ASCII output for fun or live demos&lt;/li&gt;
&lt;li&gt;Turn large displays or LED matrices into live ASCII screens&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.12+&lt;/li&gt;
&lt;li&gt;A terminal with ANSI TrueColor support&lt;/li&gt;
&lt;li&gt;Optional: CUDA-compatible GPU (for acceleration)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;This project is actively maintained and open to contributions. If you're interested in terminal graphics, performance benchmarking, or novel input/output interfaces, give ASCII Colorizer a try.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/Cod-e-Codes/ascii-colorizer" rel="noopener noreferrer"&gt;https://github.com/Cod-e-Codes/ascii-colorizer&lt;/a&gt;&lt;/p&gt;

</description>
      <category>terminal</category>
      <category>cli</category>
      <category>python</category>
      <category>asciiart</category>
    </item>
    <item>
      <title>Introducing marchat: A Real-Time Terminal-Based Chat App in Go</title>
      <dc:creator>Cody Marsengill</dc:creator>
      <pubDate>Thu, 24 Jul 2025 03:00:00 +0000</pubDate>
      <link>https://dev.to/cod-e-codes/introducing-marchat-a-real-time-terminal-based-chat-app-in-go-3188</link>
      <guid>https://dev.to/cod-e-codes/introducing-marchat-a-real-time-terminal-based-chat-app-in-go-3188</guid>
      <description>&lt;p&gt;I’m excited to share &lt;strong&gt;marchat&lt;/strong&gt;, a minimalist, terminal-based group chat application built with Go. Designed for developers and enthusiasts who prefer the command line, marchat offers a fast, distraction-free chat experience suitable for pair programming, remote LAN parties, or simple terminal conversations.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is marchat?
&lt;/h2&gt;

&lt;p&gt;marchat is a self-hosted chat server and client with a text-based user interface (TUI) built on &lt;a href="https://github.com/charmbracelet/bubbletea" rel="noopener noreferrer"&gt;Bubble Tea&lt;/a&gt;. It uses WebSockets for real-time communication, making it lightweight and responsive. Its core goals are simplicity, extensibility, and terminal-native usability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real-time terminal chat&lt;/strong&gt; with a clean, scrollable interface
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File sharing&lt;/strong&gt; support for small files (under 1MB)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configurable themes&lt;/strong&gt; via JSON, including &lt;code&gt;patriot&lt;/code&gt;, &lt;code&gt;retro&lt;/code&gt;, and &lt;code&gt;modern&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Basic admin controls&lt;/strong&gt; for managing users and clearing data
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-hosted server&lt;/strong&gt; that you can run locally or expose remotely
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clipboard support&lt;/strong&gt; for convenient copy/paste operations in the terminal
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;@Mention highlighting&lt;/strong&gt; and live user list for collaborative interaction
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Current Status
&lt;/h2&gt;

&lt;p&gt;marchat is in &lt;strong&gt;early beta&lt;/strong&gt; (v0.1.0-beta.2) with prebuilt binaries for Linux, Windows, and macOS (amd64). It’s actively under development, and feedback at this stage is crucial for shaping the project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;You can quickly try marchat by downloading prebuilt binaries from the &lt;a href="https://github.com/Cod-e-Codes/marchat/releases/tag/v0.1.0-beta.2" rel="noopener noreferrer"&gt;GitHub releases page&lt;/a&gt;. Running the server and client is straightforward, and configuration is flexible via flags or a JSON config file.&lt;/p&gt;

&lt;p&gt;For detailed installation and usage instructions, please see the &lt;a href="https://github.com/Cod-e-Codes/marchat/blob/main/README.md" rel="noopener noreferrer"&gt;marchat README&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why build marchat?
&lt;/h2&gt;

&lt;p&gt;This project started as a way to share coding and collaboration joy in a terminal environment — inspired by simple, retro tools and a love for command-line workflows. If you appreciate lightweight, self-hosted solutions and real-time terminal apps, marchat might be a great fit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contributing and Feedback
&lt;/h2&gt;

&lt;p&gt;I welcome contributions, bug reports, and feature requests. No prior Go experience is required to help out — feel free to check the &lt;a href="https://github.com/Cod-e-Codes/marchat/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22" rel="noopener noreferrer"&gt;good first issues&lt;/a&gt; or open a new issue for feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  Repository
&lt;/h2&gt;

&lt;p&gt;Explore the source code, download releases, and learn more:&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/Cod-e-Codes/marchat" rel="noopener noreferrer"&gt;https://github.com/Cod-e-Codes/marchat&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Thank you for your interest in marchat. I’m eager to hear your thoughts and suggestions.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This post is part of an ongoing project in early beta — please consider providing feedback to help improve the app.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>go</category>
      <category>opensource</category>
      <category>terminal</category>
      <category>websockets</category>
    </item>
  </channel>
</rss>
