<?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 this.yasp.site</title><link>https://yasp.site/projects/</link><description>Recent content in Projects on this.yasp.site</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 30 Sep 2026 18:00:00 +0700</lastBuildDate><atom:link href="https://yasp.site/projects/index.xml" rel="self" type="application/rss+xml"/><item><title>yasp.site</title><link>https://yasp.site/projects/yasp-site/</link><pubDate>Wed, 30 Sep 2026 18:00:00 +0700</pubDate><guid>https://yasp.site/projects/yasp-site/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>Every developer has a folder full of abandoned repositories. Most of them are never published because they aren&amp;rsquo;t &amp;ldquo;ready,&amp;rdquo; lack test coverage, or don&amp;rsquo;t have a landing page.&lt;/p>
&lt;p>&lt;strong>yasp.site&lt;/strong> (Yet Another Side Project) exists to give everything a home. The rule is simple: &lt;strong>&amp;ldquo;nothing has to succeed.&amp;rdquo;&lt;/strong>&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Alive &amp;amp; Kicking.&lt;/strong> Built with pure Hugo and minimal semantic CSS. Zero trackers, zero frameworks, fast static files. It does exactly what it needs to do.&lt;/p></description></item><item><title>ToastOS: ESP32 Browning Controller</title><link>https://yasp.site/projects/smart-toaster-esp32/</link><pubDate>Thu, 24 Sep 2026 12:00:00 +0700</pubDate><guid>https://yasp.site/projects/smart-toaster-esp32/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>Why rely on a mechanical timer dial when you can tear apart a toaster, install an infrared thermal sensor, and run a custom PID temperature controller on a dual-core microcontroller?&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Over-Engineered &amp;amp; Broken.&lt;/strong> The PID loop worked, but a Wi-Fi disconnect caused the heating relay to stay energized for 43 seconds too long. It filled the apartment with smoke and tripped the circuit breaker. Currently sitting on the shelf of shame.&lt;/p></description></item><item><title>Tab Graveyard</title><link>https://yasp.site/projects/tab-graveyard/</link><pubDate>Fri, 18 Sep 2026 10:00:00 +0700</pubDate><guid>https://yasp.site/projects/tab-graveyard/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>Everyone collects tabs like emotional baggage. The idea: any tab inactive for 24 hours gets automatically terminated, an 8-bit funeral march plays, and the URL gets buried in a local digital cemetery page.&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Alive &amp;amp; Working.&lt;/strong> Actively installed in my daily browser. It saves about 4GB of RAM every afternoon and creates mild panic when it closes something I actually needed.&lt;/p></description></item><item><title>GitBlame-Roulette</title><link>https://yasp.site/projects/git-excuses/</link><pubDate>Sat, 15 Aug 2026 15:30:00 +0700</pubDate><guid>https://yasp.site/projects/git-excuses/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>A CLI git hook that intercepts commits and generates enterprise excuse strings like: &lt;code>[ci skip] refactor: neutralize transient asynchronous timing variance caused by regional atmospheric pressure drops&lt;/code>.&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Half-Baked.&lt;/strong> Started as a quick bash script that worked fine. Then decided to rewrite it in Rust, got trapped fighting borrow lifetimes for 3 weeks, and abandoned the repo.&lt;/p></description></item><item><title>VibeCoder FM</title><link>https://yasp.site/projects/synth-terminal/</link><pubDate>Mon, 20 Jul 2026 21:00:00 +0700</pubDate><guid>https://yasp.site/projects/synth-terminal/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>Rather than streaming huge MP3 audio files for background noise, generate rain soundscapes and minor-key synth chords procedurally using Web Audio API nodes in under 15KB of code.&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Alive &amp;amp; Running.&lt;/strong> Surprisingly stable. Consumes almost zero CPU and no bandwidth after load.&lt;/p></description></item><item><title>SunkCost: SaaS Necromancer</title><link>https://yasp.site/projects/sunk-cost-tracker/</link><pubDate>Wed, 10 Jun 2026 14:00:00 +0700</pubDate><guid>https://yasp.site/projects/sunk-cost-tracker/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>Track all recurring credit card charges automatically and display a red counter showing how much money I&amp;rsquo;m bleeding on unused gym memberships and VPS servers.&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Dead &amp;amp; Buried.&lt;/strong> Required Plaid API access. Plaid&amp;rsquo;s developer fee was $120/month, meaning I was spending $120/month to save $40/month. Shut it down and never looked back.&lt;/p></description></item><item><title>Cursor Scream</title><link>https://yasp.site/projects/cursor-confetti/</link><pubDate>Sat, 02 May 2026 09:30:00 +0700</pubDate><guid>https://yasp.site/projects/cursor-confetti/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>A 40-line script that computes cursor velocity in pixels per second. When acceleration exceeds 1800 px/sec, play an agonizing scream with pitch shifting proportional to speed.&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Alive &amp;amp; Terrifying.&lt;/strong> Built in 20 minutes. Zero bugs. Secretly installed on a friend&amp;rsquo;s browser during lunch break.&lt;/p></description></item></channel></rss>