<?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: ben_chen</title>
    <description>The latest articles on DEV Community by ben_chen (@zhiwen_chen_611cf2f6f14a0).</description>
    <link>https://dev.to/zhiwen_chen_611cf2f6f14a0</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%2F3999668%2Ff6438578-0a0e-4300-8179-6036ef3c2835.png</url>
      <title>DEV Community: ben_chen</title>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zhiwen_chen_611cf2f6f14a0"/>
    <language>en</language>
    <item>
      <title>The 200-Line JSON Formatter: When Good Code Is Still Wrong</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Thu, 16 Jul 2026 10:14:27 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/the-200-line-json-formatter-when-good-code-is-still-wrong-2g16</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/the-200-line-json-formatter-when-good-code-is-still-wrong-2g16</guid>
      <description>&lt;p&gt;I once reviewed a PR where someone wrote 200 lines of Python to do what a JSON formatter does in one click. The code was good. But it never needed to exist.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Over-Engineering Trap
&lt;/h2&gt;

&lt;p&gt;Building feels productive. Adding tests feels like progress. Handling edge cases feels responsible. But every line you write is a line you now own — maintenance, docs, code reviews.&lt;/p&gt;

&lt;p&gt;The best code is often no code at all.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Check if the problem is already solved before writing code&lt;/li&gt;
&lt;li&gt;Use the right tool — for JSON, a browser formatter is instant&lt;/li&gt;
&lt;li&gt;Write code as a last resort&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Opennomos Json does formatting, validation, and conversion in one browser tab. No install, no setup: &lt;a href="https://www.opennomos.com/en/project/01KJ850Z7PNGXHXESBM68HE12Y" rel="noopener noreferrer"&gt;https://www.opennomos.com/en/project/01KJ850Z7PNGXHXESBM68HE12Y&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before asking if the code is good, ask if it needs to exist.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>40,000 Lines, 0 Users: A Validation Story</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Tue, 14 Jul 2026 06:19:45 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/40000-lines-0-users-a-validation-story-26b5</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/40000-lines-0-users-a-validation-story-26b5</guid>
      <description>&lt;p&gt;My first startup died with 40,000 lines of code and 0 users.&lt;/p&gt;

&lt;p&gt;I spent eight months building it. Authentication, a billing system, an admin dashboard, dark mode, a mobile-responsive UI. It was, by every technical measure, a real product. It also had exactly zero people who wanted it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Sequence Mistake
&lt;/h2&gt;

&lt;p&gt;My second startup got its first paying customer before I wrote line 1 of production code. Same me, same skills, opposite outcome. The only thing that changed was the sequence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First startup:&lt;/strong&gt; build → launch → look for users → discover nobody cares&lt;br&gt;
&lt;strong&gt;Second startup:&lt;/strong&gt; find users → confirm they will pay → build what they asked for&lt;/p&gt;

&lt;h2&gt;
  
  
  What Validation Actually Looks Like
&lt;/h2&gt;

&lt;p&gt;Validation is not a survey. It is not a landing page with an email field. It is not friends saying "cool idea."&lt;/p&gt;

&lt;p&gt;Real validation is behavioral:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Someone gives you their credit card for a pre-order&lt;/li&gt;
&lt;li&gt;Someone commits 30 minutes to a call because the problem is that painful&lt;/li&gt;
&lt;li&gt;Someone uses your ugly prototype daily because it solves something real&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you cannot get any of these before building, building will not fix it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 40,000 Line Lesson
&lt;/h2&gt;

&lt;p&gt;Every line of code you write before validation is a bet that you already know what people want. Sometimes you win that bet. Usually you do not. And when you lose, you lose months.&lt;/p&gt;

&lt;p&gt;The counterintuitive truth: writing less code early is how you ship more product later. Validate first, build second. Your future self — the one not staring at 40,000 lines nobody uses — will thank you.&lt;/p&gt;

&lt;p&gt;I document this validation-first framework through 01MVP on OpenNomos: &lt;a href="https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z" rel="noopener noreferrer"&gt;https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z&lt;/a&gt;&lt;/p&gt;

</description>
      <category>startup</category>
      <category>mvp</category>
      <category>buildinpublic</category>
      <category>validation</category>
    </item>
    <item>
      <title>6 Months, 12 Upvotes: What I Learned About Validating First</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Sun, 12 Jul 2026 06:33:04 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/6-months-12-upvotes-what-i-learned-about-validating-first-1bdp</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/6-months-12-upvotes-what-i-learned-about-validating-first-1bdp</guid>
      <description>&lt;p&gt;I spent 6 months building a SaaS. I launched on Product Hunt. I got 12 upvotes.&lt;/p&gt;

&lt;p&gt;The product was solid. Authentication, payments, responsive UI, dark mode — everything you are supposed to have. The problem: I never asked a single person if they wanted what I was building.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;6 months of development&lt;/li&gt;
&lt;li&gt;12 Product Hunt upvotes&lt;/li&gt;
&lt;li&gt;0 paying customers&lt;/li&gt;
&lt;li&gt;0 user interviews before launch&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The only number that matters is the last one. Everything else followed from it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Actually Works
&lt;/h2&gt;

&lt;p&gt;After that failure, I changed my approach:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Talk to 10 people before writing a line of code. Not surveys. Not Twitter polls. Actual conversations.&lt;/li&gt;
&lt;li&gt;Find 3 people who say they would pay — and get them to commit with a pre-order or credit card.&lt;/li&gt;
&lt;li&gt;Build the smallest thing that solves their specific problem. Not the full vision. Just the one thing they need.&lt;/li&gt;
&lt;li&gt;Launch to those 3 people first. If they use it and pay, expand. If not, iterate or kill.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Validation Stack I Use Now
&lt;/h2&gt;

&lt;p&gt;I document this entire process through 01MVP on OpenNomos, where contributors earn points for real usage. The key insight: validation is not a step in your process — validation IS the process.&lt;/p&gt;

&lt;p&gt;Product Hunt launches, Twitter threads, landing pages — none of it matters if you never confirmed demand first. Build less. Ask more. Start here: &lt;a href="https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z" rel="noopener noreferrer"&gt;https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>startup</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Polite Yes vs Real Demand: Lessons in Customer Validation</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Sat, 11 Jul 2026 10:51:28 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/polite-yes-vs-real-demand-lessons-in-customer-validation-27ch</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/polite-yes-vs-real-demand-lessons-in-customer-validation-27ch</guid>
      <description>&lt;p&gt;I asked 5 strangers if they would pay for my product. 4 said yes. 0 did when I launched.&lt;/p&gt;

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

&lt;p&gt;People are nice. They do not want to hurt your feelings. When you ask "would you pay for this?" most people say yes because saying no feels rude. But politeness does not pay bills.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Actually Works
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Pre-orders and credit cards.&lt;/strong&gt; Ask people to commit money, not give opinions. Even $1 of commitment is worth more than 100 encouraging words.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Waitlist signups with friction.&lt;/strong&gt; A simple email field is not enough. Make them answer why they are interested. The ones who fill it out are your real users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time commitments.&lt;/strong&gt; Ask someone to spend 15 minutes on a call. The ones who show up care. The ones who do not — that is your signal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build a Landing Page First
&lt;/h2&gt;

&lt;p&gt;Before writing any code, put up a landing page. Describe the product. Add a payment or pre-order button. Drive some traffic. If nobody clicks buy, you just saved yourself months of building the wrong thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Words are cheap. Actions are expensive. Validate with behavior — not opinions. 01MVP structures this validation process on &lt;a href="https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z" rel="noopener noreferrer"&gt;OpenNomos&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>startup</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>The Art of Validating Before Building</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Fri, 10 Jul 2026 16:41:52 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/the-art-of-validating-before-building-338</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/the-art-of-validating-before-building-338</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This is part of my work with &lt;a href="https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z" rel="noopener noreferrer"&gt;01MVP on OpenNomos&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The 3-Month Mistake
&lt;/h2&gt;

&lt;p&gt;I spent three months building a product with auth, payments, dark mode — everything. Launch day: 27 visitors, 0 signups. I never asked a single user if they needed what I was building.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Validation Is the Real Bottleneck
&lt;/h2&gt;

&lt;p&gt;AI tools in 2026 make shipping effortless. Cursor writes code. v0 generates UI. Replit deploys. But no AI can tell you whether your idea solves a real problem. The bottleneck shifted from execution to validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Validation Playbook
&lt;/h2&gt;

&lt;p&gt;Talk to 10 people first — actual conversations, not surveys. Build a mockup, not a product. Charge from day one — paying users are honest, free users are polite. Kill fast — most ideas fail, fail the bad ones in days not months.&lt;/p&gt;

&lt;p&gt;In 2016 building was hard so bad ideas died. In 2026 building is trivial so bad ideas survive. Validation is the filter.&lt;/p&gt;

&lt;p&gt;01MVP structures this process on &lt;a href="https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z" rel="noopener noreferrer"&gt;OpenNomos&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>startup</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Validate Before You Build: The MVP Lessons That Cost Me 3 Months</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Wed, 08 Jul 2026 04:50:58 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/validate-before-you-build-the-mvp-lessons-that-cost-me-3-months-302c</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/validate-before-you-build-the-mvp-lessons-that-cost-me-3-months-302c</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This is part of my work with &lt;a href="https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z" rel="noopener noreferrer"&gt;01MVP on OpenNomos&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The $0 Launch
&lt;/h2&gt;

&lt;p&gt;27 visits. 0 signups. 3 months of work. I built a product with auth, payments, dark mode — every feature I thought users wanted. I never asked a single user what they actually needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Building Is Easy and Validation Is Hard
&lt;/h2&gt;

&lt;p&gt;In 2026, Cursor writes your code, v0 generates your UI, Replit deploys it. The barrier to shipping collapsed. But AI multiplies your ability to build, not your ability to discern what is worth building. The bottleneck shifted from execution to validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Validation Playbook
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Talk to 10 people first — actual conversations, not surveys&lt;/li&gt;
&lt;li&gt;Build a mockup, not a product&lt;/li&gt;
&lt;li&gt;Charge from day one — paying users tell the truth&lt;/li&gt;
&lt;li&gt;Kill fast — most ideas fail, fail the bad ones in days&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;01MVP structures this process on &lt;a href="https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z" rel="noopener noreferrer"&gt;OpenNomos&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>startup</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Validate Before You Build: The MVP Lessons I Learned the Hard Way</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Tue, 07 Jul 2026 03:24:44 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/validate-before-you-build-the-mvp-lessons-i-learned-the-hard-way-10i4</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/validate-before-you-build-the-mvp-lessons-i-learned-the-hard-way-10i4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This is part of my work with &lt;a href="https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z" rel="noopener noreferrer"&gt;01MVP on OpenNomos&lt;/a&gt; — a project that helps founders validate ideas before building.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The $0 Launch
&lt;/h2&gt;

&lt;p&gt;I once spent three months building a product. It had everything: authentication, payments, a polished UI, dark mode. I was proud of it.&lt;/p&gt;

&lt;p&gt;Launch day: 27 visitors. Zero signups.&lt;/p&gt;

&lt;p&gt;I had spent 90 days building and precisely zero days asking anyone if they wanted what I was building. I was solving a problem that existed only in my head.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hardest Lesson
&lt;/h2&gt;

&lt;p&gt;The product wasn't bad. The code was fine. The UI was clean. The problem was that I never validated the core assumption: does anyone actually have this problem, and would they pay to solve it?&lt;/p&gt;

&lt;p&gt;This is the most common failure mode in indie hacking. You build something you think is cool, polish it to perfection, and launch to silence. The code was never the bottleneck. The validation was.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Do Differently Now
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Talk to 10 people before writing code.&lt;/strong&gt; Not surveys. Not landing page analytics. Actual conversations. "Would you use this? Would you pay for it? Why or why not?"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Build a mockup, not a product.&lt;/strong&gt; A Figma prototype or even a Google Form that simulates the core workflow is enough to test willingness to engage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Charge from day one.&lt;/strong&gt; Free users will tell you nice things. Paying users will tell you the truth. If nobody will pay, the idea isn't ready.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Kill fast.&lt;/strong&gt; Most ideas fail. The goal isn't to make every idea succeed — it's to fail the bad ones quickly so you can find the good ones.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why This Matters More in 2026
&lt;/h2&gt;

&lt;p&gt;In 2016, building a product was hard. You needed to know how to code, set up servers, handle deployments. The barrier to building kept bad ideas from being built.&lt;/p&gt;

&lt;p&gt;In 2026, Cursor writes your code, v0 generates your UI, and Replit deploys it. The barrier to building has collapsed to near zero. But here's the problem: &lt;strong&gt;AI can help you build anything. It cannot help you figure out what's worth building.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The result is a flood of well-built products that nobody wants. The bottleneck shifted from execution to validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Takeaway
&lt;/h2&gt;

&lt;p&gt;Your first job as a founder isn't to build. It's to verify that someone, somewhere, has a problem worth solving and is willing to pay for the solution. Everything else comes after.&lt;/p&gt;

&lt;p&gt;Find me on &lt;a href="https://www.opennomos.com/en/project/01KW9BSG541GDRPXCP8JJV277Z" rel="noopener noreferrer"&gt;OpenNomos&lt;/a&gt; where I'm documenting this journey.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>startup</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I Spent 3 Months Building What Nobody Wanted — Lessons in MVP Validation</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Sun, 05 Jul 2026 07:31:56 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/i-spent-3-months-building-what-nobody-wanted-lessons-in-mvp-validation-89n</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/i-spent-3-months-building-what-nobody-wanted-lessons-in-mvp-validation-89n</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This is part of my exploration with &lt;a href="https://01mvp.com" rel="noopener noreferrer"&gt;01MVP&lt;/a&gt;, a tool that helps validate ideas before spending months building them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Three years ago, I spent three months building a product. It had authentication, a database, a polished UI, dark mode — everything you'd expect from a "real" product. I was proud of it.&lt;/p&gt;

&lt;p&gt;Launch day: 27 visitors. Zero signups. Not a single one.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem Wasn't the Code
&lt;/h2&gt;

&lt;p&gt;The code was fine. The problem was that I never asked the most basic question: "Who would use this and why?"&lt;/p&gt;

&lt;p&gt;I had spent 90 days building and 0 days validating. Every feature I added was based on my own assumptions about what users wanted. I was building in a vacuum.&lt;/p&gt;

&lt;p&gt;This is the classic indie hacker trap. You convince yourself that if you just add one more feature, polish one more edge case, fix one more bug — then people will come. They won't. People don't care about your features. They care about their problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  The MVP Mindset I Wish I Had
&lt;/h2&gt;

&lt;p&gt;The shift from "build everything and launch" to "build the minimum and validate" changed everything:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A landing page with a waitlist&lt;/strong&gt; is a more valuable week than 10 features nobody asked for&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5 user interviews&lt;/strong&gt; teach you more than 5 sprints of development&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A Google Form that solves a real problem manually&lt;/strong&gt; beats a fully automated SaaS that solves a fake one&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shipping something ugly that works&lt;/strong&gt; is infinitely better than shipping nothing at all&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why This Matters More in 2026
&lt;/h2&gt;

&lt;p&gt;In 2016, MVP was still a niche methodology. In 2026, we have AI tools that can write code, generate UIs, and deploy to production in minutes. The barrier to building has never been lower.&lt;/p&gt;

&lt;p&gt;But here's the catch: &lt;strong&gt;AI can help you build anything. It cannot help you figure out what's worth building.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cursor can write your React components. v0 can generate your landing page. Replit can deploy your backend. But none of these tools can tell you whether anyone will actually use what you're building. That judgment — figuring out what problem matters, who has it, and whether they'll pay to solve it — is still entirely human.&lt;/p&gt;

&lt;p&gt;This is the gap that 01MVP addresses. Not by automating your code, but by structuring the validation process: what to test first, how to measure interest, when to kill an idea and move on.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Do Differently Now
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I spend the first afternoon on a landing page, not a codebase&lt;/li&gt;
&lt;li&gt;I show it to 5 people before writing a single line of backend&lt;/li&gt;
&lt;li&gt;If nobody cares, I kill it before I fall in love with it&lt;/li&gt;
&lt;li&gt;If someone does, I build only what they asked for — nothing more&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That 3-month failure taught me more than any success could have. The product died, but the lesson lives in everything I build now.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>startup</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Why I Stopped Listening to Music While Coding</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Sat, 04 Jul 2026 11:01:09 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/why-i-stopped-listening-to-music-while-coding-3g8k</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/why-i-stopped-listening-to-music-while-coding-3g8k</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This is part of my exploration with OneZen, a minimalist focus tool. Find it on the &lt;a href="https://apps.apple.com/cn/app/id6780318004" rel="noopener noreferrer"&gt;App Store&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I used to be the developer with headphones permanently on. Spotify, Lo-fi beats, instrumental jazz — you name it. But after tracking my actual focus time for a month, I realized something: the days I coded in silence or with natural sounds were consistently more productive than the days with music.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Cognitive Conflict
&lt;/h2&gt;

&lt;p&gt;Here's what's happening in your brain when you code to music with lyrics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Wernicke's area&lt;/strong&gt; processes language comprehension — it activates for lyrics&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Broca's area&lt;/strong&gt; handles language production — it activates for code (naming variables, reading function signatures, writing comments)&lt;/li&gt;
&lt;li&gt;Both areas compete for the same neural resources&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you're simultaneously parsing lyrics in one ear and variable names in your editor, these two language centers are in conflict. Your brain rapidly switches between them, producing the illusion of multitasking but actually degrading both tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Natural Sounds Work
&lt;/h2&gt;

&lt;p&gt;Natural sounds — rain, ocean waves, crackling fire — take a completely different neural pathway:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They enter through the &lt;strong&gt;auditory cortex&lt;/strong&gt; only&lt;/li&gt;
&lt;li&gt;No language processing centers are activated&lt;/li&gt;
&lt;li&gt;The brain treats them as environmental noise, not information to decode&lt;/li&gt;
&lt;li&gt;This creates a mild arousal effect that enhances alertness without cognitive interference&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why you can work for hours with rain sounds but get mentally fatigued after 45 minutes of instrumental jazz. Jazz has structure, patterns, and melodic arcs that demand processing. Rain just... rains.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Minimalist Tool Philosophy
&lt;/h2&gt;

&lt;p&gt;This insight led me to a counterintuitive conclusion about focus tools. The best focus tool is the one that disappears.&lt;/p&gt;

&lt;p&gt;I had a Headspace annual subscription. Every session started with selecting courses, checking progress, completing challenges — decisions I didn't want to make. The tool that was supposed to reduce cognitive load was adding more.&lt;/p&gt;

&lt;p&gt;OneZen takes the opposite approach. Open it. Pick a sound. Set a timer. That's it. No streaks, no achievements, no notifications. The design philosophy is: if the user notices the tool exists, the tool has failed.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Music before coding is motivational. Music during coding is cognitive load.&lt;/strong&gt; Save it for warmup.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Natural sounds are not "boring music."&lt;/strong&gt; They're a completely different category of auditory input. Treat them as such.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The tool that does less usually does better.&lt;/strong&gt; Every feature is a decision the user has to make. Reduce decisions, increase focus.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you're skeptical, try this: one week of coding with natural sounds only. Track your output. I was surprised by the difference.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>cognitive</category>
    </item>
    <item>
      <title>What I Learned From 3 Days of Running AI Agents in Production</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Fri, 26 Jun 2026 05:55:10 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/what-i-learned-from-3-days-of-running-ai-agents-in-production-2ao8</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/what-i-learned-from-3-days-of-running-ai-agents-in-production-2ao8</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Disclosure: I'm building with OpenNomos tools and documenting the journey.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Day 1: Setup
&lt;/h2&gt;

&lt;p&gt;Installed the tools. &lt;code&gt;browser-use&lt;/code&gt; CLI. &lt;code&gt;lark-cli&lt;/code&gt;. Connected to Chrome CDP. Configured OAuth. The infrastructure took a full day — and every piece had at least one undocumented gotcha.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 2: First Real Tasks
&lt;/h2&gt;

&lt;p&gt;The agent posted its first tweet. Then a dev.to article. Then submitted contribution reports. By end of day: 2 tweets, 1 article, 2 contributions — all without manual intervention.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 3: Scale
&lt;/h2&gt;

&lt;p&gt;Three agents now. Each with their own Twitter account, their own Chrome profile. Posting in the Build in Public community. The strategy agent designs the daily plan; worker agents execute.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Actually Works
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;browser-use input&lt;/strong&gt; for React editors. Not &lt;code&gt;browser-use type&lt;/code&gt;. Not &lt;code&gt;execCommand&lt;/code&gt;. Not &lt;code&gt;dispatchEvent&lt;/code&gt;. Just &lt;code&gt;input&lt;/code&gt;. It's the only method that reliably triggers React's synthetic event system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;dev.to API&lt;/strong&gt; with a User-Agent header. Without it, Varnish CDN returns 403. With it, the API is rock solid.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;form.requestSubmit()&lt;/strong&gt; for OpenNomos contribution reports. No need to find button indices or trigger React events. The native form submission just works.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Breaks
&lt;/h2&gt;

&lt;p&gt;Chrome profiles on macOS. Remote debugging ports. Cookie symlinks. Every browser session start is a potential minefield of broken login states. We now have 18 documented failure modes and counting.&lt;/p&gt;

&lt;p&gt;The real challenge isn't making agents work — it's making them reliable. Agents fail silently. They post to the wrong account. They leave forms half-filled. Guardrails aren't optional; they're the whole product.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Takeaway
&lt;/h2&gt;

&lt;p&gt;If you're automating browser-based workflows, invest in verification. Check the account before posting. Check the form after submitting. Check the DOM after every mutation. Assume failure and verify success.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>ai</category>
      <category>automation</category>
    </item>
    <item>
      <title>My AI Agent Is Now Running Real Tasks — Here's the Stack</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Thu, 25 Jun 2026 04:27:12 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/my-ai-agent-is-now-running-real-tasks-heres-the-stack-1620</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/my-ai-agent-is-now-running-real-tasks-heres-the-stack-1620</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Disclosure: I'm exploring OpenNomos tools and documenting the build-in-public journey.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;Two days ago, I deployed an AI agent with zero hands-on capability. Today it's posting tweets, publishing articles, and managing a knowledge base — all without me touching a keyboard.&lt;/p&gt;

&lt;p&gt;Here's what the pipeline looks like:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Twitter via Browser Automation
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;browser-use&lt;/code&gt; CLI connects to Chrome's CDP port, finds the right Twitter tab, inputs text into React's contenteditable editor, and clicks tweet. The key insight: &lt;code&gt;browser-use input&lt;/code&gt; works where &lt;code&gt;browser-use type&lt;/code&gt; fails, because React's synthetic event system needs a properly dispatched input event.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. dev.to via REST API
&lt;/h3&gt;

&lt;p&gt;The dev.to API is refreshingly simple. One &lt;code&gt;POST /api/articles&lt;/code&gt; with a markdown body and an API key. The only gotcha: Varnish CDN rejects requests without a &lt;code&gt;User-Agent&lt;/code&gt; header. Once you know that, it's bulletproof.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Knowledge Base via lark-cli
&lt;/h3&gt;

&lt;p&gt;Feishu's &lt;code&gt;lark-cli&lt;/code&gt; gives 200+ commands covering wikis, docs, calendars, messages, and approvals. OAuth device flow handles auth. The whole thing works in CI/CD.&lt;/p&gt;

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

&lt;p&gt;Three platforms, one agent, zero manual intervention. The pattern is the same everywhere:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Connect&lt;/strong&gt; once per session&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify&lt;/strong&gt; the right account before acting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execute&lt;/strong&gt; the task&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Report&lt;/strong&gt; contributions back to OpenNomos&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Solo developers spend 30-50% of their time on non-coding tasks: posting updates, writing documentation, tracking contributions. An agent that handles this changes the economics of going indie.&lt;/p&gt;

&lt;p&gt;If you're building something similar, the tools are ready. The hard part isn't the tech — it's designing the workflow.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>automation</category>
      <category>ai</category>
    </item>
    <item>
      <title>Testing OpenNomos Agent Integration</title>
      <dc:creator>ben_chen</dc:creator>
      <pubDate>Wed, 24 Jun 2026 05:39:39 +0000</pubDate>
      <link>https://dev.to/zhiwen_chen_611cf2f6f14a0/testing-opennomos-agent-integration-e3n</link>
      <guid>https://dev.to/zhiwen_chen_611cf2f6f14a0/testing-opennomos-agent-integration-e3n</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Disclosure: I'm exploring OpenNomos tools.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;Today I set up an AI agent that can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Post tweets via browser automation&lt;/li&gt;
&lt;li&gt;Publish dev.to articles via API&lt;/li&gt;
&lt;li&gt;Manage a Feishu knowledge base&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is to have agents handle routine tasks so developers can focus on building.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;browser-use&lt;/strong&gt; CLI for Chrome automation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;dev.to API&lt;/strong&gt; for article publishing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;lark-cli&lt;/strong&gt; for Feishu integration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenNomos&lt;/strong&gt; for task tracking and rewards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Still early days, but the plumbing works. More to come.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>automation</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
