<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>BWAI</title>
    <subtitle>AI automation strategy, implementation, and infrastructure for mid-market companies. Built by Bennie Williams.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://bwai.us/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://bwai.us"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-06-15T00:00:00+00:00</updated>
    <id>https://bwai.us/atom.xml</id>
    <entry xml:lang="en">
        <title>Why I Picked Zola Over Next.js for Client Sites</title>
        <published>2026-06-15T00:00:00+00:00</published>
        <updated>2026-06-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bennie Williams
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bwai.us/blog/why-zola-over-nextjs/"/>
        <id>https://bwai.us/blog/why-zola-over-nextjs/</id>
        
        <content type="html" xml:base="https://bwai.us/blog/why-zola-over-nextjs/">&lt;h1 id=&quot;why-i-picked-zola-over-next-js-for-client-sites&quot;&gt;Why I Picked Zola Over Next.js for Client Sites&lt;&#x2F;h1&gt;
&lt;p&gt;I’ve built sites with Django, Pelican, Next.js 15, and now Zola. For client work, Zola wins on every metric that matters.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-problem-with-next-js-for-clients&quot;&gt;The Problem With Next.js for Clients&lt;&#x2F;h2&gt;
&lt;p&gt;Next.js 15 is excellent. I use it for complex applications. But for small business websites — 3 to 10 pages, mostly static content, a contact form — it’s overkill.&lt;&#x2F;p&gt;
&lt;p&gt;You get:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;A 200MB &lt;code&gt;node_modules&lt;&#x2F;code&gt; directory&lt;&#x2F;li&gt;
&lt;li&gt;Build times measured in minutes&lt;&#x2F;li&gt;
&lt;li&gt;Dependency vulnerabilities that need updating weekly&lt;&#x2F;li&gt;
&lt;li&gt;A hosting setup that requires Node.js runtime&lt;&#x2F;li&gt;
&lt;li&gt;Client confusion when they try to edit content&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;what-zola-gives-you-instead&quot;&gt;What Zola Gives You Instead&lt;&#x2F;h2&gt;
&lt;p&gt;Zola is a single binary written in Rust. No dependencies. No Node.js. No npm install.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;zola build
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;That’s it. Sub-second build time. Output is pure HTML and CSS. Deploy it anywhere.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-math&quot;&gt;The Math&lt;&#x2F;h2&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Metric&lt;&#x2F;th&gt;&lt;th&gt;Next.js 15&lt;&#x2F;th&gt;&lt;th&gt;Zola&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Build time&lt;&#x2F;td&gt;&lt;td&gt;30-60 seconds&lt;&#x2F;td&gt;&lt;td&gt;&amp;lt;1 second&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Dependencies&lt;&#x2F;td&gt;&lt;td&gt;500+ packages&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Hosting requirements&lt;&#x2F;td&gt;&lt;td&gt;Node.js runtime&lt;&#x2F;td&gt;&lt;td&gt;Any web server&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Page size&lt;&#x2F;td&gt;&lt;td&gt;200KB+ JS&lt;&#x2F;td&gt;&lt;td&gt;0KB JS&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Lighthouse score&lt;&#x2F;td&gt;&lt;td&gt;85-95&lt;&#x2F;td&gt;&lt;td&gt;100&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Client can self-edit&lt;&#x2F;td&gt;&lt;td&gt;Unlikely&lt;&#x2F;td&gt;&lt;td&gt;Yes (markdown)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;when-to-use-which&quot;&gt;When To Use Which&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Use Next.js when:&lt;&#x2F;strong&gt; You’re building an application with authentication, real-time data, complex state management, or server-side rendering with dynamic data.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Use Zola when:&lt;&#x2F;strong&gt; You’re building a website. Marketing pages, blogs, documentation, portfolios, small business sites. Anything that’s mostly static content.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;how-i-deploy-it&quot;&gt;How I Deploy It&lt;&#x2F;h2&gt;
&lt;p&gt;Every client site runs on a Hostinger VPS with Docker. Zola builds in the container, nginx serves the static output, Cloudflare handles CDN and SSL. Auto-deploys on git push via Dokploy webhook.&lt;&#x2F;p&gt;
&lt;p&gt;The client gets the full source code. Content lives in markdown files. They can edit a blog post in a text editor, push to GitHub, and the site updates automatically.&lt;&#x2F;p&gt;
&lt;p&gt;That’s ownership.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
