<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Spicanet]]></title><description><![CDATA[Spicanet]]></description><link>https://spicanet.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 31 Oct 2026 16:59:38 GMT</lastBuildDate><atom:link href="https://spicanet.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[What changed, who controls it, what's the evidence: building CoinFaro]]></title><description><![CDATA[CoinFaro is a crypto due-diligence layer with versioned risk profiles and no price charts. In development, with the catalogue partly filled.]]></description><link>https://spicanet.hashnode.dev/coinfaro-crypto-due-diligence-not-price-hype</link><guid isPermaLink="true">https://spicanet.hashnode.dev/coinfaro-crypto-due-diligence-not-price-hype</guid><category><![CDATA[crypto]]></category><category><![CDATA[Blockchain]]></category><category><![CDATA[research]]></category><category><![CDATA[webdev]]></category><dc:creator><![CDATA[Spicanet]]></dc:creator><pubDate>Fri, 23 Oct 2026 16:36:50 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ad779d3602577e0904ddc80/2820b75a-7f90-4b29-9d76-68dc70fb1d8e.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Open almost any crypto site and the first thing you see is a price. Green or red, up or down, with a chart that makes everything look like a heart monitor. Price is the least useful thing to know when you're trying to work out whether a protocol, a stablecoin or a bridge is safe to rely on. CoinFaro is my attempt at the other question. It's a due-diligence layer for digital assets, and it's in development.</p>
<h2>Questions instead of a price</h2>
<p>CoinFaro is built around a short set of questions. What changed? Who controls it? What does the evidence say? If you can answer those about a crypto project, you know more than most of the market does, and you didn't need a candlestick to get there.</p>
<p><strong>What CoinFaro publishes</strong></p>
<table>
<thead>
<tr>
<th>Piece</th>
<th>What it is</th>
</tr>
</thead>
<tbody><tr>
<td>Risk Profiles</td>
<td>Versioned profiles with a score shown alongside confidence and coverage</td>
</tr>
<tr>
<td>ChangeEvents</td>
<td>Flags when something material changes</td>
</tr>
<tr>
<td>Controls</td>
<td>Who can change what and how</td>
</tr>
<tr>
<td>Dependencies</td>
<td>What a project relies on to keep working</td>
</tr>
</tbody></table>
<h2>A score is nothing without confidence</h2>
<p>Every Risk Profile has a score, but the score is never shown alone. It sits next to confidence and coverage. A high score backed by thin evidence is not the same as a high score backed by a lot of it, and a site that shows only the number is hiding the most important part.</p>
<p>Profiles are also versioned. When a profile changes, the old version doesn't vanish. You can see that the assessment moved, and why it moved matters as much as where it landed.</p>
<blockquote>
<p>A risk score without its confidence is just a number wearing a lab coat.</p>
<p>â€” why confidence sits next to every score</p>
</blockquote>
<h2>Apples and apples</h2>
<p>Crypto projects aren't one kind of thing, so CoinFaro doesn't score them as one kind of thing. Each vertical is scored separately:</p>
<ul>
<li>DeFi protocols</li>
<li>Stablecoins</li>
<li>Bridges</li>
<li>Exchanges</li>
<li>Layer-one chains and rollups</li>
<li>Custody</li>
</ul>
<blockquote>
<p><strong>Never mixed.</strong> These verticals are never mixed with tokens or NFTs. Comparing a bridge with a meme token on one scale would make the scale meaningless.</p>
</blockquote>
<p><strong>How a project is tracked</strong></p>
<p><em>What happens over time once a project is in CoinFaro.</em></p>
<ol>
<li>The project is placed in its vertical.</li>
<li>Its controls and dependencies are documented.</li>
<li>A versioned Risk Profile is published with score and confidence and coverage.</li>
<li>Material changes are flagged as ChangeEvents.</li>
<li>The profile is revised and the new version sits next to the old one.</li>
</ol>
<h2>What CoinFaro is not</h2>
<p>It's not a price terminal. It's not a popularity board. It's not investment advice. Those sentences do a lot of work, because the pull toward each of them is strong. Price data brings traffic. Popularity lists bring clicks. Advice brings liability. None of them bring due diligence.</p>
<h2>Who it's for</h2>
<p>People who are about to trust a protocol, a stablecoin or an exchange with real money and want to know what they're trusting. Researchers and teams who need to track when something material changes instead of finding out from a headline. And anyone who suspects that the loudest project in their feed isn't necessarily the safest one.</p>
<p>If you want to know whether a coin will go up, CoinFaro is the wrong place, and it will stay the wrong place.</p>
<h2>What's not finished</h2>
<p>CoinFaro is in development, and the catalogue is only partially filled. Many projects you'd expect to find aren't profiled yet. I'd rather publish fewer profiles with real evidence than a full-looking database built on guesses.</p>
<p>Pricing isn't something I can describe here either. There's a pricing link on the site, but I haven't confirmed the details for this article, so I'm not going to state them.</p>
<ul>
<li>Status: in development</li>
<li>Catalogue: partially filled</li>
<li>Pricing: not covered here</li>
</ul>
<p><strong>Before you rely on any crypto project</strong></p>
<ul>
<li>Find out who controls upgrades and funds</li>
<li>List what it depends on to keep working</li>
<li>Check what changed recently and why</li>
<li>Look at how confident any rating actually is</li>
<li>Look at the price chart last and not first</li>
</ul>
<blockquote>
<p><strong>Note: How it's built.</strong> In general terms: a structured research database where each project has documented controls and dependencies, a versioned profile on top, and a change log that turns material changes into flagged events. The site is a view over that research, not a feed of market data.</p>
</blockquote>
<h2>Have a look</h2>
<p>CoinFaro is at <a href="https://coinfaro.com">coinfaro.com</a>. My other projects are on <a href="https://spicanet.net/products">spicanet.net/products</a>.</p>
<hr />
<p><em>Originally published on</em> <a href="https://spicanet.dev/blog/coinfaro-crypto-due-diligence-not-price-hype"><em>spicanet.dev</em></a><em>.</em></p>
]]></content:encoded></item><item><title><![CDATA[I built a CMS with no plugins, and I'm keeping it that way]]></title><description><![CDATA[SpicaCMS runs one SEO-first site per deployment on Django and Next.js. Here's why, and what's still moving.]]></description><link>https://spicanet.hashnode.dev/spicacms-a-cms-with-no-plugins</link><guid isPermaLink="true">https://spicanet.hashnode.dev/spicacms-a-cms-with-no-plugins</guid><category><![CDATA[cms]]></category><category><![CDATA[Django]]></category><category><![CDATA[Next.js]]></category><category><![CDATA[SEO]]></category><dc:creator><![CDATA[Spicanet]]></dc:creator><pubDate>Wed, 21 Oct 2026 03:42:44 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ad779d3602577e0904ddc80/58cb5a4d-d26f-44e9-a739-8b9081ffb817.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every CMS I've used eventually turns into a negotiation with its plugin list. One plugin does sitemaps, another does schema, another fights them both over canonical tags, and the site you actually wanted is somewhere underneath. SpicaCMS is my attempt to stop negotiating. It's a single-site, SEO-first CMS runtime with no plugins at all, and it's live. It's also still in active development, and I'd rather say that up front than let you find out from a changelog.</p>
<h2>The problem I kept hitting</h2>
<p>I run a lot of content sites. Reviews, directories, guides, the odd magazine. The setup was always the same: pick a CMS, install a stack of plugins, then spend evenings figuring out why the sitemap forgot a chunk of the pages or why several plugins all decided to print JSON-LD.</p>
<p>The SEO basics weren't the hard part. The hard part was that they lived in someone else's add-on, configured in a settings screen I'd forget about, and broke quietly when something updated. So I built the boring parts into the runtime and threw away the idea of plugins entirely.</p>
<blockquote>
<p>If every site needs it, it isn't a plugin. It's the product.</p>
<p>— me, after untangling one canonical tag too many</p>
</blockquote>
<h2>What SpicaCMS actually is</h2>
<p>Each deployment runs exactly one site. The backend is Django, the frontend is Next.js, and editors work in a staff Control Panel that I've tried hard to keep fast and plain. There's no marketplace, no theme store and no mystery code from strangers.</p>
<p>One site per deployment sounds like a limitation, and it is one. It's also the reason I can reason about a site without wondering which tenant broke what. If you want to run lots of sites, you run lots of deployments. Dull, predictable, debuggable.</p>
<h2>Template packs are data models, not skins</h2>
<p>This is the part I care about most. A template pack in SpicaCMS isn't a coat of paint. It's a full data model for a type of site, with the fields, pages and structured data that type actually needs. A job board needs different fields from a travel guide, and pretending otherwise is how you end up stuffing salary ranges into a custom field called extra_3.</p>
<p>The packs today cover:</p>
<ul>
<li>Blogs and magazines</li>
<li>Knowledge bases</li>
<li>Affiliate reviews and software alternatives</li>
<li>Directories</li>
<li>Real estate and jobs</li>
<li>Events</li>
<li>Travel guides with itineraries and maps</li>
</ul>
<p><strong>SEO that ships with the runtime</strong></p>
<table>
<thead>
<tr>
<th>Concern</th>
<th>How SpicaCMS handles it</th>
</tr>
</thead>
<tbody><tr>
<td>Structured data</td>
<td>Validated schema.org JSON-LD per page type</td>
</tr>
<tr>
<td>Sitemaps</td>
<td>Multi-index sitemaps generated by the runtime</td>
</tr>
<tr>
<td>Languages</td>
<td>Automatic hreflang</td>
</tr>
<tr>
<td>Changed slugs</td>
<td>Automatic 301 redirects</td>
</tr>
<tr>
<td>Extensions</td>
<td>None. No plugins by design</td>
</tr>
</tbody></table>
<p><strong>What happens when an editor renames a page</strong></p>
<ol>
<li>The editor changes the slug in the Control Panel and saves.</li>
<li>The runtime records the old path and issues a 301 to the new one.</li>
<li>The sitemap picks up the new URL instead of the old one.</li>
<li>Structured data and hreflang follow the page instead of pointing at a ghost.</li>
<li>Nobody has to remember to install a redirect plugin first.</li>
</ol>
<blockquote>
<p><strong>Self-host or not.</strong> The Community edition is free and open-source per site if you want to run it yourself. If you'd rather not babysit servers, there's a managed cloud option. Pricing lives on the site and I'm not going to paste it into an essay that will outlive it.</p>
</blockquote>
<h2>What's honestly not done</h2>
<p>SpicaCMS is live, but the portfolio still lists it as active development, and that's accurate. Template packs and the Control Panel are still changing. If you need a frozen API surface that won't move for two years, this isn't that yet.</p>
<p>There's also a companion SEO tool, SpicaSEO, that's meant to work alongside it. SpicaSEO is in development. Please don't pick a CMS on the strength of a tool that isn't finished; I wouldn't.</p>
<p>And the no-plugins rule cuts both ways. If your site depends on some niche integration, the answer today is probably no, or not yet. I'd rather say no than ship an extension system I then have to support forever.</p>
<p><strong>Is SpicaCMS a fit for you?</strong></p>
<ul>
<li>You run content sites where search traffic matters</li>
<li>Your site matches one of the template pack types</li>
<li>You're fine with one site per deployment</li>
<li>You don't need a plugin ecosystem</li>
<li>You can live with a product that's still evolving</li>
</ul>
<blockquote>
<p><strong>Note: Why Django and Next.js.</strong> Django gives me a solid admin-friendly backend and data modelling I trust. Next.js renders the public pages. Splitting them means the editing side and the reading side can each be boring in their own way, which is the highest compliment I give software.</p>
</blockquote>
<hr />
<h2>Where to look</h2>
<p>If any of this sounds like the CMS you wished you had a few plugin conflicts ago, the details are at <a href="https://spicacms.com">spicacms.com</a>. The rest of what I'm building is on <a href="https://spicanet.net/products">spicanet.net/products</a>, and I'm happy to hear what's missing from your side.</p>
<hr />
<p><em>Originally published on <a href="https://spicanet.dev/blog/spicacms-a-cms-with-no-plugins">spicanet.dev</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Build the engine, not the posts]]></title><description><![CDATA[One typed content pipeline, one design language and a fact-check gate that is allowed to say no. A roadmap, not a victory lap.]]></description><link>https://spicanet.hashnode.dev/build-the-engine-not-the-posts</link><guid isPermaLink="true">https://spicanet.hashnode.dev/build-the-engine-not-the-posts</guid><category><![CDATA[webdev]]></category><category><![CDATA[AI]]></category><category><![CDATA[cms]]></category><category><![CDATA[SEO]]></category><dc:creator><![CDATA[Spicanet]]></dc:creator><pubDate>Tue, 20 Oct 2026 14:31:30 GMT</pubDate><content:encoded><![CDATA[<p><em>Update (Oct 2026): CryptoCardCompass now lists 54 cards.</em></p>
<p>Around twenty of our own sites, one person deciding what they say. You can keep writing every page by hand and drown politely, or you can build the thing that writes, checks and ships them, and then spend your evenings arguing with it instead. The next months go into the second option: one typed content pipeline, one design language across the sites, and a fact-check gate that is allowed to say no. This is a roadmap, not a victory lap. The design work is out in the world. The engine and the gate are still being built and tested.</p>
<h2>Why stop writing posts one by one</h2>
<p>Every site started as its own small kingdom. Its own CMS habits, its own idea of what a guide looks like, its own way of being slightly wrong. Fixing one meant fixing it nineteen more times, usually by memory, usually at night.</p>
<p>The interesting work is not the next article. It is the machinery that knows what an article on this site is allowed to contain, where it gets its facts, and who has to look at it before it goes out.</p>
<ul>
<li>Content gets a type and a schema, not a blank text box.</li>
<li>Every generated field should carry where it came from.</li>
<li>Publishing becomes a separate step with its own rules.</li>
<li>Live content gets refreshed instead of quietly rotting.</li>
</ul>
<blockquote>
<p>Writing the twentieth guide by hand is not craft. It is a cry for help with good grammar.</p>
</blockquote>
<p><strong>The roadmap, in order (in progress)</strong></p>
<ol>
<li>Typed content storage so a review is a review and a glossary term is a glossary term.</li>
<li>Generation directed by that schema and every field keeps its provenance.</li>
<li>A publication step that talks to our own CMS and to WordPress or custom sites through adapters.</li>
<li>Autopilot per content type, only where the type has earned it.</li>
<li>Refresh of live pages and follow-ups only after publication is verified.</li>
<li>One design language rolled across the sites so the engine is not dressing each one by hand.</li>
</ol>
<p><strong>Before and the plan for after</strong></p>
<table>
<thead>
<tr>
<th>Site type</th>
<th>Before</th>
<th>Planned after</th>
</tr>
</thead>
<tbody><tr>
<td>Guides and reviews</td>
<td>Hand-written per site</td>
<td>Typed content with sources attached</td>
</tr>
<tr>
<td>Glossaries and lessons</td>
<td>Copied structures that drift</td>
<td>One schema and many locales</td>
</tr>
<tr>
<td>Music and artist pages</td>
<td>Bios written from vibes</td>
<td>Bios that only keep supported claims</td>
</tr>
<tr>
<td>Design</td>
<td>Each site its own mood</td>
<td>Shared language with a local accent</td>
</tr>
<tr>
<td>Publishing</td>
<td>Whoever remembered last</td>
<td>An orchestrator with its own rules</td>
</tr>
</tbody></table>
<h2>The test case: artist bios that refuse to guess</h2>
<p>DROP THE BASS is where the gate is being tested first. The artist bio pipeline we are building writes only bio fields and drops claims it cannot support. No invented residencies, no imaginary label history, no "legendary" unless something actually says so. It is not running in production yet. It is the place where we find out whether the gate is strict enough.</p>
<p>Spotify and YouTube matching by ID instead of by name is part of the same work. Plenty of artists share a name with someone who makes very different music, and matching by name is how a jungle producer ends up linked to a wedding band. An ID ends that argument.</p>
<p><strong>The gate can say no</strong></p>
<p>A fact-check that always passes is decoration. The bio gate we are testing drops unsupported lines and leaves the field shorter. A short true bio beats a long beautiful lie every single time.</p>
<h2>One design language and many accents</h2>
<p>This part is already out. VPNScoreLab, Brokeli, CoinFaro and ProxyLister got new design systems in the last weeks, and SpicaSEO got its own refresh. They should not look identical. They should feel like they come from the same workshop.</p>
<p>Brokeli now speaks eight languages, with calculators, lessons and a glossary. CoinFaro grew a real glossary and guides. That volume only makes sense if the engine underneath stays honest, which is exactly why the engine comes next.</p>
<p><strong>Quality gates before anything goes live</strong></p>
<ul>
<li>Every factual field has a source the engine can point to.</li>
<li>Unsupported claims are dropped and not softened.</li>
<li>External profiles are matched by ID and not by name.</li>
<li>The page fits the site's design language.</li>
<li>Publication is verified before any follow-up runs.</li>
<li>A person can see what changed and roll it back.</li>
</ul>
<h2>What is honestly still in progress</h2>
<p>The content engine in SpicaSEO and the new connector for our own CMS are in progress. Nothing here is shipped as a finished machine. Adapters come for our own CMS first, then WordPress and custom sites. Autopilot will be per content type and no type has earned it yet. The bio gate on DROP THE BASS is in testing, not in production.</p>
<p>A couple of new sites will grow up on this engine from day one. SpicaVPN is prelaunch with a waitlist. CryptoCardCompass is an early catalog with nothing published yet.</p>
<p>Every new site still gets a real review before it opens. The engine prepares. A person decides.</p>
<p><strong>Why roadmap and not launch</strong></p>
<p>We would rather publish where the engine is going and get corrected than announce a finished machine that still needs a babysitter. When pieces ship they go to the Friday Dev Log.</p>
<h2>The bet</h2>
<p>Fewer hand-made posts. More time on the engine and the gates. If it works, twenty sites stay honest with the same effort as two. If it does not, at least it fails loudly and in one place.</p>
<hr />
<p><em>Originally published on the Spicanet blog: <a href="https://spicanet.dev/blog/build-the-engine-not-the-posts">https://spicanet.dev/blog/build-the-engine-not-the-posts</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Naming things is editorial work]]></title><description><![CDATA[Building a DnB and jungle genre taxonomy taught us that naming is editorial work: provider tags are hints, and a person accepts.]]></description><link>https://spicanet.hashnode.dev/naming-things-is-editorial-work</link><guid isPermaLink="true">https://spicanet.hashnode.dev/naming-things-is-editorial-work</guid><category><![CDATA[AI]]></category><category><![CDATA[data]]></category><category><![CDATA[webdev]]></category><category><![CDATA[music]]></category><dc:creator><![CDATA[Spicanet]]></dc:creator><pubDate>Tue, 20 Oct 2026 14:30:51 GMT</pubDate><content:encoded><![CDATA[<p>Give a machine a pile of tracks and it will happily tell you what genre each one is. It will be fast, confident and wrong in ways that make a junglist want to throw a speaker out the window. Building a DnB and jungle genre taxonomy for DROP THE BASS taught us something we should have known already: naming things is not data cleanup. It is editorial work. Provider tags are hints. Every label needs a paper trail. The machine may propose. A person accepts. And when there is no evidence, the model does not get called at all.</p>
<h2>Provider tags are hints, not truth</h2>
<p>Streaming and event platforms come with genre tags. Some are good. Some are a marketing department's idea of DnB. Until recently an import could quietly overwrite a genre someone had chosen by hand, which is the data version of a stranger rearranging your record shelf while you sleep.</p>
<p>Now imports never wipe or overwrite genres, and a provider string never becomes a genre on its own. It gets read, interpreted and kept as a hint next to the real decision.</p>
<ul>
<li>Imports from Spotify or RA cannot overwrite a chosen genre.</li>
<li>No new genre is created just because a provider typed a word.</li>
<li>Provider terms are interpreted, not obeyed.</li>
</ul>
<blockquote>
<p>A tag from a platform is a rumor with metadata. Treat it like a rumor.</p>
</blockquote>
<p><strong>Provider tag versus our decision</strong></p>
<table>
<thead>
<tr>
<th>What a provider might say</th>
<th>Canonical genre</th>
<th>Decision</th>
</tr>
</thead>
<tbody><tr>
<td>Liquid or liquid DnB</td>
<td>Liquid Funk</td>
<td>Restored as the canonical name</td>
</tr>
<tr>
<td>Ragga or reggae jungle</td>
<td>Ragga Jungle</td>
<td>Named properly and published</td>
</tr>
<tr>
<td>Footwork</td>
<td>Footwork</td>
<td>Kept hidden for now</td>
</tr>
<tr>
<td>Anything unknown</td>
<td>None</td>
<td>Stays a hint until a person decides</td>
</tr>
</tbody></table>
<h2>Every label carries a paper trail</h2>
<p>Each genre on an artist, release or label now records where it came from. A human editor. A provider hint. A proposal from the engine that someone accepted. If a label is wrong you can see exactly how it got there, and fix the cause instead of the symptom.</p>
<p>The full taxonomy is visible on the genres page, so the decisions are public and arguable. That is the point. Names in a scene should be argued about by people who care, not settled by whichever API answered first.</p>
<p><strong>How a label is allowed to happen</strong></p>
<ol>
<li>Propose: the classifier or the label engine suggests a genre.</li>
<li>Evidence: the suggestion must point to eligible first-party text written or approved by a person.</li>
<li>Review: an editor sees the proposal with its evidence.</li>
<li>Accept: only a person turns a proposal into a label.</li>
<li>No evidence means no proposal and no model call at all.</li>
</ol>
<p><strong>No evidence, no model call</strong></p>
<p>The classifier is review-only and its switch is off by default. Only human-written or approved first-party text may reach a model. Spotify text is blocked in code. If nothing eligible exists the system makes zero model calls instead of guessing.</p>
<h2>Start from the labels</h2>
<p>Editors describe record labels. The engine then proposes genres for the artists and releases connected to them. Evidence is counted once per source so one loud page cannot vote ten times, and derived proposals never feed further guesses. Every proposal can be reviewed and rejected.</p>
<p>It is a small rule with a big effect: the machine can widen what an editor knows, but it cannot invent a chain of its own assumptions.</p>
<p><strong>Before a machine may label anything</strong></p>
<ul>
<li>The evidence is first-party text a person wrote or approved.</li>
<li>The source is recorded on the label.</li>
<li>Provider tags are stored as hints and never as decisions.</li>
<li>A derived guess cannot become evidence for the next guess.</li>
<li>A person accepts or rejects every proposal.</li>
<li>There is a kill switch and it starts off.</li>
</ul>
<h2>The same rule outside music</h2>
<p>Naming is one case of a wider habit: do not serve what is not true. VPNScoreLab stopped showing synthetic lab speeds. Its unpublished articles now actually return 404 instead of living on in cache. CoinFaro does the same for missing incidents with a real 404 and noindex rather than a cached page that says everything is fine.</p>
<p>A missing page that admits it is missing is more useful than a confident ghost.</p>
<blockquote>
<p>A name like liquid funk is not a database value. It is a name a scene made, and we just have to write it down correctly.</p>
</blockquote>
<p><strong>Tell us</strong></p>
<p>If we got a name wrong, we would rather hear it now than after the next import.</p>
<hr />
<p><em>Originally published on the Spicanet blog: <a href="https://spicanet.dev/blog/naming-things-is-editorial-work">https://spicanet.dev/blog/naming-things-is-editorial-work</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Handing a site over to software, honestly]]></title><description><![CDATA[What a site needs before software gets the keys, which jobs never go on auto, and where we draw the line on AI faces and names.]]></description><link>https://spicanet.hashnode.dev/handing-a-site-over-to-software-honestly</link><guid isPermaLink="true">https://spicanet.hashnode.dev/handing-a-site-over-to-software-honestly</guid><category><![CDATA[SEO]]></category><category><![CDATA[automation]]></category><category><![CDATA[AI]]></category><category><![CDATA[webdev]]></category><dc:creator><![CDATA[Spicanet]]></dc:creator><pubDate>Tue, 20 Oct 2026 14:29:26 GMT</pubDate><content:encoded><![CDATA[<p>Everyone wants a website that runs itself. Almost nobody wants to talk about what has to be true first. This is the plan for the next few weeks: what a site needs before software gets the keys, which jobs never go on auto no matter how good the software gets, and where we draw the line on AI faces and names. It is a roadmap, not a victory lap.</p>
<h2>The keys are not the hard part</h2>
<p>Turning on automation is one switch. Living with it is the hard part. A site on autopilot with no brief, no search data and no budget is not autonomous. It is just unsupervised.</p>
<p>So in SpicaSEO the switch now sits behind a hand-over checklist. Every item links straight to the screen where you fix it. Full Autopilot can only be turned on by the owner, and only after the list is done.</p>
<p><strong>Before a site runs itself</strong></p>
<ul>
<li>The site connector works.</li>
<li>Publishing works end to end.</li>
<li>There is a written site brief.</li>
<li>The editorial team is set up.</li>
<li>A News section exists.</li>
<li>Search Console and Bing are connected.</li>
<li>There is a keyword strategy.</li>
<li>There is an AI budget.</li>
</ul>
<h2>What never goes on auto</h2>
<p>Outreach stays on approval. Sending a message to a real person needs a real person to press send, and no checklist changes that.</p>
<p>Risk caps and the first-review rule still apply after hand-over. And every Monday the owner gets a digest of what the site did, so judging it is a habit and not an archaeology project.</p>
<p><strong>Where the line sits</strong></p>
<table>
<thead>
<tr>
<th>Job</th>
<th>On autopilot</th>
<th>Why</th>
</tr>
</thead>
<tbody><tr>
<td>Drafting and publishing within caps</td>
<td>Yes after the checklist</td>
<td>Reversible and reviewed weekly</td>
</tr>
<tr>
<td>First pieces on a new site</td>
<td>No</td>
<td>First-review rule</td>
</tr>
<tr>
<td>Outreach to people</td>
<td>Never</td>
<td>Sending needs a person</td>
</tr>
<tr>
<td>Turning Full Autopilot on</td>
<td>Owner only</td>
<td>It is the owner's site</td>
</tr>
</tbody></table>
<h2>News without making things up</h2>
<p>Each site now gets a daily news scan. Search answers are treated as leads, never as sources. Every cited page is actually fetched, and a story only counts if the quote is literally on that page. Stale or blocked sources get rejected.</p>
<p>It is slower than trusting a summary. It is also the difference between news and confident fiction.</p>
<p><strong>How a story earns its place</strong></p>
<ol>
<li>A search answer suggests a lead.</li>
<li>Every cited page gets fetched.</li>
<li>The quote must appear on that exact page.</li>
<li>Stale or blocked sources are dropped.</li>
<li>Only then does it become a story.</li>
</ol>
<h2>AI faces, honest labels</h2>
<p>Each site can have an AI editorial team, with roles taken from its brief. They can have portraits, and the portraits say what they are: an AI editorial persona, not a real person.</p>
<p>What they cannot have is a fake life. Invented credentials, employers and years of experience are refused. If a site has real people, they are imported read-only and never rewritten. Pictures come from free-licence libraries first, and generation is the fallback.</p>
<p><strong>The hard line</strong></p>
<p>An AI persona can have a face and a role. It cannot have a made-up degree or a made-up career.</p>
<h2>Meanwhile across the fleet</h2>
<p>The groundwork is already landing on our own sites.</p>
<ul>
<li>Team and author pages plus news sections rolled out to ProxyLister, VPNScoreLab, CoinFaro, Brokeli, Samui Love, Trip2Fest and DROP THE BASS.</li>
<li>Several sites got redesigns from the new design canvas.</li>
<li>Zomia 1.0 left invite-only beta with open registration and an honest pricing page: no paid plans, fake tiers removed.</li>
<li>A shared platform update rolled across the repos.</li>
</ul>
<blockquote>
<p>A site that runs itself is only worth having if you can still read what it did on Monday morning.</p>
</blockquote>
<p><strong>Next weeks</strong></p>
<p>Switch Autopilot on site by site, only after each checklist is done, and judge every one by its weekly digest.</p>
<hr />
<p><em>Originally published on the Spicanet blog: <a href="https://spicanet.dev/blog/handing-a-site-over-to-software-honestly">https://spicanet.dev/blog/handing-a-site-over-to-software-honestly</a></em></p>
]]></content:encoded></item></channel></rss>