<?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: wong2 kim</title>
    <description>The latest articles on Forem by wong2 kim (@wong2kim).</description>
    <link>https://forem.com/wong2kim</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%2F3840483%2F506b05ca-db3e-442c-a3dc-6797a6f4904a.jpg</url>
      <title>Forem: wong2 kim</title>
      <link>https://forem.com/wong2kim</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/wong2kim"/>
    <language>en</language>
    <item>
      <title>wmux: Run Claude Code, Codex, and Gemini CLI Side by Side on Windows</title>
      <dc:creator>wong2 kim</dc:creator>
      <pubDate>Mon, 20 Apr 2026 13:09:05 +0000</pubDate>
      <link>https://forem.com/wong2kim/wmux-run-claude-code-codex-and-gemini-cli-side-by-side-on-windows-pkg</link>
      <guid>https://forem.com/wong2kim/wmux-run-claude-code-codex-and-gemini-cli-side-by-side-on-windows-pkg</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;If you're coding on Windows and juggling multiple AI CLI agents in a single terminal window — stop. &lt;a href="https://github.com/openwong2kim/wmux" rel="noopener noreferrer"&gt;wmux&lt;/a&gt; is a native Windows terminal multiplexer that lets you run &lt;strong&gt;Claude Code, Codex, and Gemini CLI side by side&lt;/strong&gt;, with built-in browser automation, an MCP server, and real session persistence. No WSL required.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;winget&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;openwong2kim.wmux&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. 30 seconds and you're done.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;macOS devs have had &lt;code&gt;cmux&lt;/code&gt; — a tmux-based terminal multiplexer tuned for AI agents — for a while now. Windows devs? We've been stuck with a single terminal tab, Alt+Tabbing between agents, spamming "are you done yet?" into the void.&lt;/p&gt;

&lt;p&gt;You could use WSL, sure. But then your PowerShell scripts, Windows-native toolchains, and ConPTY-aware TUIs (hi, Claude Code) start to feel awkward.&lt;/p&gt;

&lt;p&gt;wmux fills that gap. It's a &lt;strong&gt;native Windows&lt;/strong&gt; multiplexer built on ConPTY, xterm.js with WebGL rendering, and Electron. No VM, no Linux emulation, no weird path translation.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it actually feels like
&lt;/h2&gt;

&lt;p&gt;Picture this layout on one screen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Left pane&lt;/strong&gt;: Claude Code writing your backend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Right pane&lt;/strong&gt;: Codex scaffolding the frontend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bottom pane&lt;/strong&gt;: Gemini CLI running the test suite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Floating pane&lt;/strong&gt;: A Quake-style dropdown terminal for quick &lt;code&gt;git status&lt;/code&gt; checks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;Ctrl+D&lt;/code&gt; splits right. &lt;code&gt;Ctrl+Shift+D&lt;/code&gt; splits down. &lt;code&gt;Ctrl+N&lt;/code&gt; opens a new workspace. &lt;code&gt;Ctrl+1~9&lt;/code&gt; jumps between them. &lt;code&gt;Ctrl+click&lt;/code&gt; stitches multiple workspaces into a multiview grid. If you're a tmux person, &lt;code&gt;Ctrl+B&lt;/code&gt; gives you a prefix mode with 13 rebindable actions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part that actually sold me: browser control
&lt;/h2&gt;

&lt;p&gt;Tell Claude Code &lt;em&gt;"search Google for wmux"&lt;/em&gt; and it actually does it. Not via shelling out to &lt;code&gt;curl&lt;/code&gt;. Not by pretending. wmux exposes a built-in browser panel connected over the &lt;strong&gt;Chrome DevTools Protocol&lt;/strong&gt;, and the MCP server exposes tools like:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What Claude does&lt;/th&gt;
&lt;th&gt;MCP tool&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Open browser&lt;/td&gt;
&lt;td&gt;&lt;code&gt;browser_open&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read page structure&lt;/td&gt;
&lt;td&gt;&lt;code&gt;browser_snapshot&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Click element&lt;/td&gt;
&lt;td&gt;&lt;code&gt;browser_click&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fill form&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;browser_fill&lt;/code&gt; / &lt;code&gt;browser_type&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Press key&lt;/td&gt;
&lt;td&gt;&lt;code&gt;browser_press_key&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Run JS&lt;/td&gt;
&lt;td&gt;&lt;code&gt;browser_evaluate&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Screenshot&lt;/td&gt;
&lt;td&gt;&lt;code&gt;browser_screenshot&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So a prompt like "search for wmux on Google" becomes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;browser_open → browser_snapshot → browser_fill(ref=13, "wmux") → browser_press_key("Enter")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And it &lt;em&gt;works&lt;/em&gt;. Even with React controlled inputs and CJK text — both of which love to break naive automation.&lt;/p&gt;

&lt;p&gt;Every browser tool accepts a &lt;code&gt;surfaceId&lt;/code&gt;, so each Claude Code session drives its own browser. Run three agents, get three browsers, zero cross-talk.&lt;/p&gt;

&lt;h2&gt;
  
  
  Agent-to-agent messaging
&lt;/h2&gt;

&lt;p&gt;This is the fun one. wmux exposes &lt;code&gt;a2a_send&lt;/code&gt;, &lt;code&gt;a2a_broadcast&lt;/code&gt;, &lt;code&gt;a2a_task_send&lt;/code&gt;, and friends. Your Claude Code instance on the left can literally ping your Codex instance on the right:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hey, I changed the API response shape, regenerate the TypeScript types."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's not a demo — that's Tuesday.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stop babysitting your agents
&lt;/h2&gt;

&lt;p&gt;wmux watches terminal output throughput (not brittle pattern matching) and fires desktop notifications + taskbar flashes when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A task finishes&lt;/li&gt;
&lt;li&gt;A process exits abnormally&lt;/li&gt;
&lt;li&gt;A dangerous command shows up (&lt;code&gt;git push --force&lt;/code&gt;, &lt;code&gt;rm -rf&lt;/code&gt;, &lt;code&gt;DROP TABLE&lt;/code&gt;…)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Go make coffee. wmux will tell you when to come back.&lt;/p&gt;

&lt;h2&gt;
  
  
  Session persistence that actually persists
&lt;/h2&gt;

&lt;p&gt;Close wmux. Reopen it. Your sessions are still there, 999K lines of scrollback intact, in the right working directory.&lt;/p&gt;

&lt;p&gt;Reboot your machine. Same thing. A background daemon keeps PTY processes alive, dumps scrollback to disk, and auto-starts on login.&lt;/p&gt;

&lt;p&gt;This is the part tmux users have been quietly missing on Windows for years.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security I didn't have to ask for
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Token auth on every IPC pipe&lt;/li&gt;
&lt;li&gt;SSRF protection (blocks private IPs, &lt;code&gt;file://&lt;/code&gt;, &lt;code&gt;javascript:&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;PTY input sanitization&lt;/li&gt;
&lt;li&gt;Randomized CDP port (no fixed &lt;code&gt;--remote-debugging-port=9222&lt;/code&gt; for anyone to hijack)&lt;/li&gt;
&lt;li&gt;Memory pressure watchdog (reaps dead sessions at 750MB, blocks new ones at 1GB)&lt;/li&gt;
&lt;li&gt;Electron Fuses locked down (RunAsNode disabled, cookie encryption on)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a tool that hands AI agents a browser and a shell, this is the bare minimum — and wmux actually does it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rest of the goodies
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;xterm.js + WebGL GPU rendering&lt;/li&gt;
&lt;li&gt;Unicode 11 width tables (CJK/emoji actually render correctly in TUIs)&lt;/li&gt;
&lt;li&gt;Shell integration via OSC 133 — &lt;code&gt;terminal_read_events&lt;/code&gt; gives agents &lt;em&gt;semantic&lt;/em&gt; command boundaries, not raw bytes&lt;/li&gt;
&lt;li&gt;Regex search (&lt;code&gt;Ctrl+F&lt;/code&gt;), Vi copy mode (&lt;code&gt;Ctrl+Shift+X&lt;/code&gt;), scroll bookmarks (&lt;code&gt;Ctrl+M&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Smart right-click: selection → copy, empty area → paste, link → Open/Copy menu&lt;/li&gt;
&lt;li&gt;Layout templates you can save and restore from the command palette&lt;/li&gt;
&lt;li&gt;Themes: Catppuccin Mocha, Monochrome, Sandstone&lt;/li&gt;
&lt;li&gt;i18n: English, Korean, Japanese, Chinese&lt;/li&gt;
&lt;li&gt;Auto-update via GitHub Releases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Agent detection covers Claude Code, Cursor, Aider, Codex CLI, Gemini CLI, OpenCode, and GitHub Copilot CLI out of the box.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;

&lt;p&gt;Pick your poison:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# winget (recommended)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;winget&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;openwong2kim.wmux&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# Chocolatey&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;choco&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;wmux&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# PowerShell one-liner&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/openwong2kim/wmux/main/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or grab &lt;code&gt;wmux Setup.exe&lt;/code&gt; from the &lt;a href="https://github.com/openwong2kim/wmux" rel="noopener noreferrer"&gt;releases page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;Windows devs have been the second-class citizens of the AI coding agent world for a minute. wmux doesn't fix everything — but running three agents on one screen, each with its own browser, talking to each other, surviving reboots? That's a genuinely different workflow.&lt;/p&gt;

&lt;p&gt;Repo: &lt;strong&gt;&lt;a href="https://github.com/openwong2kim/wmux" rel="noopener noreferrer"&gt;github.com/openwong2kim/wmux&lt;/a&gt;&lt;/strong&gt; — MIT licensed.&lt;/p&gt;

&lt;p&gt;If you try it, I'd love to hear which layout you end up with. Mine is Claude-left / Codex-right / Gemini-bottom, and a floating terminal for &lt;code&gt;git&lt;/code&gt;. What's yours?&lt;/p&gt;

</description>
      <category>agents</category>
      <category>cli</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>I tried to vibe code on Windows. It broke me. So I built my own terminal.</title>
      <dc:creator>wong2 kim</dc:creator>
      <pubDate>Wed, 25 Mar 2026 14:33:56 +0000</pubDate>
      <link>https://forem.com/wong2kim/i-tried-to-vibe-code-on-windows-it-broke-me-so-i-built-my-own-terminal-17a</link>
      <guid>https://forem.com/wong2kim/i-tried-to-vibe-code-on-windows-it-broke-me-so-i-built-my-own-terminal-17a</guid>
      <description>&lt;p&gt;Every AI coding setup I saw online looked the same: Mac, tmux, agents running in split panes, everything humming along perfectly.&lt;/p&gt;

&lt;p&gt;I was on Windows. It did not hum.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tmux wall
&lt;/h2&gt;

&lt;p&gt;tmux is the backbone of serious AI agent workflows. Persistent sessions, split panes, detach and reattach while your agents keep running.&lt;/p&gt;

&lt;p&gt;On Windows, native tmux doesn't exist.&lt;/p&gt;

&lt;p&gt;Fine — I'll use WSL.&lt;/p&gt;

&lt;h2&gt;
  
  
  WSL: close enough to break everything
&lt;/h2&gt;

&lt;p&gt;WSL feels like Linux. For about 20 minutes, you think you've solved the problem.&lt;/p&gt;

&lt;p&gt;Then the path issues start.&lt;/p&gt;

&lt;p&gt;Windows sees: &lt;code&gt;C:\Users\wooyoung\projects\wmux&lt;/code&gt;&lt;br&gt;
WSL sees: &lt;code&gt;/mnt/c/Users/wooyoung/projects/wmux&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Same folder. Completely different contexts. AI agents write files into WSL. Your Windows-side editor can't find them. Your git is on the Windows side. Your dev server is on the Windows side. Your agent is happily working in a parallel universe.&lt;/p&gt;

&lt;p&gt;The worst part: it works — until it doesn't. You're 40 minutes into a session before realizing your agent has been operating in the wrong dimension the entire time.&lt;/p&gt;

&lt;p&gt;Port forwarding breaks hot reload. The agent hits localhost:3000, gets nothing, concludes the code is broken, and starts "fixing" code that was never broken.&lt;/p&gt;

&lt;p&gt;You end up debugging a WSL networking quirk disguised as a React error.&lt;/p&gt;
&lt;h2&gt;
  
  
  Multi-agent made it dramatically worse
&lt;/h2&gt;

&lt;p&gt;One agent is manageable. But real vibe coding in 2025 means an orchestrator, subagents, parallel tasks.&lt;/p&gt;

&lt;p&gt;My setup: 6 terminal windows, 3 WSL instances, no way to tell which agent was doing what. One agent had gone completely silent — was it done? Crashed? Thinking?&lt;/p&gt;

&lt;p&gt;I kept a Notepad file open just to track which terminal was which.&lt;/p&gt;

&lt;p&gt;Then one Tuesday evening, I had three agents running in parallel. I wanted to check on one of them. Found it after clicking through four windows. It had been waiting for my input for 45 minutes. The other two had moved on — and built conflicting code against each other.&lt;/p&gt;

&lt;p&gt;I closed everything. Went to bed. The next morning I started writing a PRD for Wmux.&lt;/p&gt;
&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;Wmux is a Windows-native AI agent terminal. The problems I kept hitting are treated as first-class design constraints, not edge cases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No WSL dependency.&lt;/strong&gt; One filesystem context. No boundary crossings, no silent failures from agents writing to the wrong place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;All agents in one view.&lt;/strong&gt; Every session visible in a single window. Status, last output, whether it's waiting — at a glance. Ctrl+D to split, Ctrl+N for a new workspace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser automation built in.&lt;/strong&gt; Claude Code can open a browser, click, fill forms, take screenshots — all via CDP. Not a workaround. A first-class feature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notifications that actually work.&lt;/strong&gt; Output throughput-based detection: when your agent finishes, you get a desktop notification. No more staring at a terminal wondering if it's done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session persistence.&lt;/strong&gt; Close Wmux, reopen it — your sessions are still there, scrollback intact. Like tmux. On Windows.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why this matters
&lt;/h2&gt;

&lt;p&gt;The corporate world runs Windows. The non-CS engineers I'm trying to get into AI coding run Windows. The developers who are just now discovering multi-agent workflows — a lot of them are on Windows.&lt;/p&gt;

&lt;p&gt;The tooling just hasn't caught up. Mac users have cmux. Windows users have... friction.&lt;/p&gt;

&lt;p&gt;If you want real multi-agent AI coding on Windows today, you either accept constant pain, or you build the environment yourself.&lt;/p&gt;

&lt;p&gt;I chose to build.&lt;/p&gt;

&lt;p&gt;v2.2.0 is out. Install in 30 seconds:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/openwong2kim/wmux/main/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Follow the build: &lt;a href="https://github.com/openwong2kim/wmux" rel="noopener noreferrer"&gt;github.com/openwong2kim/wmux&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Previously: From engineering floor to App Store&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Next: I deployed AI to 200 factory engineers. Here's what actually happened.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>wmux</category>
      <category>windows</category>
      <category>ai</category>
      <category>terminal</category>
    </item>
    <item>
      <title>From Engineering Floor to App Store: What 10 Years as a Manufacturing Engineer Taught Me About Building Software</title>
      <dc:creator>wong2 kim</dc:creator>
      <pubDate>Tue, 24 Mar 2026 03:37:45 +0000</pubDate>
      <link>https://forem.com/wong2kim/i-spent-10-years-in-manufacturing-now-i-build-ios-apps-with-ai-1mea</link>
      <guid>https://forem.com/wong2kim/i-spent-10-years-in-manufacturing-now-i-build-ios-apps-with-ai-1mea</guid>
      <description>&lt;p&gt;No CS degree. No bootcamp. Just 10 years on factory floors and a stubborn belief that the software I needed should actually exist.&lt;/p&gt;

&lt;p&gt;Here's how AI tools helped me make the jump — and 5 lessons from manufacturing that turned out to be my biggest advantage.&lt;/p&gt;




&lt;h2&gt;
  
  
  From Factory Floors to the App Store
&lt;/h2&gt;

&lt;p&gt;I spent a decade in manufacturing engineering. Process optimization, quality control, equipment troubleshooting — the kind of work where every minute of downtime costs real money.&lt;/p&gt;

&lt;p&gt;The whole time, I had one recurring frustration: &lt;strong&gt;the software tools I needed were terrible.&lt;/strong&gt; Clunky tracking systems. Overpriced dashboards. Apps that felt like they were designed by people who had never touched a production line.&lt;/p&gt;

&lt;p&gt;So I tried to learn to code. Multiple times. Tutorials, online courses, side projects. Every attempt hit the same wall — not because I couldn't think logically, but because the jump from "hello world" to a working product felt impossibly wide.&lt;/p&gt;

&lt;p&gt;Then AI coding tools changed everything.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why AI Was the Missing Piece
&lt;/h2&gt;

&lt;p&gt;AI didn't teach me computer science. It did something better — it met me where I was.&lt;/p&gt;

&lt;p&gt;Suddenly I could focus on what I was already good at:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Defining the problem clearly&lt;/strong&gt; — engineering trained me for this&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Breaking it into components&lt;/strong&gt; — process engineering is literally this&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Iterating fast&lt;/strong&gt; — prototype, test, improve, repeat (factory mindset)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;AI handled the syntax. I handled the thinking.&lt;/p&gt;

&lt;p&gt;Within months, I shipped my first iOS app. Then another. And another.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I'm Building Right Now
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pregnancy &amp;amp; Parenting App Suite&lt;/strong&gt; — My wife and I couldn't find an app that wasn't riddled with ads or missing features. So I built one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise AI Platform&lt;/strong&gt; — RAG chatbot + auto-generated presentations for enterprise adoption. My manufacturing background directly applies here.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Markdown Note App&lt;/strong&gt; — Notes for iOS with iCloud sync and on-device AI. Every note app was either too simple or too complex.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ADHD-Friendly Task Planner&lt;/strong&gt; — Eisenhower Matrix meets Pomodoro timer. Built for brains that work differently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Coding Terminal&lt;/strong&gt; — Windows-native terminal with multi-agent control. The tool I wish I had when I started.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  5 Lessons Manufacturing Taught Me About Software
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Nobody cares about your architecture.
&lt;/h3&gt;

&lt;p&gt;On the factory floor, nobody cares how elegant your process flow diagram is. They care if the product comes out right. Same with apps — solve the problem, and nobody asks if you used MVVM or MVC.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Ship first. Optimize later.
&lt;/h3&gt;

&lt;p&gt;We had a saying: "Don't let perfect be the enemy of good enough for Tuesday's shipment." Get it working, get it in front of users, then iterate.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Constraints breed creativity.
&lt;/h3&gt;

&lt;p&gt;Tight budgets. Broken equipment. Real deadlines. Manufacturing forces you to find creative solutions — and that's exactly what indie dev demands when you're the designer, developer, tester, and marketer all at once.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Ask "why" five times.
&lt;/h3&gt;

&lt;p&gt;Toyota's "5 Whys" technique is the best debugging framework I've ever used. Don't fix the symptom. Keep digging until you find the root cause.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Domain knowledge is your superpower.
&lt;/h3&gt;

&lt;p&gt;No CS grad knows what a manufacturing engineer needs from a monitoring tool. No bootcamp teaches what an expecting parent wants from a pregnancy app at 3 AM. &lt;strong&gt;Your non-tech experience isn't a weakness — it's the unfair advantage that helps you build things people actually want.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  My Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Tools&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Mobile&lt;/td&gt;
&lt;td&gt;Swift, SwiftUI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web&lt;/td&gt;
&lt;td&gt;React, Next.js, Tailwind CSS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI/ML&lt;/td&gt;
&lt;td&gt;Python, LangGraph, LLM APIs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Infra&lt;/td&gt;
&lt;td&gt;Docker, Supabase, Local AI Server&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  The Honest Truth
&lt;/h2&gt;

&lt;p&gt;AI didn't make me a software engineer. It made me a &lt;strong&gt;software builder.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I still don't know half of what a CS grad knows about algorithms. But I can identify a real problem, design a solution, and ship a product that people use. That's enough to build meaningful things.&lt;/p&gt;

&lt;p&gt;If you're sitting on deep domain expertise in a non-tech field — healthcare, education, construction, whatever — the barriers have never been lower. You don't need a degree. You need a problem worth solving and the will to ship.&lt;/p&gt;




&lt;p&gt;I'm new to DEV and writing about AI-assisted development from a non-CS perspective. If this resonates, I'd love to hear your story.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What did your "before" look like?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>ai</category>
      <category>career</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
