<?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: wenhao</title>
    <description>The latest articles on DEV Community by wenhao (@wenhaofree).</description>
    <link>https://dev.to/wenhaofree</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%2F2518117%2Fd464207b-21c0-4195-95ae-717ccfde12fb.png</url>
      <title>DEV Community: wenhao</title>
      <link>https://dev.to/wenhaofree</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wenhaofree"/>
    <language>en</language>
    <item>
      <title>I got tired of rebuilding the same SaaS infrastructure, so I built SvelteCraft</title>
      <dc:creator>wenhao</dc:creator>
      <pubDate>Fri, 24 Jul 2026 07:46:18 +0000</pubDate>
      <link>https://dev.to/wenhaofree/i-got-tired-of-rebuilding-the-same-saas-infrastructure-so-i-built-sveltecraft-9n4</link>
      <guid>https://dev.to/wenhaofree/i-got-tired-of-rebuilding-the-same-saas-infrastructure-so-i-built-sveltecraft-9n4</guid>
      <description>&lt;p&gt;Over the past few years, I’ve built multiple SaaS products.&lt;/p&gt;

&lt;p&gt;One thing I kept noticing was that every new project started exactly the same way.&lt;/p&gt;

&lt;p&gt;Before I could build the actual product, I had to rebuild the same infrastructure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Billing&lt;/li&gt;
&lt;li&gt;Database setup&lt;/li&gt;
&lt;li&gt;File storage&lt;/li&gt;
&lt;li&gt;Admin dashboard&lt;/li&gt;
&lt;li&gt;Landing pages&lt;/li&gt;
&lt;li&gt;Deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these were unique to the business I wanted to build, but they always consumed the first few weeks of development.&lt;/p&gt;

&lt;p&gt;I tried several starter kits. Many of them are excellent, but I wanted something that matched the way I build products today—using SvelteKit and Cloudflare Workers.&lt;/p&gt;

&lt;p&gt;That eventually became &lt;strong&gt;SvelteCraft&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is SvelteCraft?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;SvelteCraft is a production-ready SaaS starter built with SvelteKit and optimized for Cloudflare Workers.&lt;/p&gt;

&lt;p&gt;It includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Stripe Billing&lt;/li&gt;
&lt;li&gt;PostgreSQL / Cloudflare D1&lt;/li&gt;
&lt;li&gt;Cloudflare R2&lt;/li&gt;
&lt;li&gt;SEO&lt;/li&gt;
&lt;li&gt;Admin Dashboard&lt;/li&gt;
&lt;li&gt;Production-ready project structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal isn’t to include every possible feature.&lt;/p&gt;

&lt;p&gt;It’s to provide a clean foundation that lets developers spend more time building products instead of rebuilding infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why Cloudflare?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;One of the biggest reasons was operational simplicity.&lt;/p&gt;

&lt;p&gt;Cloudflare Workers provide global deployment, low latency, and a modern developer experience.&lt;/p&gt;

&lt;p&gt;Combined with D1 and R2, it’s possible to build many SaaS products without managing traditional servers.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Looking for feedback&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I’m continuing to improve SvelteCraft and would love to hear from other developers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What do you rebuild for every SaaS?&lt;/li&gt;
&lt;li&gt;What features do you expect from a modern starter?&lt;/li&gt;
&lt;li&gt;What would make a starter worth paying for?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Website:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://sveltecraft.com" rel="noopener noreferrer"&gt;https://sveltecraft.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’d really appreciate your feedback.&lt;/p&gt;

</description>
      <category>svelte</category>
      <category>sveltecraft</category>
      <category>productivity</category>
      <category>typescript</category>
    </item>
  </channel>
</rss>
