<?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: Vels Lobak</title>
    <description>The latest articles on DEV Community by Vels Lobak (@velsa).</description>
    <link>https://dev.to/velsa</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F775461%2F476dcdbf-290d-4437-b741-3fda5fd251a8.jpeg</url>
      <title>DEV Community: Vels Lobak</title>
      <link>https://dev.to/velsa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/velsa"/>
    <language>en</language>
    <item>
      <title>How to keep Claude Code running 24/7 (and use it from your phone)</title>
      <dc:creator>Vels Lobak</dc:creator>
      <pubDate>Wed, 04 Nov 2026 20:54:43 +0000</pubDate>
      <link>https://dev.to/velsa/how-to-keep-claude-code-running-247-and-use-it-from-your-phone-4eg8</link>
      <guid>https://dev.to/velsa/how-to-keep-claude-code-running-247-and-use-it-from-your-phone-4eg8</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Claude Code stops when your laptop sleeps. Here are 3 ways to keep it running around the clock and steer it from the Claude app on your phone.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I used to give Claude Code long tasks to work on, then I would switch to other chores and forget about it. Then I close the laptop and head out. Later, I would open the Claude app just to realize that it got interrupted midway or was stuck waiting for an approval nobody could give it...&lt;/p&gt;

&lt;p&gt;If that sounds familiar, you're in good company. The &lt;a href="https://github.com/anthropics/claude-code/issues" rel="noopener noreferrer"&gt;Claude Code issue tracker&lt;/a&gt; is full of people asking the same question: &lt;em&gt;how do I keep it going when I walk away from my desk?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The short answer: a local Claude Code session only runs while the computer it's on is awake and online. &lt;a href="https://x.com/noahzweben/status/2026371260805271615" rel="noopener noreferrer"&gt;Remote Control&lt;/a&gt; lets you reach the session from your phone, &lt;em&gt;but it doesn't keep it alive&lt;/em&gt;. So you either keep your laptop awake, or you run the session on a computer that never sleeps.&lt;/p&gt;

&lt;p&gt;Below are the four ways I know how to make it work. Full disclosure up front: I built the last one. The others work fine, and for a lot of people they're the good enough, but I needed something more robust that is also easier to use and doesn't require babysitting.&lt;/p&gt;

&lt;p&gt;Lets go trough them one by one.&lt;/p&gt;

&lt;h3&gt;
  
  
  First, the basics: Remote Control
&lt;/h3&gt;

&lt;p&gt;Remote Control is Claude Code's built-in way to continue a session from another device. Inside a running session, type:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/remote-control&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Then open the Claude app on your phone (or &lt;a href="https://claude.ai/code" rel="noopener noreferrer"&gt;claude.ai/code&lt;/a&gt;) and continue the session.&lt;/p&gt;

&lt;p&gt;Two things worth knowing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The session &lt;em&gt;still runs on your machine&lt;/em&gt;. If that machine goes to sleep, the session stops answering.&lt;/li&gt;
&lt;li&gt;The link can drop without an error. If your phone shows the session but nothing updates, go back to the terminal and run &lt;code&gt;/remote-control&lt;/code&gt; again.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Option 0: Claude Code cloud sessions (official, included in your plan)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Good if:&lt;/strong&gt; your task is "take this repo and do X", and your code is on GitHub.&lt;/p&gt;

&lt;p&gt;Since September 2026, Anthropic runs cloud sessions for Pro, Max and Team plans. You start a session from claude.ai/code, the Claude phone app, the desktop app, or run &lt;code&gt;claude --cloud&lt;/code&gt; in your terminal. It runs on Anthropic's own machines, keeps going when you close your laptop, and there's no separate charge for the VM (it counts toward your normal usage limits).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The catch:&lt;/strong&gt; it's a session, not a computer you can keep. After a while of inactivity the VM is reclaimed. This means that your conversation will continue where it stopped, but anything that was running in the background (a dev server, a long script, a scheduled loop) – all will be gone. And obviously you can't use their machine to host your app or website. &lt;/p&gt;

&lt;p&gt;Its fine for one-off coding tasks. It's free with your plan.&lt;br&gt;
But honestly - I tried it once and never used it again.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option 1: Keep your own computer awake (free)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Good if:&lt;/strong&gt; you have a desktop, or a laptop that can stay home and plugged in.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;macOS: run &lt;code&gt;caffeinate -dims&lt;/code&gt; in a terminal tab. The Mac stays awake while it runs. On a MacBook, closing the lid still puts it to sleep unless it's on power with an external display connected.&lt;/li&gt;
&lt;li&gt;Linux: start Claude Code with &lt;code&gt;systemd-inhibit --what=idle:sleep --why="claude running" claude&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Windows: Settings → System → Power → set sleep to "Never" when plugged in.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The catch:&lt;/strong&gt; your laptop is now a server. It sits on your desk, on your home Wi-Fi, and Claude works on the same machine where your personal files and browser logins live. If the power or the Wi-Fi blinks, the session is gone until you're back to revive it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option 2: Rent a small server and use tmux (cheap, hands-on)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Good if:&lt;/strong&gt; you're comfortable with Linux and SSH.&lt;/p&gt;

&lt;p&gt;Rent a small Linux server. A few dollars a month is enough for light projects; but builds and tests need more memory.&lt;br&gt;
Install Claude Code and sign in with your Claude account.&lt;br&gt;
Start it inside tmux, so it keeps running after you disconnect: &lt;code&gt;tmux new -s claude claude&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In the claude session, type &lt;code&gt;/remote-control&lt;/code&gt;. Detach with &lt;code&gt;Ctrl+b&lt;/code&gt;, then &lt;code&gt;d&lt;/code&gt;. Close your laptop. Open the Claude app on your phone or desktop and you will see this session appear in the list of sessions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The catch:&lt;/strong&gt; you're the sysadmin now. Updates, firewall, SSH keys, a full disk, Claude's login expiring, the process dying at 3am: all yours. tmux doesn't come back after a server reboot, and if Claude crashes, nothing restarts it. You find out about it the next time you check your phone.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option 3: Give Claude Code its own computer (what I built)
&lt;/h3&gt;

&lt;p&gt;This is the exact problem I built &lt;a href="https://podway.io" rel="noopener noreferrer"&gt;podway&lt;/a&gt; for. It gives Claude Code its own always-on computer in the cloud. We call it a pod: a private machine with your project, tools and services inside.&lt;/p&gt;

&lt;p&gt;Your session is always running. Open it from the Claude app on your phone, no PC needed.&lt;br&gt;
Nothing gets reclaimed. The pod stays on, so your dev servers, databases, workers and scheduled jobs keep running between sessions, and your files are still there tomorrow.&lt;br&gt;
It recovers on its own. If Claude's login expires or the agent crashes, podway restarts it and reconnects Remote Control. Pod restarts and updates reconnect your session automatically.&lt;br&gt;
It's the official CLI, signed in with your own Pro or Max plan. Podway doesn't proxy your model login or add any markup for tokens.&lt;br&gt;
All your stuff stays on your personal computer. Claude works in an isolated computer, away from your personal files, browser sessions and home network.&lt;br&gt;
You can always get in. There's a browser terminal for direct access to the cloud machine, and it works on your phone too.&lt;/p&gt;

&lt;p&gt;There is one limitation, but it is kind of intentional: &lt;em&gt;you can have  only one claude session per pod&lt;/em&gt;. You always connect to the same session from all your devices and run your prompts in sequence. This is a genuine limitation from Anthropic, but it actually works to our advantage. It allows me to give each pod its own purpose – a focused target that it constantly pursues. This makes agent laser focused on the project and much more effective. Want to work on a new project? Separate your concerns, use another pod.&lt;/p&gt;

&lt;p&gt;Pods on &lt;a href="https://podway.io" rel="noopener noreferrer"&gt;podway&lt;/a&gt; start at $4/month, and your first small pod is free during early access, no card needed.&lt;/p&gt;

&lt;h3&gt;
  
  
  So which one should you pick?
&lt;/h3&gt;

&lt;p&gt;My suggestion:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One-off coding tasks on a GitHub repo → Option 0. It's included in your plan.&lt;/li&gt;
&lt;li&gt;You have a computer that's always on anyway → Option 1. It's free.&lt;/li&gt;
&lt;li&gt;You enjoy running and configuring servers → Option 2. Cheap, and you own every piece.&lt;/li&gt;
&lt;li&gt;You want a machine that stays on, with your dev server, database and scheduled jobs still running tomorrow, without babysitting a server → Option 3.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you try any of these and get stuck, tell me in the comments. Happy to help :)&lt;/p&gt;

&lt;p&gt;Itzhak&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
    <item>
      <title>Styled Components for React Native the way they should have been</title>
      <dc:creator>Vels Lobak</dc:creator>
      <pubDate>Tue, 21 Dec 2021 17:00:00 +0000</pubDate>
      <link>https://dev.to/velsa/styled-components-for-react-native-the-way-they-should-have-been-f88</link>
      <guid>https://dev.to/velsa/styled-components-for-react-native-the-way-they-should-have-been-f88</guid>
      <description>&lt;p&gt;To be honest, I've always felt that using 💅🏼&lt;code&gt;styled-components&lt;/code&gt; to style &lt;code&gt;View&lt;/code&gt;, &lt;code&gt;Text&lt;/code&gt;, &lt;code&gt;TouchableOpacity&lt;/code&gt; and other native components was very cumbersome. &lt;/p&gt;

&lt;p&gt;React Native does not really work with DOM, so &lt;em&gt;there is no real css engine&lt;/em&gt; underneath. This means that a lot of css functionality is simply not available and 90% of the time you will be using very basic css attributes: flex layout, colors, fonts, etc..&lt;/p&gt;

&lt;p&gt;Then there is an issue with template strings - it is NOT easy to use them! Sometimes you end up creating nested template strings and needing to have special VS Code extensions to write &lt;code&gt;css&lt;/code&gt;, and remember to put &lt;code&gt;;&lt;/code&gt; at the end of each line, etc.. &lt;/p&gt;

&lt;p&gt;And after you've managed all that, &lt;code&gt;styled-components&lt;/code&gt; will generate the React Native styles from your template string and will pass them to the component. Yeah, cool...&lt;/p&gt;

&lt;p&gt;So I thought to my self - why not use the native styles in the first place and avoid all the template string mess?&lt;/p&gt;

&lt;p&gt;I googled a bit and found this &lt;a href="https://dev.to/lenilsondc/writing-a-styled-hoc-for-react-native-using-typescript-3i25"&gt;this article&lt;/a&gt;, which inspired me to create an alternative to styled-components for React Native.&lt;/p&gt;

&lt;p&gt;And thus the 💄&lt;code&gt;styled-rn&lt;/code&gt; package was born :)&lt;/p&gt;

&lt;p&gt;Why it better than 💅🏼&lt;code&gt;styled-components/native&lt;/code&gt;?&lt;/p&gt;

&lt;p&gt;Well, first of all, using styled components in React Native should be fun, but as I already mentioned, template strings are not fun.&lt;/p&gt;

&lt;p&gt;Also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;styled-rn&lt;/code&gt; gives you access to ALL React Native style props&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;styled-rn&lt;/code&gt; is faster because it does not do tedious string template processing&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;styled-rn&lt;/code&gt; is easier to use (again, no messy string templates)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;styled-rn&lt;/code&gt; is fully typed and has a nice API&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;styled-rn&lt;/code&gt; supports component attributes, custom props, theme via &lt;code&gt;ThemeProvider&lt;/code&gt;, multiple style objects and more..&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;styled-rn&lt;/code&gt; has a shorter name ;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Usage:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i styled-rn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;styled-rn&lt;/code&gt; API is almost one-to-one with the &lt;code&gt;styled-components&lt;/code&gt; API, but everything happens in Javascript with full Typescript support:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;styled-rn&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Container&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;View&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;flexDirection&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;row&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;backgroundColor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;cyan&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Of course you can style any other component as well:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Use with any component&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;CoolAndBoldComponent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;CoolComponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;fontWeight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bold&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also pass props to your components via the &lt;code&gt;attrs&lt;/code&gt; key:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Pass props to the styled component (attrs)&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;NonWrappingText&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;blue&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;attrs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;numberOfLines&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;ellipsizeMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;tail&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I hope it is obvious to see how much cleaner and nicer the code looks compared to the template string approach.&lt;/p&gt;

&lt;p&gt;💄&lt;code&gt;styled-rn&lt;/code&gt; is a very small library, but it provides robust functionality and smart typings for all the styles, props and attributes.&lt;/p&gt;

&lt;p&gt;You can find more examples and docs on the project's &lt;a href="https://github.com/velsa/styled-rn"&gt;github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks and Enjoy 💄&lt;code&gt;styled-rn&lt;/code&gt;! :)&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>typescript</category>
      <category>css</category>
    </item>
  </channel>
</rss>
