<?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: Nagi Punyamurthula</title>
    <description>The latest articles on DEV Community by Nagi Punyamurthula (@n0agi).</description>
    <link>https://dev.to/n0agi</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%2F4086778%2F1aa3e774-533a-45a8-935c-6fd845996f19.png</url>
      <title>DEV Community: Nagi Punyamurthula</title>
      <link>https://dev.to/n0agi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/n0agi"/>
    <language>en</language>
    <item>
      <title>How a Solo Indie Dev Runs a Full Stack Through Claude Cowork (iOS + Android + Backend)</title>
      <dc:creator>Nagi Punyamurthula</dc:creator>
      <pubDate>Fri, 21 Aug 2026 20:28:51 +0000</pubDate>
      <link>https://dev.to/n0agi/how-a-solo-indie-dev-runs-a-full-stack-through-claude-cowork-ios-android-backend-3nb9</link>
      <guid>https://dev.to/n0agi/how-a-solo-indie-dev-runs-a-full-stack-through-claude-cowork-ios-android-backend-3nb9</guid>
      <description>&lt;p&gt;&lt;em&gt;How N0AGI LLC runs an entire product-engineering loop — two mobile platforms at feature parity, plus the production web app and API backend that power them — as a part-time solo operator, using Claude Cowork with a custom governance skill system.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why this writeup exists
&lt;/h2&gt;

&lt;p&gt;Most public Claude Cowork demos show the same two things: sorting a messy Downloads folder, or building a go-to-market pipeline. Impressive, but they don't answer the question I actually had as an indie developer: &lt;em&gt;can this thing carry real, shipped product engineering — the kind you put your name and an LLC behind?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is my answer. I'm a part-time, self-funded solo developer operating as N0AGI LLC. I ship native mobile apps to both the App Store and Google Play kept at feature parity, &lt;em&gt;and&lt;/em&gt; I run the production web app and API backend those apps depend on — the whole stack, frontend to backend to two mobile clients — on a limited weekly time budget. I run that entire loop through Claude Cowork, steered by a small system of custom skills I wrote to keep an autonomous agent inside guardrails I trust.&lt;/p&gt;

&lt;p&gt;The point I want to make to other indies — and, honestly, to Anthropic — is that Cowork isn't just a productivity toy for non-coders. In the hands of a solo developer it's a force multiplier that makes an &lt;em&gt;entire product stack&lt;/em&gt; — two mobile platforms at parity plus the backend that serves them — survivable for one person.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3d1k5xhn4fj1i5lcexws.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3d1k5xhn4fj1i5lcexws.png" alt="73 by N0AGI running on iOS and Android" width="800" height="1776"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;73 by N0AGI, live on both stores — iOS above, Android below.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The apps
&lt;/h2&gt;

&lt;p&gt;I'll ground everything in three real, shipped products so nothing here is hypothetical — and, importantly, they aren't three isolated apps. They're a stack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;73 by N0AGI&lt;/strong&gt; — an FCC callsign lookup tool for amateur radio operators. (My own callsign is N0AGI; "73" is ham shorthand for "best regards.") It's a focused utility: fast lookups against FCC license data, built for operators who want the answer in one tap.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;call.n0agi.com&lt;/strong&gt; — and this is the piece that reframes the whole story. It's a production-grade web app that serves both a public frontend &lt;em&gt;and&lt;/em&gt; the API backend stack that the 73 mobile app depends on. In other words, 73 isn't a standalone client hitting some third-party service — it's a client of a backend I designed, built, and operate myself, through Cowork. This is the part I most want to highlight: Cowork isn't just helping me port UI between two phones. It's carrying a real full-stack system — server, API, and two native clients — that has to stay coherent end to end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ChipVault&lt;/strong&gt; — an NFC reader/writer built around MIFARE DESFire EV2/EV3 secure elements with AES-128, on a strict no-cloud privacy model. Nothing leaves the device. That privacy-first architecture is the through-line of everything I build, and — as I'll explain — it's also why the &lt;em&gt;way&lt;/em&gt; I use Cowork matters as much as the fact that I use it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Where things stand — August 2026&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;73 by N0AGI&lt;/strong&gt; — iOS v1.2.3, Android v0.1.5, running at feature parity: same FCC ULS data layer, same search, filters, favorites, history, stats and themes, same one-time $2.99 on both stores. 73 for Android first shipped to Google Play on 2026-07-02, written in Kotlin + Jetpack Compose + Material 3.&lt;br&gt;
&lt;a href="https://apps.apple.com/us/app/73-by-n0agi/id6763606602" rel="noopener noreferrer"&gt;App Store&lt;/a&gt; · &lt;a href="https://play.google.com/store/apps/details?id=com.n0agi.app73" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt; · &lt;a href="https://products.n0agi.com/" rel="noopener noreferrer"&gt;products.n0agi.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here's the part that makes 73 more than a two-platform story: &lt;strong&gt;call.n0agi.com&lt;/strong&gt;. I self-host it, and I built it the same way I build everything else — through Cowork. It runs on Go, chi and SQLite, and it serves the public web frontend &lt;em&gt;and&lt;/em&gt; the API stack that 73 calls, pulling FCC ULS and RadioID.net data on nightly and weekly refresh cycles. 73 isn't a mobile skin over somebody else's service. The backend it talks to is mine, end to end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ChipVault&lt;/strong&gt; — iOS v2.4.0, Android v1.4.0, both released on 2026-08-17 carrying the same feature set on both platforms. Personalize a card on one, read it on the other.&lt;br&gt;
&lt;a href="https://apps.apple.com/us/app/chipvault/id6772799276" rel="noopener noreferrer"&gt;App Store&lt;/a&gt; · &lt;a href="https://play.google.com/store/apps/details?id=com.n0agi.chipvault" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt; · &lt;a href="https://products.n0agi.com/chipvault/" rel="noopener noreferrer"&gt;products.n0agi.com/chipvault&lt;/a&gt;&lt;br&gt;
No cloud anywhere in the design: MIFARE DESFire EV2/EV3, AES-128, and nothing that leaves the card and the phone.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The actual problem: parity is a tax that scales with platforms, not with users
&lt;/h2&gt;

&lt;p&gt;Here's the thing nobody tells you about going cross-platform as a solo dev. The cost isn't writing the second app. It's keeping the two apps &lt;em&gt;honest with each other&lt;/em&gt; forever after.&lt;/p&gt;

&lt;p&gt;Every feature is now two implementations. Every bug fix has to be checked on both sides. Every store submission has two sets of metadata, two review processes, two sets of screenshots at different aspect ratios. A change that's a 20-minute job on one platform quietly becomes a half-day when you count the parity work, the cross-checking, and the context-switching between two toolchains and two languages.&lt;/p&gt;

&lt;p&gt;For a full-time team, you throw people at it. For a part-time solo operator, that tax is the thing that kills cross-platform ambitions before they ship. My scarcest resource isn't skill or ideas — it's &lt;em&gt;hours&lt;/em&gt;, and parity work is where hours go to die.&lt;/p&gt;

&lt;p&gt;That's the specific problem I pointed Cowork at. Not "write my app for me." Keep my two apps in sync without me having to hold both entire codebases in my head at once.&lt;/p&gt;




&lt;h2&gt;
  
  
  How I run it: Cowork as the parity engine
&lt;/h2&gt;

&lt;p&gt;The mental model that made this click: &lt;strong&gt;I do the thinking on one platform; Cowork carries the decision to the other and tells me where they've drifted.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A typical cycle looks like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;I design and implement a feature on the lead platform&lt;/strong&gt; (usually iOS, in Xcode, since that's my home turf). This is the part I want human judgment on — the UX decisions, the tricky protocol work, the security-sensitive bits in ChipVault.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;I hand Cowork the diff and the intent.&lt;/strong&gt; Not "port this," but "here's what changed and &lt;em&gt;why&lt;/em&gt; — bring the Android side to matching behavior, and flag anything that can't map cleanly." The "why" matters: it lets the agent make the right call when the platforms genuinely differ instead of blindly translating.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cowork works across both project directories.&lt;/strong&gt; Because it operates on my actual files, it can read both codebases, produce the parallel implementation, and — critically — surface the places where iOS and Android &lt;em&gt;shouldn't&lt;/em&gt; be identical (platform conventions, permission models, the NFC and secure-element APIs that differ between CoreNFC and Android's NFC stack).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;I review and steer.&lt;/strong&gt; I'm never handing over the keys. I'm reviewing a proposed parallel change against a decision I already made and understand.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Parity audit.&lt;/strong&gt; This is the highest-leverage part. I can ask Cowork to compare the two codebases against a feature checklist and tell me where they've diverged — the thing that, done by hand, is the single most tedious and error-prone job in solo cross-platform work.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The result isn't that Cowork writes my apps. It's that the &lt;em&gt;parity tax&lt;/em&gt; — the thing that made two platforms feel impossible for one part-time person — got small enough to pay.&lt;/p&gt;




&lt;h2&gt;
  
  
  Beyond the phones: running a full-stack backend the same way
&lt;/h2&gt;

&lt;p&gt;The parity loop above is the mobile half. The part that surprised even me is how well the same working model extends to the backend.&lt;/p&gt;

&lt;p&gt;call.n0agi.com isn't a toy. It's a production web app that serves a public frontend and, behind it, the API stack that the 73 mobile app calls. That means a change is rarely confined to one surface — a new capability in 73 might need an API endpoint on the backend, a change to the web frontend, and matching client code on &lt;em&gt;both&lt;/em&gt; iOS and Android. Four moving parts that all have to agree on the same contract.&lt;/p&gt;

&lt;p&gt;Holding that whole chain in your head as one person is exactly the kind of thing that used to make me scope features down or not ship them at all. Now the loop looks like: I decide the contract — what the endpoint does, what it returns, how the clients consume it — and Cowork carries that single decision coherently across the backend, the web frontend, and the two mobile clients, flagging where each layer needs something different. The agent isn't just translating UI between two phones; it's keeping a &lt;em&gt;system&lt;/em&gt; internally consistent, from server to API to client.&lt;/p&gt;

&lt;p&gt;For a solo operator, that's the difference between "I have a mobile app" and "I run a full-stack product." The second one used to require a team.&lt;/p&gt;

&lt;blockquote&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;           FCC ULS  ·  RadioID.net
                     │  nightly + weekly data pull
                     ▼
           call.n0agi.com — self-hosted
              ┌──────────┴──────────┐
         web frontend              API
              │                     │
              ▼                     ▼
          web users        73 iOS  ·  73 Android
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;One data layer behind one host: the browser gets the frontend, the phones get the API. Every box is mine, and every box gets built the same way.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here's a piece of it — the part that decides whether a licensee's home address ever leaves the server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="c"&gt;// applyAddressPrivacy mutates cs in place to redact street address + ZIP&lt;/span&gt;
&lt;span class="c"&gt;// when the admin has set show_street_address=false. No-op if cs is nil.&lt;/span&gt;
&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;Handler&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;applyAddressPrivacy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cs&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CallSign&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;cs&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="no"&gt;nil&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;show&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GetSetting&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"show_street_address"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;show&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s"&gt;"false"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;placeholder&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GetSetting&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"redact_placeholder"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;ok&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;placeholder&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;placeholder&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"[PRIVATE]"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;cs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddressLine1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;placeholder&lt;/span&gt;
    &lt;span class="n"&gt;cs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ZipCode&lt;/span&gt;      &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;placeholder&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The FCC publishes every licensee's street address. On my instance that setting is off, so the redaction happens right here — server-side, before the JSON is serialised — rather than in the app, where a client could simply decide not to honour it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The part I think is actually novel: governance skills
&lt;/h2&gt;

&lt;p&gt;Handing an autonomous agent access to real, shipped product code should make any serious developer nervous. It made me nervous. An agent confidently doing the wrong thing across a live codebase is a real risk, not a hypothetical one.&lt;/p&gt;

&lt;p&gt;So I didn't just use Cowork out of the box. I built a small system of custom skills to put structure around every working session — a lightweight constitution for how the agent is allowed to operate on my projects.&lt;/p&gt;

&lt;p&gt;Two of them anchor every session:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;/checkin&lt;/code&gt;&lt;/strong&gt; — a ramp-up ritual I run at the start of a session. It re-establishes the ground rules, the engagement model, and the project context before any work happens. Think of it as the agent reading its own operating manual before touching anything.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;/checkout&lt;/code&gt;&lt;/strong&gt; — a session-end ritual. It drafts the record of what happened and updates my task and build logs.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The decision that matters is what the agent may change on its own. Routine session records — what happened, what shipped, what's still open — it writes itself, because those are reversible and I can see them. The rules it operates under, and anything that would carry a decision into another project, it can only propose. I approve, or it doesn't land.&lt;/p&gt;

&lt;p&gt;That's the asymmetry the whole thing rests on: &lt;strong&gt;the agent can revise the record of what happened; it cannot revise the rules it works under.&lt;/strong&gt; Everything I'm comfortable delegating sits on top of that one line — and it's what lets me hand off real work without lying awake about it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frcrd54jh97ei778cdql4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frcrd54jh97ei778cdql4.png" alt="Cowork /checkin — the ramp-up receipt" width="776" height="1610"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;code&gt;/checkin&lt;/code&gt; at the start of a session — documents loaded with their hashes, every discipline in force, project state recovered before any work happens.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzipge7hwvoa38t4v0v20.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzipge7hwvoa38t4v0v20.png" alt="Cowork /checkout — the session-end preview" width="800" height="1312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;code&gt;/checkout&lt;/code&gt; at the end — the session record auto-writes; anything canonical stops and waits. "Say cancel or edit to intervene."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is the part I'd most want an Anthropic DevRel or partner-team person to see. It's evidence that the skills/plugin system enables solo developers to build the trust scaffolding that makes agentic development safe enough to bet a business on.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why the privacy-first angle matters here
&lt;/h2&gt;

&lt;p&gt;Everything I ship runs on a no-cloud model — ChipVault most strictly. That creates an obvious tension with using a cloud AI agent, and I want to be straight about how I resolve it, because other privacy-minded builders will have the same question.&lt;/p&gt;

&lt;p&gt;The distinction I hold: &lt;strong&gt;Cowork is part of my development environment, not part of my product's runtime.&lt;/strong&gt; My users' data never touches it. What Cowork sees is my own source code and my own project files, during my own build process — the same category of thing my IDE and my version control see. ChipVault makes no network calls at all; 73 talks only to my own server. The privacy promise I make to my users is about the app's runtime behavior, and that promise is intact.&lt;/p&gt;

&lt;p&gt;For anyone building on a trust-differentiated, no-cloud model: this line — &lt;em&gt;dev-time tooling vs. product runtime&lt;/em&gt; — is the one that lets you use a cloud agent without undercutting your own positioning. Worth deciding deliberately rather than by accident.&lt;/p&gt;

&lt;p&gt;I checked my own settings rather than assume. I'm on a Max plan with "Help improve our AI models" turned off, so my chats and coding sessions aren't used to train models, and they're kept for 30 days instead of five years. On consumer plans that's opt-in rather than on by default — but it is a setting, so it's worth opening yours and looking rather than taking anyone's word for it.&lt;/p&gt;




&lt;h2&gt;
  
  
  What actually changed, honestly
&lt;/h2&gt;

&lt;p&gt;Let me keep this grounded and avoid the breathless-demo tone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What got dramatically better:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parity work stopped being the bottleneck. The cross-platform tax dropped from "the reason not to do it" to "a manageable line item."&lt;/li&gt;
&lt;li&gt;The tedious, error-prone parity &lt;em&gt;auditing&lt;/em&gt; — the worst job in solo cross-platform dev — became something I could ask for on demand instead of dreading.&lt;/li&gt;
&lt;li&gt;Context-switching cost between two toolchains dropped, because I'm holding one platform in my head and letting the agent carry the bridge.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What still needs me:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The hard thinking — architecture, security-sensitive code, UX judgment — is still mine, and should be. Cowork is a parity engine and a force multiplier, not a replacement for the decisions that make the product good.&lt;/li&gt;
&lt;li&gt;Review discipline is non-negotiable. The governance skills exist precisely because "trust but verify" has to be structural, not aspirational.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One concrete number, from the most recent thing I shipped. ChipVault's Public Record feature — writing an NDEF record onto the card so any stock phone can read it — went from locked design to live on both stores in five days: design settled on 12 August, the iOS build hardware-verified on the 14th, the Android port hardware-verified on the 16th, both versions submitted on the 17th. That's a new wire format, a provisioning path, key derivation and an eleven-field editor, done twice.&lt;/p&gt;

&lt;p&gt;The five days isn't really the number that matters to me. It's that the Android port finished the same day the iOS side did. The release before it went the same way — iOS diagnostics build one day, the Android parity port the next.&lt;/p&gt;




&lt;h2&gt;
  
  
  The real change: from doing everything to steering everything
&lt;/h2&gt;

&lt;p&gt;I want to close with the part that actually matters to me, because it's bigger than any workflow tip.&lt;/p&gt;

&lt;p&gt;Before Claude Cowork, being an indie developer meant being &lt;em&gt;all&lt;/em&gt; of it. I designed. I architected. I wrote every line on every platform. I tested. I did the marketing. Every one of those hats sat on one head, and the number of hats is exactly why so many indie ideas never ship — not because they're bad ideas, but because one person cannot sustainably wear all of them at once, part-time, forever.&lt;/p&gt;

&lt;p&gt;What changed isn't that I got faster at wearing the hats. It's that I took one off.&lt;/p&gt;

&lt;p&gt;Leaning on Cowork moved me out of the pure-developer seat. My software engineering — the implementation across iOS, Android, the web frontend, and the backend — I now delegate to Cowork, with my governance skills as the guardrails and my review as the final gate. That freed me to do the thing I'm actually best positioned to do as the person who owns the vision: steer product strategy. Decide &lt;em&gt;what&lt;/em&gt; to build and &lt;em&gt;why&lt;/em&gt;. Own the architecture and the contracts. Shape the roadmap. Make the calls that need human judgment and taste.&lt;/p&gt;

&lt;p&gt;In practical terms, my role changed from &lt;em&gt;developer&lt;/em&gt; to something closer to a &lt;strong&gt;product officer&lt;/strong&gt; — the person setting direction — with Cowork as my software engineering function. Not an assistant that autocompletes a line here and there. The engineer that takes a decision I've made and carries it, coherently, across the whole stack.&lt;/p&gt;

&lt;p&gt;I want to be precise about that claim, because "I delegate 100% of my engineering to an AI" is the kind of line that makes a serious developer wince — and they'd be right to. The honest version is sharper: I delegate the &lt;em&gt;implementation&lt;/em&gt; fully, but never the &lt;em&gt;judgment&lt;/em&gt;. Every session runs inside the checkin/checkout guardrails, and every change passes my review before it's real. That's the whole point. Full delegation without structural review is recklessness; structural review without delegation is just doing all the work yourself. The thing that actually changed my life is the combination — I hand off the entire engineering execution &lt;em&gt;and&lt;/em&gt; I keep a disciplined gate on it. Steering with real guardrails, not hands-off. That pairing is the part I'd stake my name on, precisely because it's the part that makes trusting an agent with a live, shipped codebase defensible.&lt;/p&gt;

&lt;p&gt;That's the transformation I'd want other indies to hear, because it reframes what this technology is &lt;em&gt;for&lt;/em&gt;. It didn't just make me a faster coder. It changed what my job is. For the first time, being a one-person shop doesn't mean being stretched across every discipline until the thin spots tear — it means owning the decisions that only I can make, and having a capable engineering function to execute them. That's not a small productivity gain. For a solo operator, it's a different life.&lt;/p&gt;




&lt;h2&gt;
  
  
  For other indie developers
&lt;/h2&gt;

&lt;p&gt;If you're a solo or very small shop weighing cross-platform, the takeaway I'd offer:&lt;/p&gt;

&lt;p&gt;The reason "just build both" feels impossible isn't the second codebase — it's the &lt;em&gt;forever&lt;/em&gt; cost of keeping them honest. That's the specific cost an agent that works on your real files can absorb. Start with one folder and one narrow task (I'd suggest a parity audit, not a full port — it's the fastest "oh, this is real" moment). Build yourself a checkin/checkout discipline before you scale up what you delegate. And decide your dev-tooling-vs-runtime privacy line on purpose.&lt;/p&gt;

&lt;p&gt;You don't need a team to ship two-platform parity anymore. You need a lead platform you understand deeply, a disciplined loop, and an agent you've put real guardrails around.&lt;/p&gt;




&lt;h2&gt;
  
  
  For Anthropic
&lt;/h2&gt;

&lt;p&gt;If anyone from the Claude Code / Cowork team reads this: the indie, self-funded, part-time developer is a user profile your public examples don't really cover, and I think it's a more interesting one than it looks. We're the case where Cowork isn't a convenience — it's the thing that makes an otherwise-impossible scope (a full stack — backend, web, and two mobile clients — run by one person on limited hours) actually shippable. We're building non-trivial governance systems on top of your skills primitive to make agentic development trustworthy enough to run a business on. And for at least one of us, Cowork didn't just speed up the work — it changed the job, from wearing every hat to steering product strategy with Cowork as the engineering function.&lt;/p&gt;

&lt;p&gt;I'd be glad to show the full workflow — the cross-platform parity loop, the full-stack backend work behind call.n0agi.com, and the checkin/checkout governance system, mapped to real shipped products — in more depth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;N0AGI LLC&lt;/strong&gt; — &lt;a href="https://n0agi.com" rel="noopener noreferrer"&gt;n0agi.com&lt;/a&gt; · &lt;a href="mailto:N0AGI@N0AGI.com"&gt;N0AGI@N0AGI.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;73 by N0AGI&lt;/strong&gt; — &lt;a href="https://apps.apple.com/us/app/73-by-n0agi/id6763606602" rel="noopener noreferrer"&gt;App Store&lt;/a&gt; · &lt;a href="https://play.google.com/store/apps/details?id=com.n0agi.app73" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;ChipVault&lt;/strong&gt; — &lt;a href="https://apps.apple.com/us/app/chipvault/id6772799276" rel="noopener noreferrer"&gt;App Store&lt;/a&gt; · &lt;a href="https://play.google.com/store/apps/details?id=com.n0agi.chipvault" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;call.n0agi.com&lt;/strong&gt; — &lt;a href="https://call.n0agi.com" rel="noopener noreferrer"&gt;the web app and API behind 73&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Nagi — N0AGI LLC. Licensed amateur radio operator, indie iOS/Android developer, privacy-first by default.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>showdev</category>
      <category>mobile</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
