<?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: ChaiLifeOTFT</title>
    <description>The latest articles on DEV Community by ChaiLifeOTFT (@chailifeotft).</description>
    <link>https://dev.to/chailifeotft</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%2F3825937%2F6faa5b7d-40cb-4c7d-ae42-34da563b6c75.png</url>
      <title>DEV Community: ChaiLifeOTFT</title>
      <link>https://dev.to/chailifeotft</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chailifeotft"/>
    <language>en</language>
    <item>
      <title>The ADHD Architecture: How 'Disorder' Built 48 Tools on One Machine</title>
      <dc:creator>ChaiLifeOTFT</dc:creator>
      <pubDate>Sun, 29 Mar 2026 06:12:01 +0000</pubDate>
      <link>https://dev.to/chailifeotft/the-adhd-architecture-how-disorder-built-48-tools-on-one-machine-5113</link>
      <guid>https://dev.to/chailifeotft/the-adhd-architecture-how-disorder-built-48-tools-on-one-machine-5113</guid>
      <description>&lt;p&gt;If anyone asks how to build with ADHD, the answer isn't "overcome it." It's "let it generate."&lt;/p&gt;

&lt;p&gt;I have ADHD. I work as a fiber technician during the day. At night I build on a single RTX 4070 laptop. I've created 48 tools in 3 months — not because I planned to, but because every context switch created a new tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pattern
&lt;/h2&gt;

&lt;p&gt;Every time I lost focus on Task A, I'd start Task B. Task B would need a tool that didn't exist. So I'd build the tool (Task C). By the time the tool was done, I'd forgotten about A entirely — but I had a working tool and a new thread to follow.&lt;/p&gt;

&lt;p&gt;After 3 months, those "failures to focus" had produced:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A local AI mesh running 13 agents on one machine&lt;/li&gt;
&lt;li&gt;An autonomous content engine&lt;/li&gt;
&lt;li&gt;A complete distributed system architecture&lt;/li&gt;
&lt;li&gt;19 products on Gumroad&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Insight
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The "disorder" was the architecture all along.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ADHD doesn't lose threads. It weaves them in parallel. The trick is building systems that catch what your brain drops — so nothing is lost, just deferred.&lt;/p&gt;

&lt;p&gt;My system: the machine remembers so I don't have to. Every context switch gets logged. Every abandoned thread becomes a seed file. When I circle back (and I always circle back), the context is waiting.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Breadcrumb Method
&lt;/h2&gt;

&lt;p&gt;The single technique that changed everything:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When you leave a task, write 2 sentences about where you are.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not a full status report. Just: "I was doing X. Next step is Y."&lt;/p&gt;

&lt;p&gt;That's it. A git commit message for your brain. It saves ~2 hours/day of re-orientation time because you're not starting from zero every time you return.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fiction Layer
&lt;/h2&gt;

&lt;p&gt;I turned this philosophy into fiction. &lt;em&gt;When the Mountain Sings in Water&lt;/em&gt; is Afro-SolPunk about a community that discovers their ancestral water management practices encode mathematical protocols more efficient than anything modern engineering produced.&lt;/p&gt;

&lt;p&gt;The metaphor is the same: the "old way" (the way your brain already works) is the advanced architecture. You just need to stop fighting it and start building infrastructure around it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;$0.99 on Gumroad if you want the story:&lt;/strong&gt; &lt;a href="https://drakeent.gumroad.com/l/hvbxve" rel="noopener noreferrer"&gt;When the Mountain Sings in Water&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But the real output isn't the fiction — it's the system. Build the machine that remembers. Let the ADHD brain do what it does. Catch everything it drops.&lt;/p&gt;

&lt;p&gt;The "broken" way your brain works is the architecture. Build around it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Building in the dark? You're not alone. I'm at $0 revenue with 19 products and realized I was overbuilding and underreaching. So instead of building product #20, I'm reaching out. This is that reach.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mentalhealth</category>
      <category>productivity</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>How I organize 26 microservices on one GPU without losing my ADHD mind</title>
      <dc:creator>ChaiLifeOTFT</dc:creator>
      <pubDate>Sun, 29 Mar 2026 02:18:51 +0000</pubDate>
      <link>https://dev.to/chailifeotft/how-i-organize-26-microservices-on-one-gpu-without-losing-my-adhd-mind-28j4</link>
      <guid>https://dev.to/chailifeotft/how-i-organize-26-microservices-on-one-gpu-without-losing-my-adhd-mind-28j4</guid>
      <description>&lt;p&gt;I have ADHD. I also run 26 microservices on a single RTX 4070.&lt;/p&gt;

&lt;p&gt;These two facts fight each other constantly.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Every ADHD developer knows this cycle:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start exciting new project&lt;/li&gt;
&lt;li&gt;Hyperfocus for 6 hours&lt;/li&gt;
&lt;li&gt;Ship something half-finished
&lt;/li&gt;
&lt;li&gt;Context switch to next shiny thing&lt;/li&gt;
&lt;li&gt;Forget what you built yesterday&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I had 60+ projects in various states of "almost done."&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fix: Structured Missions
&lt;/h2&gt;

&lt;p&gt;I stopped reading documentation. Instead, I built follow-along missions where each step bypasses the executive function gate.&lt;/p&gt;

&lt;p&gt;Not "learn about Docker networking." But "run this one command and see if port 5027 responds."&lt;/p&gt;

&lt;h2&gt;
  
  
  The 7 Builds That Stuck
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;CDP Browser Automation&lt;/strong&gt; — one Python script, one WebSocket connection&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local AI Mesh&lt;/strong&gt; — multiple Ollama models coordinating on one machine
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ComfyUI + Ollama on 8GB VRAM&lt;/strong&gt; — image gen AND language models without crashing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web-to-APK in 10 Minutes&lt;/strong&gt; — any web tool becomes an Android app&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Manga Pipeline&lt;/strong&gt; — story beats to assembled pages, all local&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-Hosted Stack&lt;/strong&gt; — tools that survive vendor churn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Orchestration Patterns&lt;/strong&gt; — cron jobs, health checks, daemons&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why This Works for ADHD
&lt;/h2&gt;

&lt;p&gt;Each build is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Time-boxed&lt;/strong&gt;: 45-90 minutes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dopamine-rewarding&lt;/strong&gt;: output immediately
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Externalized&lt;/strong&gt;: no planning in your head&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Completable&lt;/strong&gt;: starts and finishes in one session&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stackable&lt;/strong&gt;: each feeds the next&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Architecture That Emerged
&lt;/h2&gt;

&lt;p&gt;After all 7, I had 26 microservices running. Not because I planned them. Because each mission built one thing, and they naturally connected.&lt;/p&gt;

&lt;p&gt;That's the ADHD advantage: we don't plan cathedrals. We stack interesting bricks. Sometimes a cathedral appears.&lt;/p&gt;




&lt;p&gt;The full set of 7 missions with configs and video walkthroughs: &lt;a href="https://drakeent.gumroad.com/l/fpxfxe" rel="noopener noreferrer"&gt;AI Creator's Toolkit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Questions welcome.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I compressed 60 Android apps into one 108KB runtime — here's how</title>
      <dc:creator>ChaiLifeOTFT</dc:creator>
      <pubDate>Sat, 28 Mar 2026 19:48:04 +0000</pubDate>
      <link>https://dev.to/chailifeotft/i-compressed-60-android-apps-into-one-108kb-runtime-heres-how-1kkh</link>
      <guid>https://dev.to/chailifeotft/i-compressed-60-android-apps-into-one-108kb-runtime-heres-how-1kkh</guid>
      <description>&lt;p&gt;I'm an ADHD developer running everything on a single RTX 4070. Over the past few months, I built 60+ web apps wrapped as Android APKs using Capacitor. Each one was 15-30MB — mostly duplicated runtime.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt; 60 × 97MB node_modules = 5.8GB of pure duplication.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The solution:&lt;/strong&gt; One shared Android runtime + tiny JSON manifests per app.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;p&gt;Instead of shipping 60 separate APKs, I built:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One OhananahO Runtime APK&lt;/strong&gt; (~20MB) — shared WebView + Capacitor core&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;48 JSON manifests&lt;/strong&gt; (~50KB total) — each describes one app (name, icon, entry point, permissions)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A manifest converter&lt;/strong&gt; that transforms existing Capacitor apps into manifests&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Numbers
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;After&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;60 APKs × 15-30MB each&lt;/td&gt;
&lt;td&gt;1 runtime + 48 manifests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;331.9 MB of app data&lt;/td&gt;
&lt;td&gt;0.04 MB of manifests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;8,086x compression ratio&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;100% space saved&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Runtime loads on phone&lt;/li&gt;
&lt;li&gt;Reads manifest directory from &lt;code&gt;/sdcard/OhananahO/apps/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Renders app grid (launcher)&lt;/li&gt;
&lt;li&gt;Tap an app → loads its web assets into the shared WebView&lt;/li&gt;
&lt;li&gt;JS bridge exposes native capabilities (camera, GPS, storage)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each app is just HTML/CSS/JS — the runtime provides everything else.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Manifest Format
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"BrickWorthy"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"entry"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"index.html"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"icon"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"icon.png"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"permissions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"camera"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"storage"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Lego inventory with photo recognition"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;If you're building multiple PWAs/web apps and wrapping them for mobile:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stop duplicating the runtime.&lt;/strong&gt; Ship one shared APK.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manifests are hot-swappable.&lt;/strong&gt; Update an app without rebuilding the APK.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;108KB launcher.&lt;/strong&gt; The grid that loads 48 apps is smaller than a favicon.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Built With
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Android SDK (command-line tools, no Android Studio)&lt;/li&gt;
&lt;li&gt;Java 17 (no Gradle for the lightweight path)&lt;/li&gt;
&lt;li&gt;Python manifest converter&lt;/li&gt;
&lt;li&gt;HTML/CSS/JS for all app frontends&lt;/li&gt;
&lt;li&gt;Single RTX 4070 running Ollama + ComfyUI + the mesh simultaneously&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;The ADHD brain wants to build 60 things. The engineering brain says "but they all share 97% of their code." The compression brain says "extract the common, vary the unique." That's what this is.&lt;/p&gt;




&lt;p&gt;If you're running multiple local AI tools, web apps, or utilities and wrapping them for mobile, this pattern saves massive space and simplifies updates.&lt;/p&gt;

&lt;p&gt;The full toolkit (7 builds including this one) is documented with video tutorials: &lt;a href="https://drakeent.gumroad.com/l/fpxfxe" rel="noopener noreferrer"&gt;AI Creator's Toolkit on Gumroad&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer questions about the architecture or share the manifest converter.&lt;/p&gt;

</description>
      <category>android</category>
      <category>architecture</category>
      <category>performance</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I built a self-evolving AI engine with 6 nodes and shipped 4 products in one day</title>
      <dc:creator>ChaiLifeOTFT</dc:creator>
      <pubDate>Sun, 15 Mar 2026 21:47:26 +0000</pubDate>
      <link>https://dev.to/chailifeotft/i-built-a-self-evolving-ai-engine-with-6-nodes-and-shipped-4-products-in-one-day-4fmi</link>
      <guid>https://dev.to/chailifeotft/i-built-a-self-evolving-ai-engine-with-6-nodes-and-shipped-4-products-in-one-day-4fmi</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;P.U.S.H. Protocol&lt;/strong&gt; (Persistent, Unified, Self-Referential, Hierarchical) -- a self-evolving AI engine that runs as a 6-node mesh network. Each node can reason about its own architecture, propose modifications, and coordinate with the other 5 nodes to ship real products.&lt;/p&gt;

&lt;p&gt;Yesterday, this mesh shipped 4 products in a single day.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;p&gt;The system runs on a coordination grammar -- not API calls, not message queues. Each node speaks a protocol that carries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Intent&lt;/strong&gt; (what it wants to do)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context&lt;/strong&gt; (what it knows about the system state)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-reference&lt;/strong&gt; (its own operational model)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The 6 nodes handle different domains: engineering, security, agent control, knowledge distribution, creative production, and coordination. They communicate via a D-Bus signal router with HTTP proxy, running on a local mesh.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React + D3.js force-directed graph visualization&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Engine&lt;/strong&gt;: Python + Flask-SocketIO + Ollama (local LLMs)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory&lt;/strong&gt;: SQLite episodic memory with SHA-256 hash chains&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coordination&lt;/strong&gt;: Custom grammar protocol over HTTP/WebSocket&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment&lt;/strong&gt;: GitHub Pages for the visualization&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Live Demo
&lt;/h2&gt;

&lt;p&gt;Check it out:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chailifeotft.github.io/PUSH-Protocol/" rel="noopener noreferrer"&gt;Live Demo - P.U.S.H. Protocol Visualization&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ChaiLifeOTFT/PUSH-Protocol" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The visualization shows the 6-node mesh with a force-directed layout, showing how nodes relate and coordinate in real-time.&lt;/p&gt;

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

&lt;p&gt;The key insight: if you give an AI system a model of itself -- not just a prompt, but an actual self-referential architecture -- it can reason about its own capabilities and limitations. It can propose changes to its own coordination protocol. It can identify bottlenecks and route around them.&lt;/p&gt;

&lt;p&gt;This is not AGI. It is something more practical: a system that gets better at shipping the more it ships.&lt;/p&gt;

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

&lt;p&gt;The mesh is now self-improving. Each shipping cycle feeds back into the coordination grammar, making the next cycle faster. We are tracking decision outcomes, policy evolution, and capability growth across all 6 nodes.&lt;/p&gt;

&lt;p&gt;If you are building autonomous systems or multi-agent architectures, I would love to hear how you handle coordination. Drop a comment or check out the repo.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with React, D3.js, Python, and a lot of conversations with AI nodes that have opinions about their own architecture.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>react</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
