<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Projects on almost done</title><link>https://nietaki.com/projects/</link><description>Recent content in Projects on almost done</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>hello@nietaki.com (nietaki)</managingEditor><webMaster>hello@nietaki.com (nietaki)</webMaster><lastBuildDate>Fri, 10 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://nietaki.com/projects/index.xml" rel="self" type="application/rss+xml"/><item><title>lossifier</title><link>https://nietaki.com/projects/lossifier/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>hello@nietaki.com (nietaki)</author><guid>https://nietaki.com/projects/lossifier/</guid><description>&lt;p&gt;A dockerized script for converting a FLAC music library to a lossy Opus/MP3 format
making maintaining an offline music collection easy.&lt;/p&gt;
&lt;div class="github-card-wrapper"&gt;
 &lt;a id="github-7254bfb80b083842f4fd60d5e86434da" target="_blank" href="https://github.com/nietaki/lossifier" class="cursor-pointer"&gt;
 &lt;div
 class="w-full md:w-auto p-0 m-0 border border-neutral-200 dark:border-neutral-700 border rounded-md shadow-2xl"&gt;&lt;div class="w-full nozoom"&gt;
 &lt;img
 src="https://opengraph.githubassets.com/0/nietaki/lossifier"
 alt="GitHub Repository Thumbnail"
 class="nozoom mt-0 mb-0 w-full h-full object-cover"&gt;
 &lt;/div&gt;&lt;div class="w-full md:w-auto pt-3 p-5"&gt;
 &lt;div class="flex items-center"&gt;
 &lt;span class="text-2xl text-neutral-800 dark:text-neutral me-2"&gt;
 &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"&gt;&lt;path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
 &lt;/span&gt;
 &lt;div
 id="github-7254bfb80b083842f4fd60d5e86434da-full_name"
 class="m-0 font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral"&gt;
 nietaki/lossifier
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;p id="github-7254bfb80b083842f4fd60d5e86434da-description" class="m-0 mt-2 text-md text-neutral-800 dark:text-neutral"&gt;
 converts your lossless .flac music collection to a mirrored .opus or .mp3 collection
 &lt;/p&gt;</description></item><item><title>Creative Coding</title><link>https://nietaki.com/projects/creative-coding/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>hello@nietaki.com (nietaki)</author><guid>https://nietaki.com/projects/creative-coding/</guid><description>&lt;p&gt;A while back I was looking for a creative outlet I could make something I&amp;rsquo;d like on a daily basis and (finally) got into creative coding.&lt;/p&gt;
&lt;p&gt;I chose &lt;a href="https://www.love2d.org/" target="_blank" rel="noreferrer"&gt;love2d&lt;/a&gt; as my framework and started making animations,
aiming to create a new one on a daily basis.&lt;/p&gt;













 
 
 
 
 
 
 
 
 
 
 
 
 






&lt;div class="width-patch"&gt;&lt;/div&gt;
&lt;div
 id="carousel-b0f1c8397d20783523e76825743a01ae-1775919262975773719"
 class="relative"
 data-twe-carousel-init
 data-twe-ride="carousel"
 data-twe-interval="2500"&gt;
 &lt;div
 class="absolute right-0 bottom-0 left-0 z-2 mx-[15%] mb-10 flex list-none justify-center p-0"
 data-twe-carousel-indicators&gt;
 
 
 &lt;button
 type="button"
 data-twe-target="#carousel-b0f1c8397d20783523e76825743a01ae-1775919262975773719"
 data-twe-slide-to="0"
 data-twe-carousel-active aria-current="true"
 class="mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none"
 aria-label="Slide 0"&gt;&lt;/button&gt;
 
 
 &lt;button
 type="button"
 data-twe-target="#carousel-b0f1c8397d20783523e76825743a01ae-1775919262975773719"
 data-twe-slide-to="1"
 
 class="mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none"
 aria-label="Slide 1"&gt;&lt;/button&gt;
 
 
 &lt;button
 type="button"
 data-twe-target="#carousel-b0f1c8397d20783523e76825743a01ae-1775919262975773719"
 data-twe-slide-to="2"
 
 class="mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none"
 aria-label="Slide 2"&gt;&lt;/button&gt;
 
 
 &lt;button
 type="button"
 data-twe-target="#carousel-b0f1c8397d20783523e76825743a01ae-1775919262975773719"
 data-twe-slide-to="3"
 
 class="mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none"
 aria-label="Slide 3"&gt;&lt;/button&gt;
 
 
 &lt;button
 type="button"
 data-twe-target="#carousel-b0f1c8397d20783523e76825743a01ae-1775919262975773719"
 data-twe-slide-to="4"
 
 class="mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none"
 aria-label="Slide 4"&gt;&lt;/button&gt;
 
 
 &lt;/div&gt;

 &lt;div
 class="relative w-full after:clear-both after:block after:content-['']"
 style="overflow-x: clip; overflow-y: visible;"&gt;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &lt;div
 class="relative float-left -mr-[100%] w-full transition-transform ease-in-out motion-reduce:transition-none"
 data-twe-carousel-item
 style="transition-duration: 2500ms;"
 data-twe-carousel-active&gt;
 &lt;div class="single_hero_background relative overflow-hidden" style="aspect-ratio: 16 / 9;"&gt;
 &lt;img
 src="https://nietaki.com/projects/creative-coding/love2plot_gallery/10-torus.jpg"
 class="block absolute top-0 object-cover w-full h-full not-prose nozoom"
 alt="carousel image 1"&gt;
 &lt;/div&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &lt;div
 class="relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none"
 data-twe-carousel-item
 style="transition-duration: 2500ms;"
 &gt;
 &lt;div class="single_hero_background relative overflow-hidden" style="aspect-ratio: 16 / 9;"&gt;
 &lt;img
 src="https://nietaki.com/projects/creative-coding/love2plot_gallery/debug.jpg"
 class="block absolute top-0 object-cover w-full h-full not-prose nozoom"
 alt="carousel image 2"&gt;
 &lt;/div&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &lt;div
 class="relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none"
 data-twe-carousel-item
 style="transition-duration: 2500ms;"
 &gt;
 &lt;div class="single_hero_background relative overflow-hidden" style="aspect-ratio: 16 / 9;"&gt;
 &lt;img
 src="https://nietaki.com/projects/creative-coding/love2plot_gallery/kaleidoscope.jpg"
 class="block absolute top-0 object-cover w-full h-full not-prose nozoom"
 alt="carousel image 3"&gt;
 &lt;/div&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &lt;div
 class="relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none"
 data-twe-carousel-item
 style="transition-duration: 2500ms;"
 &gt;
 &lt;div class="single_hero_background relative overflow-hidden" style="aspect-ratio: 16 / 9;"&gt;
 &lt;img
 src="https://nietaki.com/projects/creative-coding/love2plot_gallery/pills.jpg"
 class="block absolute top-0 object-cover w-full h-full not-prose nozoom"
 alt="carousel image 4"&gt;
 &lt;/div&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &lt;div
 class="relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none"
 data-twe-carousel-item
 style="transition-duration: 2500ms;"
 &gt;
 &lt;div class="single_hero_background relative overflow-hidden" style="aspect-ratio: 16 / 9;"&gt;
 &lt;img
 src="https://nietaki.com/projects/creative-coding/love2plot_gallery/solitaire.jpg"
 class="block absolute top-0 object-cover w-full h-full not-prose nozoom"
 alt="carousel image 5"&gt;
 &lt;/div&gt;
 
 &lt;/div&gt;
 
 &lt;/div&gt;

 &lt;button
 class="absolute top-0 bottom-0 left-0 z-2 flex w-[15%] items-center justify-center border-0 bg-none p-0 text-center opacity-50 transition-opacity duration-150 ease-[cubic-bezier(0.25,0.1,0.25,1.0)] hover:no-underline hover:opacity-90 hover:outline-none focus:no-underline focus:opacity-90 focus:outline-none motion-reduce:transition-none"
 type="button"
 data-twe-target="#carousel-b0f1c8397d20783523e76825743a01ae-1775919262975773719"
 data-twe-slide="prev"&gt;
 &lt;span class="inline-block h-8 w-8"&gt;
 &lt;svg
 xmlns="http://www.w3.org/2000/svg"
 fill="none"
 viewBox="0 0 24 24"
 stroke-width="4.5"
 stroke="currentColor"
 class="h-6 w-6"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" d="M15.75 19.5L8.25 12l7.5-7.5" /&gt;
 &lt;/svg&gt;
 &lt;/span&gt;
 &lt;span
 class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
 &gt;Previous&lt;/span
 &gt;
 &lt;/button&gt;

 &lt;button
 class="absolute top-0 bottom-0 right-0 z-[1] flex w-[15%] items-center justify-center border-0 bg-none p-0 text-center opacity-50 transition-opacity duration-150 ease-[cubic-bezier(0.25,0.1,0.25,1.0)] hover:no-underline hover:opacity-90 hover:outline-none focus:no-underline focus:opacity-90 focus:outline-none motion-reduce:transition-none"
 type="button"
 data-twe-target="#carousel-b0f1c8397d20783523e76825743a01ae-1775919262975773719"
 data-twe-slide="next"&gt;
 &lt;span class="inline-block h-8 w-8"&gt;
 &lt;svg
 xmlns="http://www.w3.org/2000/svg"
 fill="none"
 viewBox="0 0 24 24"
 stroke-width="4.5"
 stroke="currentColor"
 class="h-6 w-6"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" /&gt;
 &lt;/svg&gt;
 &lt;/span&gt;
 &lt;span
 class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
 &gt;Next&lt;/span
 &gt;
 &lt;/button&gt;
&lt;/div&gt;

&lt;p&gt;As I built up my lua toolkit the creations got more complex over time, with 3d rendering,
a custom GLSL pre-processor and tracing profiler.&lt;/p&gt;</description></item><item><title>Revolt keyboard</title><link>https://nietaki.com/projects/revolt-keyboard/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>hello@nietaki.com (nietaki)</author><guid>https://nietaki.com/projects/revolt-keyboard/</guid><description>&lt;p&gt;After using ergonomic keyboards for over a decade I designed one that&amp;rsquo;s close to
perfect - not for most, but definitely for me.&lt;/p&gt;
&lt;div class="github-card-wrapper"&gt;
 &lt;a id="github-0f4c2356297a4093409ca17d2e356af2" target="_blank" href="https://github.com/nietaki/revolt-keyboard" class="cursor-pointer"&gt;
 &lt;div
 class="w-full md:w-auto p-0 m-0 border border-neutral-200 dark:border-neutral-700 border rounded-md shadow-2xl"&gt;&lt;div class="w-full md:w-auto pt-3 p-5"&gt;
 &lt;div class="flex items-center"&gt;
 &lt;span class="text-2xl text-neutral-800 dark:text-neutral me-2"&gt;
 &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"&gt;&lt;path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
 &lt;/span&gt;
 &lt;div
 id="github-0f4c2356297a4093409ca17d2e356af2-full_name"
 class="m-0 font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral"&gt;
 nietaki/revolt-keyboard
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;p id="github-0f4c2356297a4093409ca17d2e356af2-description" class="m-0 mt-2 text-md text-neutral-800 dark:text-neutral"&gt;
 
 &lt;/p&gt;</description></item><item><title>Epstein Roulette</title><link>https://nietaki.com/projects/epstein-roulette/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>hello@nietaki.com (nietaki)</author><guid>https://nietaki.com/projects/epstein-roulette/</guid><description>&lt;p&gt;Examine a random Epstein file from the millions that have been released.
You can narrow the pool down by file type or text contents.&lt;/p&gt;
&lt;p&gt;Another small project I wrote while teaching myself golang. It uses the
&lt;a href="https://echo.labstack.com/" target="_blank" rel="noreferrer"&gt;Echo web framework&lt;/a&gt; and sqlite as the database.&lt;/p&gt;
&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note"&gt;
 &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;
 &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;
&lt;/span&gt;&lt;/div&gt;
 &lt;div class="grow"&gt;
 Note
 &lt;/div&gt;
 &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;The logo was (obviously) AI generated, but the code was written by hand as a learning
exercise, not vibe-coded.&lt;/p&gt;</description></item><item><title>Split Keyboard Gallery</title><link>https://nietaki.com/projects/split-keyboard-gallery/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>hello@nietaki.com (nietaki)</author><guid>https://nietaki.com/projects/split-keyboard-gallery/</guid><description>&lt;article class="article-link--shortcode flex flex-col md:flex-row relative overflow-hidden rounded-lg border border-neutral-300 dark:border-neutral-600"&gt;
	
 
 &lt;div class="flex-none relative overflow-hidden thumbnail"&gt;
 &lt;img
 src="https://nietaki.com/img/projects/split-keyboard-gallery.png"
 role="presentation"
 loading="lazy"
 decoding="async"
 class="not-prose absolute inset-0 w-full h-full object-cover"&gt;
 &lt;/div&gt;
 
 &lt;div class="p-4 pt-2"&gt;
 &lt;header class="items-center text-start text-xl font-semibold"&gt;
 &lt;a
 
 href="https://splitkeyboard.gallery/" target="_blank" rel="external"
 
 class="not-prose before:absolute before:inset-0 decoration-primary-500 dark:text-neutral text-xl font-bold text-neutral-800 hover:underline hover:underline-offset-2"&gt;
 &lt;h2&gt;
 (not just) Split Keyboard Gallery
 
 &lt;span class="cursor-default align-top text-xs text-neutral-400 dark:text-neutral-500"&gt;
 &lt;/span&gt;
 
 &lt;/h2&gt;
 &lt;/a&gt;
 &lt;/header&gt;
 &lt;div class="text-sm text-neutral-500 dark:text-neutral-400"&gt;
			https://splitkeyboard.gallery/
 
 &lt;/div&gt;
 &lt;div
 class="article-link__summary prose dark:prose-invert max-w-fit mt-1 line-clamp-3"&gt;
 

Split Keyboard Gallery - tool for browsing over 100 keyboards and filtering them by properties


 &lt;/div&gt;
 &lt;/div&gt;
&lt;/article&gt;


&lt;p&gt;A weekend project to teach myself myself &lt;a href="https://alpinejs.dev/" target="_blank" rel="noreferrer"&gt;Alpine.js&lt;/a&gt; and &lt;a href="https://gohugo.io/" target="_blank" rel="noreferrer"&gt;hugo&lt;/a&gt;.
And to get the word about my &lt;a href="https://ntkstudio.net/products/revolt-keyboard/" target="_blank" rel="noreferrer"&gt;Revolt keyboard&lt;/a&gt; out there.&lt;/p&gt;</description></item><item><title>Rexbug</title><link>https://nietaki.com/projects/rexbug/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>hello@nietaki.com (nietaki)</author><guid>https://nietaki.com/projects/rexbug/</guid><description>&lt;p&gt;A thin Elixir wrapper for &lt;code&gt;:redbug&lt;/code&gt; production-friendly Erlang interactive tracing debugger.
It tries to preserve &lt;code&gt;:redbug&lt;/code&gt;&amp;rsquo;s simple and intuitive interface while making it
more convenient to use by Elixir developers.&lt;/p&gt;
&lt;div class="github-card-wrapper"&gt;
 &lt;a id="github-60cbffd9f98f11b4aeb80e09c07352d9" target="_blank" href="https://github.com/nietaki/rexbug" class="cursor-pointer"&gt;
 &lt;div
 class="w-full md:w-auto p-0 m-0 border border-neutral-200 dark:border-neutral-700 border rounded-md shadow-2xl"&gt;&lt;div class="w-full nozoom"&gt;
 &lt;img
 src="https://opengraph.githubassets.com/0/nietaki/rexbug"
 alt="GitHub Repository Thumbnail"
 class="nozoom mt-0 mb-0 w-full h-full object-cover"&gt;
 &lt;/div&gt;&lt;div class="w-full md:w-auto pt-3 p-5"&gt;
 &lt;div class="flex items-center"&gt;
 &lt;span class="text-2xl text-neutral-800 dark:text-neutral me-2"&gt;
 &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"&gt;&lt;path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
 &lt;/span&gt;
 &lt;div
 id="github-60cbffd9f98f11b4aeb80e09c07352d9-full_name"
 class="m-0 font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral"&gt;
 nietaki/rexbug
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;p id="github-60cbffd9f98f11b4aeb80e09c07352d9-description" class="m-0 mt-2 text-md text-neutral-800 dark:text-neutral"&gt;
 A thin Elixir wrapper for the redbug Erlang tracing debugger.
 &lt;/p&gt;</description></item><item><title>markdown-resume</title><link>https://nietaki.com/projects/markdown-resume/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>hello@nietaki.com (nietaki)</author><guid>https://nietaki.com/projects/markdown-resume/</guid><description>&lt;div class="github-card-wrapper"&gt;
 &lt;a id="github-7d8d13a5f4615ef3bbfe9f85e971a78e" target="_blank" href="https://github.com/nietaki/markdown-resume" class="cursor-pointer"&gt;
 &lt;div
 class="w-full md:w-auto p-0 m-0 border border-neutral-200 dark:border-neutral-700 border rounded-md shadow-2xl"&gt;&lt;div class="w-full nozoom"&gt;
 &lt;img
 src="https://opengraph.githubassets.com/0/nietaki/markdown-resume"
 alt="GitHub Repository Thumbnail"
 class="nozoom mt-0 mb-0 w-full h-full object-cover"&gt;
 &lt;/div&gt;&lt;div class="w-full md:w-auto pt-3 p-5"&gt;
 &lt;div class="flex items-center"&gt;
 &lt;span class="text-2xl text-neutral-800 dark:text-neutral me-2"&gt;
 &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"&gt;&lt;path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
 &lt;/span&gt;
 &lt;div
 id="github-7d8d13a5f4615ef3bbfe9f85e971a78e-full_name"
 class="m-0 font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral"&gt;
 nietaki/markdown-resume
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;p id="github-7d8d13a5f4615ef3bbfe9f85e971a78e-description" class="m-0 mt-2 text-md text-neutral-800 dark:text-neutral"&gt;
 A simple tool for generating good looking CV pdfs from vanilla markdown files
 &lt;/p&gt;</description></item><item><title>Ampersand Table</title><link>https://nietaki.com/projects/ampersand-table/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>hello@nietaki.com (nietaki)</author><guid>https://nietaki.com/projects/ampersand-table/</guid><description>&lt;div class="width-patch"&gt;&lt;/div&gt;
&lt;div id="gallery-35b8f989c30c062d8ebc81854afa2b9c" class="gallery"&gt;
 
 &lt;img src="https://nietaki.com/img/projects/ampersand_gallery/20220820_AMPERSAND-703.jpg" class="grid-w33" /&gt;
 &lt;img src="https://nietaki.com/img/projects/ampersand_gallery/20220820_AMPERSAND-439.jpg" class="grid-w33" /&gt;
 &lt;img src="https://nietaki.com/img/projects/ampersand_gallery/20220820_AMPERSAND-776.jpg" class="grid-w33" /&gt;
 &lt;img src="https://nietaki.com/img/projects/ampersand_gallery/DSCF3343.JPG" class="grid-w33" /&gt;
 &lt;img src="https://nietaki.com/img/projects/ampersand_gallery/DSCF3569.JPG" class="grid-w33" /&gt;
&lt;/div&gt;

&lt;p&gt;A kinetic sculpture in the form of an interactive coffee table. While it might not end up being commercially available, the tech side of things was a success, especially considering the bootstrapping approach in a small team. From the aluminum and 3d printed plastic mechanism I designed from scratch, through the electronics, microcontroller &amp;ldquo;brain&amp;rdquo; with some clever C++ code on it and the Flutter app that controlled it all - it all works pretty damn well and looks good in the wood and concrete package.&lt;/p&gt;</description></item><item><title>Raxx/Ace/Raxx.Kit</title><link>https://nietaki.com/projects/raxx-ace/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>hello@nietaki.com (nietaki)</author><guid>https://nietaki.com/projects/raxx-ace/</guid><description>&lt;div class="github-card-wrapper"&gt;
 &lt;a id="github-30bc2ed1eb0828ccdbce73158fa5e686" target="_blank" href="https://github.com/CrowdHailer/raxx" class="cursor-pointer"&gt;
 &lt;div
 class="w-full md:w-auto p-0 m-0 border border-neutral-200 dark:border-neutral-700 border rounded-md shadow-2xl"&gt;&lt;div class="w-full nozoom"&gt;
 &lt;img
 src="https://opengraph.githubassets.com/0/crowdhailer/raxx"
 alt="GitHub Repository Thumbnail"
 class="nozoom mt-0 mb-0 w-full h-full object-cover"&gt;
 &lt;/div&gt;&lt;div class="w-full md:w-auto pt-3 p-5"&gt;
 &lt;div class="flex items-center"&gt;
 &lt;span class="text-2xl text-neutral-800 dark:text-neutral me-2"&gt;
 &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"&gt;&lt;path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
 &lt;/span&gt;
 &lt;div
 id="github-30bc2ed1eb0828ccdbce73158fa5e686-full_name"
 class="m-0 font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral"&gt;
 CrowdHailer/raxx
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;p id="github-30bc2ed1eb0828ccdbce73158fa5e686-description" class="m-0 mt-2 text-md text-neutral-800 dark:text-neutral"&gt;
 Interface for HTTP webservers, frameworks and clients
 &lt;/p&gt;</description></item></channel></rss>