<?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: Tom Han</title>
    <description>The latest articles on DEV Community by Tom Han (@tom_han).</description>
    <link>https://dev.to/tom_han</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%2F3654630%2F5b8b2d14-c54a-4014-b0ae-e7829f6915fa.png</url>
      <title>DEV Community: Tom Han</title>
      <link>https://dev.to/tom_han</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tom_han"/>
    <language>en</language>
    <item>
      <title>I optimized for time to signal instead of perfection</title>
      <dc:creator>Tom Han</dc:creator>
      <pubDate>Tue, 03 Feb 2026 09:01:53 +0000</pubDate>
      <link>https://dev.to/tom_han/i-optimized-for-time-to-signal-instead-of-perfection-50je</link>
      <guid>https://dev.to/tom_han/i-optimized-for-time-to-signal-instead-of-perfection-50je</guid>
      <description>&lt;p&gt;I used to think the goal was to build something impressive. Clean architecture, nice UX, lots of planning. What I actually needed was signal.&lt;/p&gt;

&lt;p&gt;Most of my ideas failed quietly because I never got them in front of anyone fast enough to learn whether they mattered. By the time feedback arrived, it was already too late to care.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://shipahe.ad" rel="noopener noreferrer"&gt;ShipAhead&lt;/a&gt; to change that for myself. The goal became simple: get an AI SaaS live in hours so reality can respond. Once I focused on time to signal, everything sped up. Decisions got easier. Direction became obvious.&lt;/p&gt;

&lt;p&gt;Now I don’t ask “is this good enough?”&lt;br&gt;
I ask “how fast can this teach me something real?”&lt;/p&gt;

&lt;p&gt;If your projects stall before you learn anything useful, shortening the path to feedback might be the highest leverage move you can make.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I finally learned how to stop ideas from stalling</title>
      <dc:creator>Tom Han</dc:creator>
      <pubDate>Sun, 11 Jan 2026 12:11:05 +0000</pubDate>
      <link>https://dev.to/tom_han/i-finally-learned-how-to-stop-ideas-from-stalling-3jp0</link>
      <guid>https://dev.to/tom_han/i-finally-learned-how-to-stop-ideas-from-stalling-3jp0</guid>
      <description>&lt;p&gt;I kept having AI SaaS ideas that never made it past planning. I’d spend days on setup, wiring, and “getting ready,” and by the time I had something real, the excitement was gone.&lt;/p&gt;

&lt;p&gt;Then I built &lt;a href="https://shipahe.ad" rel="noopener noreferrer"&gt;ShipAhead&lt;/a&gt; - a system that lets me go from concept to live product in hours. The point wasn’t speed for its own sake. It was momentum. When something is live quickly, you learn faster, validate sooner, and actually see what works.&lt;/p&gt;

&lt;p&gt;Since then, I’ve shipped more projects in a month than I used to ship in a year. Most fail, some grow, but all teach you faster than overthinking ever will.&lt;/p&gt;

&lt;p&gt;If you’ve ever lost ideas before they even launched, cutting friction and shipping fast changes everything.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Speed solved a problem I kept blaming on motivation</title>
      <dc:creator>Tom Han</dc:creator>
      <pubDate>Wed, 07 Jan 2026 08:03:54 +0000</pubDate>
      <link>https://dev.to/tom_han/speed-solved-a-problem-i-kept-blaming-on-motivation-2ii9</link>
      <guid>https://dev.to/tom_han/speed-solved-a-problem-i-kept-blaming-on-motivation-2ii9</guid>
      <description>&lt;p&gt;I used to think my problem was discipline. I’d start excited, then slowly lose interest and move on to the next idea. It felt like a motivation issue.&lt;/p&gt;

&lt;p&gt;It turned out to be a speed issue. When it takes too long to get something real online, doubt creeps in and momentum disappears.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://shipahe.ad" rel="noopener noreferrer"&gt;ShipAhead&lt;/a&gt; so I could move from idea to live link fast, while the excitement was still there. Once I fixed that, shipping became easier, not harder.&lt;/p&gt;

&lt;p&gt;Now I launch more, learn faster, and don’t beat myself up when something fails. The failure comes with feedback instead of regret.&lt;/p&gt;

&lt;p&gt;If you feel stuck cycling through ideas, increasing speed changed the game for me.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What finally broke my habit of overbuilding</title>
      <dc:creator>Tom Han</dc:creator>
      <pubDate>Tue, 06 Jan 2026 08:06:33 +0000</pubDate>
      <link>https://dev.to/tom_han/what-finally-broke-my-habit-of-overbuilding-2pli</link>
      <guid>https://dev.to/tom_han/what-finally-broke-my-habit-of-overbuilding-2pli</guid>
      <description>&lt;p&gt;I had a pattern I didn’t notice for years. Every new idea turned into weeks of building things nobody had asked for. By the time it was “ready,” I was tired and unsure if it even mattered.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://shipahe.ad" rel="noopener noreferrer"&gt;ShipAhead&lt;/a&gt; because I needed a constraint. Something that forces me to get a real version out while the idea is still fresh. Once I shortened the path to live, I stopped overbuilding and started learning.&lt;/p&gt;

&lt;p&gt;Now I ship earlier, get feedback faster, and make decisions based on reality instead of assumptions. Some projects die quickly. That’s fine. At least they die with data, not doubt.&lt;/p&gt;

&lt;p&gt;If you keep polishing ideas in private, cutting time to first launch changed everything for me.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The biggest breakthrough I had was learning to ship before I feel ready</title>
      <dc:creator>Tom Han</dc:creator>
      <pubDate>Fri, 12 Dec 2025 10:31:22 +0000</pubDate>
      <link>https://dev.to/tom_han/the-biggest-breakthrough-i-had-was-learning-to-ship-before-i-feel-ready-5e8m</link>
      <guid>https://dev.to/tom_han/the-biggest-breakthrough-i-had-was-learning-to-ship-before-i-feel-ready-5e8m</guid>
      <description>&lt;p&gt;I used to sit on ideas for way too long. I’d think, plan, sketch, second guess, and by the time I wanted to launch, the energy was already gone. The idea didn’t die because it was bad. It died because I moved too slow.&lt;/p&gt;

&lt;p&gt;That’s what pushed me to build &lt;a href="https://shipahe.ad" rel="noopener noreferrer"&gt;ShipAhead&lt;/a&gt; for myself. Not as a tool, but as a way to force momentum. If I can get the first version online fast, everything else becomes easier. Feedback comes sooner. Decisions get clearer. And I stop getting stuck in my own head.&lt;/p&gt;

&lt;p&gt;Since then, I’ve shipped more projects in months than I used to ship in years. Most won’t become anything big, but at least they finally get a real shot instead of staying trapped in notes.&lt;/p&gt;

&lt;p&gt;If you’re always waiting for the “right moment,” launching earlier changed everything for me.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I made a Nuxt 4 complete boilerplate and a few people seem to really like it</title>
      <dc:creator>Tom Han</dc:creator>
      <pubDate>Wed, 10 Dec 2025 12:38:29 +0000</pubDate>
      <link>https://dev.to/tom_han/i-made-a-nuxt-4-complete-boilerplate-and-a-few-people-seem-to-really-like-it-4b3l</link>
      <guid>https://dev.to/tom_han/i-made-a-nuxt-4-complete-boilerplate-and-a-few-people-seem-to-really-like-it-4b3l</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;After rebuilding the same Nuxt setup again and again for different projects, I decided to make a proper starter kit once and for all.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://shipahe.ad" rel="noopener noreferrer"&gt;ShipAhead&lt;/a&gt;, a Nuxt 4 SaaS boilerplate that comes with everything I wish I had on day one - auth, payments, dashboard layout, SEO setup, themes, and clean code. A few people have already tried it and seemed to really like it, which was encouraging!&lt;/p&gt;

&lt;p&gt;Tech stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nuxt 4, Vue 3, TailwindCSS 4, NuxtUI&lt;/li&gt;
&lt;li&gt;Nuxt i18n&lt;/li&gt;
&lt;li&gt;Analytics: Google Analytics / Umami / DataFast&lt;/li&gt;
&lt;li&gt;Auth: Better Auth&lt;/li&gt;
&lt;li&gt;DB: Drizzle ORM + Postgres&lt;/li&gt;
&lt;li&gt;Storage: Cloudflare R2&lt;/li&gt;
&lt;li&gt;Email: Resend + Vue Email&lt;/li&gt;
&lt;li&gt;Payment: Stripe / Polar / Dodo payments&lt;/li&gt;
&lt;li&gt;AI: OpenRouter AI&lt;/li&gt;
&lt;li&gt;Deployment: Cloudflare Workers / Vercel&lt;/li&gt;
&lt;li&gt;PWA support via Vite PWA&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm curious, if you are building with Nuxt, what is the one thing you always end up re-coding for every new project?&lt;/p&gt;

&lt;p&gt;Would love to hear your thoughts on what could be improved or automated next&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>nuxt</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
