<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: RenanBP</title>
    <description>The latest articles on Forem by RenanBP (@eobarretooo).</description>
    <link>https://forem.com/eobarretooo</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%2F3808203%2F1526640a-d146-4ae0-898f-e46083310e0d.jpeg</url>
      <title>Forem: RenanBP</title>
      <link>https://forem.com/eobarretooo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/eobarretooo"/>
    <language>en</language>
    <item>
      <title>No PC. No cloud IDE. Just Android, Termux, and a lot of stubbornness.</title>
      <dc:creator>RenanBP</dc:creator>
      <pubDate>Thu, 05 Mar 2026 15:08:18 +0000</pubDate>
      <link>https://forem.com/eobarretooo/no-pc-no-cloud-ide-just-android-termux-and-a-lot-of-stubbornness-eeb</link>
      <guid>https://forem.com/eobarretooo/no-pc-no-cloud-ide-just-android-termux-and-a-lot-of-stubbornness-eeb</guid>
      <description>&lt;p&gt;My name is Renan. I'm not a professional developer — I know the basics of Python and Linux, and I'm completely obsessed with technology, automation, and AI. That combination turned out to be enough to build something I'm genuinely proud of.&lt;/p&gt;

&lt;p&gt;This is the origin story of &lt;strong&gt;&lt;a href="https://github.com/eobarretooo/ClawLite" rel="noopener noreferrer"&gt;ClawLite&lt;/a&gt;&lt;/strong&gt; — a Linux/Termux-first AI agent runtime built for operational use, not just interactive chat.&lt;/p&gt;




&lt;h2&gt;
  
  
  It Started With a Problem: No PC
&lt;/h2&gt;

&lt;p&gt;A few months ago I was away from home and had no access to my computer. I'd been following the AI agent space closely, and I'd recently discovered &lt;strong&gt;&lt;a href="https://github.com/openclaw/openclaw" rel="noopener noreferrer"&gt;OpenClaw&lt;/a&gt;&lt;/strong&gt; — it blew my mind. I needed to understand how it worked from the inside.&lt;/p&gt;

&lt;p&gt;The question was: could I run it on my phone?&lt;/p&gt;

&lt;p&gt;I started digging on GitHub and found &lt;strong&gt;&lt;a href="https://github.com/mithun50/openclaw-termux" rel="noopener noreferrer"&gt;openclaw-termux&lt;/a&gt;&lt;/strong&gt; by &lt;a href="https://github.com/mithun50" rel="noopener noreferrer"&gt;@mithun50&lt;/a&gt;. Huge credit to him — without that repo, none of this would have started. Installed it, and against all odds, it worked. It doesn't install natively into Termux; it runs Ubuntu through &lt;strong&gt;proot-distro&lt;/strong&gt;, which gives you a real Linux environment on ARM64 Android.&lt;/p&gt;

&lt;p&gt;So there I was: editing code on a phone screen, inside a terminal emulator, inside a fake Ubuntu, inside Android. Perfectly normal.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Idea: Port It to Python, Make It Compact
&lt;/h2&gt;

&lt;p&gt;I also discovered &lt;strong&gt;&lt;a href="https://github.com/HKUDS/nanobot" rel="noopener noreferrer"&gt;nanobot&lt;/a&gt;&lt;/strong&gt; by &lt;a href="https://github.com/HKUDS" rel="noopener noreferrer"&gt;@HKUDS&lt;/a&gt; around the same time — a lightweight, compact bot runtime. Big thanks to that team too. That's when the vision clicked: I wanted something like OpenClaw, but leaner, more portable, and fully understandable from the inside out.&lt;/p&gt;

&lt;p&gt;I asked OpenClaw (running on Codex 5.3) to analyze its own system and port it to Python. It did — over and over — but the output was a mess. Code without structure. Files without purpose.&lt;/p&gt;

&lt;p&gt;My mistake early on was trying to build &lt;em&gt;everything at once&lt;/em&gt;: the runtime, a website, documentation, a skills marketplace. Classic scope creep. I should have shipped the core first.&lt;/p&gt;




&lt;h2&gt;
  
  
  Rebuilding With Better Tools
&lt;/h2&gt;

&lt;p&gt;I started using &lt;strong&gt;&lt;a href="https://claude.ai" rel="noopener noreferrer"&gt;claude.ai&lt;/a&gt;&lt;/strong&gt; to craft better prompts for the AI coding sessions. That made a real difference in output quality — the difference between "it generated code" and "it generated code that actually does what I asked."&lt;/p&gt;

&lt;p&gt;Then I switched from OpenClaw to &lt;strong&gt;&lt;a href="https://github.com/openai/codex" rel="noopener noreferrer"&gt;OpenAI Codex&lt;/a&gt;&lt;/strong&gt; for the heavy lifting. Codex helped clean up the architecture: took what worked, threw out what didn't, reorganized everything into a proper structure. Progress.&lt;/p&gt;

&lt;p&gt;But bugs. So many bugs. I'd hit a wall — Codex would try, retry, and go in circles. That's when I found &lt;strong&gt;&lt;a href="https://kilo.ai" rel="noopener noreferrer"&gt;Kilo.ai&lt;/a&gt;&lt;/strong&gt;. I wasn't expecting much. Then I saw what it could do running Codex 5.3 in high-power mode. I've been using it ever since, and it's been excellent.&lt;/p&gt;

&lt;p&gt;All of this, still on my phone. Still in Termux. Still ARM64.&lt;/p&gt;




&lt;h2&gt;
  
  
  What ClawLite Actually Is
&lt;/h2&gt;

&lt;p&gt;After all those iterations, ClawLite became something with a real identity:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTTP + WebSocket gateway&lt;/strong&gt; as a control plane&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telegram-first delivery&lt;/strong&gt; with retry/backoff, deduplication, polling and webhook support&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cron scheduler&lt;/strong&gt; with lease and idempotency semantics&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persistent memory&lt;/strong&gt; runtime with monitoring&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provider failover&lt;/strong&gt; with a registry-based reliability layer&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tools and skills&lt;/strong&gt; registry for extensibility&lt;/li&gt;
&lt;li&gt;Runs entirely from a single &lt;code&gt;clawlite&lt;/code&gt; CLI command&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's designed for headless, continuous operation — not just "chat with an AI." You start it, it runs, it handles messages, executes scheduled tasks, and persists state. On a server, a Raspberry Pi, or an Android phone.&lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;You don't need to be a senior engineer to build something real.&lt;/strong&gt; I used AI as a collaborator, not a shortcut. Every output had to be understood, reviewed, and steered. The AI wrote the code; I held the vision.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start with the core. Ship everything else later.&lt;/strong&gt; Trying to build the runtime, the docs site, and the skills marketplace in parallel nearly killed the project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Constraints are features.&lt;/strong&gt; Building on ARM64 Termux forced simplicity. If it didn't run on the phone, it didn't make the cut.&lt;/p&gt;




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

&lt;p&gt;ClawLite is shipping now. The architecture is solid. I'm going to keep improving it — better docs, more reliability, eventually a proper dashboard.&lt;/p&gt;

&lt;p&gt;If any of this resonates with you — if you've ever built something sideways, with the wrong tools, in the wrong place, and made it work anyway — I'd love for you to check it out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contributions, feedback, and stars are all welcome. 😀&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://github.com/eobarretooo/ClawLite" rel="noopener noreferrer"&gt;github.com/eobarretooo/ClawLite&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks to &lt;a href="https://github.com/mithun50" rel="noopener noreferrer"&gt;@mithun50&lt;/a&gt;, &lt;a href="https://github.com/HKUDS" rel="noopener noreferrer"&gt;@HKUDS&lt;/a&gt;, Anthropic, and everyone whose open source work made this possible.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>python</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
