<?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: Jamie Street</title>
    <description>The latest articles on DEV Community by Jamie Street (@jamie_street).</description>
    <link>https://dev.to/jamie_street</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%2F4051012%2F91e9f293-f424-4130-a3c3-da8d8f9b2110.png</url>
      <title>DEV Community: Jamie Street</title>
      <link>https://dev.to/jamie_street</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jamie_street"/>
    <language>en</language>
    <item>
      <title>Your AI Can Build a Website. Where Does It Go When the Chat Ends?</title>
      <dc:creator>Jamie Street</dc:creator>
      <pubDate>Tue, 28 Jul 2026 11:52:47 +0000</pubDate>
      <link>https://dev.to/jamie_street/your-ai-can-build-a-website-where-does-it-go-when-the-chat-ends-1ll2</link>
      <guid>https://dev.to/jamie_street/your-ai-can-build-a-website-where-does-it-go-when-the-chat-ends-1ll2</guid>
      <description>&lt;p&gt;An AI agent can now build a complete website in one conversation. A landing page, a dashboard, a small game, a gallery. The code is real and it works.&lt;/p&gt;

&lt;p&gt;Then the conversation ends, and the website is trapped. It exists as a code block in a chat window. You can copy it, screenshot it, or lose it. The build cost collapsed. The shipping cost did not.&lt;/p&gt;

&lt;p&gt;This article describes five practical patterns for the last mile: getting AI-built front-ends onto real URLs, with the least friction for each situation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I run &lt;a href="https://nippy.host" rel="noopener noreferrer"&gt;Nippy&lt;/a&gt;, the static host I use in the examples. The patterns work with any host that supports the same operations; the point is the pattern, not the vendor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pattern 1: the agent ships it
&lt;/h2&gt;

&lt;p&gt;The cleanest path: the AI that built the artifact also publishes it.&lt;/p&gt;

&lt;p&gt;This works through MCP (Model Context Protocol). You connect a hosting tool to your AI client once. After that, "publish this" is part of the conversation. The agent writes the files, calls the tool, and returns a live URL.&lt;/p&gt;

&lt;p&gt;I wrote a &lt;a href="https://dev.to/jamie_street/ask-claude-to-publish-a-website-get-a-permanent-link-4k8"&gt;full walkthrough with a live demo&lt;/a&gt; if you want the step-by-step version.&lt;/p&gt;

&lt;p&gt;Use this pattern when the artifact is born in a chat and the chat is where you work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pattern 2: you ship the folder
&lt;/h2&gt;

&lt;p&gt;Sometimes you have the files locally — an export from an AI tool, a folder from a code session. The old-fashioned path is still the fastest: drop the folder on &lt;a href="https://nippy.host" rel="noopener noreferrer"&gt;nippy.host&lt;/a&gt;, pick an address, and the site is live. No account setup ritual; the first publish confirms your email.&lt;/p&gt;

&lt;p&gt;Use this pattern for one-off artifacts and for people on your team who do not touch a terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pattern 3: iterate on a stable URL
&lt;/h2&gt;

&lt;p&gt;AI-assisted building is iterative. Version 2 arrives ten minutes after version 1. If each version gets a new URL, the person reviewing it is always holding a dead link.&lt;/p&gt;

&lt;p&gt;The pattern: publish once, then update in place. The URL never changes; the content does. Your client refreshes the same link and sees the newest version. On Nippy this is one command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @nippyhost/cli deploy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use this pattern for client review loops and for anything you share in a group chat.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pattern 4: CI ships what the repo holds
&lt;/h2&gt;

&lt;p&gt;When the AI-built project graduates into a git repository, stop deploying by hand. Put a deploy token in a repository secret and add one step to your workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;NIPPY_TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$SECRET&lt;/span&gt; npx @nippyhost/cli deploy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every merge ships. This is the boring, correct pattern for anything with a lifespan longer than a week.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pattern 5: protect the prototype
&lt;/h2&gt;

&lt;p&gt;Not every AI-built artifact is for the public. A pitch mock-up with a client's name on it should not be indexable, and sometimes should not be open at all.&lt;/p&gt;

&lt;p&gt;Two small tools cover most cases. A password on the site keeps drafts private until they are ready. A QR code for the URL puts the prototype on a phone in one scan, which is the fastest way to test a mobile layout with a real device.&lt;/p&gt;

&lt;p&gt;Use this pattern before you send anything with a client's brand on it to a public URL.&lt;/p&gt;

&lt;h2&gt;
  
  
  One warning: read what the AI wrote
&lt;/h2&gt;

&lt;p&gt;Before you ship an AI-built page, search the files for secrets. Agents sometimes embed API keys, private endpoints or test data directly in the HTML, because that is the shortest path to "it works". A static site is public by definition. What is in the file is on the internet.&lt;/p&gt;

&lt;p&gt;Thirty seconds with a search for &lt;code&gt;key&lt;/code&gt;, &lt;code&gt;token&lt;/code&gt; and &lt;code&gt;secret&lt;/code&gt; is enough. Make it a habit.&lt;/p&gt;

&lt;h2&gt;
  
  
  The point
&lt;/h2&gt;

&lt;p&gt;The interesting change is not that AI writes code. It is that the artifact loop — idea, build, share, feedback — now fits inside an hour. The build step got fast. The patterns above make the share step match it.&lt;/p&gt;

&lt;p&gt;If you want to try the full loop, &lt;a href="https://nippy.host" rel="noopener noreferrer"&gt;Nippy&lt;/a&gt; covers all five patterns, and the &lt;a href="https://nippy.host/help" rel="noopener noreferrer"&gt;help center&lt;/a&gt; documents each one. Total setup time is roughly the length of this article.&lt;/p&gt;

&lt;p&gt;What is the best thing an AI has built for you that never made it out of the chat window? Tell me in the comments — and then ship it.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/jamie_street/ask-claude-to-publish-a-website-get-a-permanent-link-4k8"&gt;Ask Claude to publish a website. Get a permanent link.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/jamie_street/website-analytics-without-a-cookie-banner-what-is-actually-legal-in-2026-7fg"&gt;Website analytics without a cookie banner: what is actually legal in 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>devtools</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Website Analytics Without a Cookie Banner: What Is Actually Legal in 2026</title>
      <dc:creator>Jamie Street</dc:creator>
      <pubDate>Tue, 28 Jul 2026 11:30:52 +0000</pubDate>
      <link>https://dev.to/jamie_street/website-analytics-without-a-cookie-banner-what-is-actually-legal-in-2026-7fg</link>
      <guid>https://dev.to/jamie_street/website-analytics-without-a-cookie-banner-what-is-actually-legal-in-2026-7fg</guid>
      <description>&lt;p&gt;Most cookie banners protect nothing. They exist because a site loaded an analytics script that plants an identifier on your device. The site owner often wants only one number: how many people visited.&lt;/p&gt;

&lt;p&gt;There is a better path. This article explains what the law actually regulates, what changed in the UK in 2026, and how to measure traffic without a consent banner. It is not legal advice. It is a map, with sources, so you can check your own position.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I run &lt;a href="https://nippy.host" rel="noopener noreferrer"&gt;Nippy&lt;/a&gt;, a static hosting service with built-in cookie-free analytics. I explain below how it avoids the consent trigger. The same logic applies to any tool built the same way.&lt;/p&gt;

&lt;h2&gt;
  
  
  The law does not say "cookies"
&lt;/h2&gt;

&lt;p&gt;The UK and EU rules regulate &lt;strong&gt;storage and access on the user's device&lt;/strong&gt;. A cookie is one example. The rules also cover localStorage, tracking pixels, scripts and device fingerprinting. The UK regulator lists these technologies explicitly in its &lt;a href="https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guidance-on-the-use-of-storage-and-access-technologies/" rel="noopener noreferrer"&gt;guidance on storage and access technologies&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This has two consequences:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You cannot escape the rules with a fingerprint instead of a cookie. Fingerprinting is in scope.&lt;/li&gt;
&lt;li&gt;Analytics that stores nothing on the device, and reads nothing from it, avoids the main trigger.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That second point is the foundation of cookie-free analytics.&lt;/p&gt;

&lt;h2&gt;
  
  
  How cookie-free analytics works
&lt;/h2&gt;

&lt;p&gt;A cookie-free system counts on the server. The request itself carries enough for aggregate statistics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The page that was requested.&lt;/li&gt;
&lt;li&gt;The referrer header.&lt;/li&gt;
&lt;li&gt;The user agent, for browser and bot detection.&lt;/li&gt;
&lt;li&gt;The country, derived from the IP address and then discarded.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system does not set an identifier. It does not read one. It does not build a profile of one visitor across days or across sites. It produces totals: views, visitors, sources, countries. Individual people are not the product; the aggregate is.&lt;/p&gt;

&lt;p&gt;This is how the analytics in &lt;a href="https://nippy.host" rel="noopener noreferrer"&gt;Nippy&lt;/a&gt; works: views, visitors, sources, countries and realtime, with bots filtered out, switched on per site — and no banner, because there is nothing on the device to consent to.&lt;/p&gt;

&lt;h2&gt;
  
  
  The UK in 2026: the rules caught up
&lt;/h2&gt;

&lt;p&gt;Until recently, UK law (PECR) required consent for almost all analytics storage. The Data (Use and Access) Act changed this. The ICO finalised its updated guidance in April 2026. There is now an explicit &lt;a href="https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guidance-on-the-use-of-storage-and-access-technologies/what-are-the-exceptions/" rel="noopener noreferrer"&gt;statistical purposes exception&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The exception lets you collect usage statistics without consent. Four conditions apply:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Sole purpose.&lt;/strong&gt; You collect the information only to understand use of the service and to improve it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aggregates, not individuals.&lt;/strong&gt; You must not monitor or track individual visitors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Third parties as processors only.&lt;/strong&gt; Your analytics provider can act only on your behalf. It cannot reuse the data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transparency and objection.&lt;/strong&gt; You must tell users clearly what you do, and give them a simple, free way to object.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note what this means in practice. In the UK, even &lt;em&gt;cookie-based&lt;/em&gt; first-party analytics can now run without a consent popup, if you meet all four conditions. And cookie-free analytics meets the first three by design; you still owe users a clear notice and an opt-out. A short section in your privacy page can do both jobs.&lt;/p&gt;

&lt;p&gt;The exception does not cover advertising, profiling or cross-site tracking. Those still require consent.&lt;/p&gt;

&lt;h2&gt;
  
  
  The EU: stricter, and read the fine print
&lt;/h2&gt;

&lt;p&gt;The EU ePrivacy rules still require consent for storage and access, with no general analytics exception. Some countries carve out narrow exemptions — France's CNIL permits strictly-configured audience measurement, for example — but there is no EU-wide rule you can rely on.&lt;/p&gt;

&lt;p&gt;There is a second thing to know. The European Data Protection Board &lt;a href="https://www.edpb.europa.eu/system/files/2024-10/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_v2_en_0.pdf" rel="noopener noreferrer"&gt;read the scope of the rules broadly&lt;/a&gt; in its guidelines on Article 5(3): techniques such as pixel tracking, URL decoration and some IP-based tracking can fall in scope even without a classic cookie.&lt;/p&gt;

&lt;p&gt;The honest summary for EU traffic: analytics that stores nothing and reads nothing from the device is in the strongest possible position, but "cookie-free" is not a magic phrase. A tool that quietly fingerprints devices to make its visitor counts is not exempt anywhere. Ask your vendor what the visitor count is made from.&lt;/p&gt;

&lt;h2&gt;
  
  
  GDPR still applies
&lt;/h2&gt;

&lt;p&gt;The consent-banner question and the GDPR question are separate. If your analytics touches personal data at any point — an IP address in a server log is personal data — GDPR applies to that processing. For aggregate statistics this is normally manageable: legitimate interests as the basis, minimal data, short retention, and no attempt to identify anyone. But it is a real obligation, not a footnote. Your privacy page should describe it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A checklist
&lt;/h2&gt;

&lt;p&gt;Before you remove your banner, check these:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your analytics sets no cookie and uses no localStorage. Verify in DevTools, not in the sales page.&lt;/li&gt;
&lt;li&gt;It does not fingerprint. Ask the vendor how visitors are counted.&lt;/li&gt;
&lt;li&gt;It reports aggregates only. No individual visitor timelines.&lt;/li&gt;
&lt;li&gt;Your privacy page explains the measurement, and offers a way to object.&lt;/li&gt;
&lt;li&gt;If you serve EU traffic, check the position of the relevant national regulator.&lt;/li&gt;
&lt;li&gt;Everything else on the site that stores or reads device data — embeds, fonts, ad scripts — has its own trigger. The banner question is about the whole page, not one script.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The last point catches people. A privacy-clean analytics tool does not license a page full of third-party embeds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters beyond compliance
&lt;/h2&gt;

&lt;p&gt;A banner is friction for every visitor, to enable measurement that most sites barely use. Removing it is one less interruption, one less script, and one less thing to get wrong. Privacy-respecting measurement is also simply easier to defend — to your users, and to a regulator.&lt;/p&gt;

&lt;p&gt;If you want to see the cookie-free approach in one place, &lt;a href="https://nippy.host" rel="noopener noreferrer"&gt;Nippy&lt;/a&gt; ships it by default with every site, and the &lt;a href="https://nippy.host/help" rel="noopener noreferrer"&gt;help center&lt;/a&gt; explains exactly what is measured. Open your own DevTools on a Nippy site and check the cookie jar. It is empty.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article describes the position in July 2026. Laws change, and their application depends on your facts. For decisions that matter, speak to a lawyer.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/jamie_street/ask-claude-to-publish-a-website-get-a-permanent-link-4k8"&gt;Ask Claude to publish a website. Get a permanent link.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/jamie_street/your-ai-can-build-a-website-where-does-it-go-when-the-chat-ends-1ll2"&gt;Your AI can build a website. Where does it go when the chat ends?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>privacy</category>
      <category>analytics</category>
      <category>gdpr</category>
    </item>
    <item>
      <title>Ask Claude to Publish a Website. Get a Permanent Link.</title>
      <dc:creator>Jamie Street</dc:creator>
      <pubDate>Tue, 28 Jul 2026 09:53:04 +0000</pubDate>
      <link>https://dev.to/jamie_street/ask-claude-to-publish-a-website-get-a-permanent-link-4k8</link>
      <guid>https://dev.to/jamie_street/ask-claude-to-publish-a-website-get-a-permanent-link-4k8</guid>
      <description>&lt;p&gt;I gave Claude one prompt. Claude wrote a web page and published it. The page is live at a permanent URL. I did not open a dashboard. I did not run a build.&lt;/p&gt;

&lt;p&gt;This article shows the full procedure. You can complete it in less than five minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I run &lt;a href="https://nippy.host" rel="noopener noreferrer"&gt;Nippy&lt;/a&gt;, the hosting service in this article.&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes this possible
&lt;/h2&gt;

&lt;p&gt;MCP (Model Context Protocol) is an open standard. It lets an AI assistant call external tools. A tool can read data. A tool can also do work in the real world.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nippy.host" rel="noopener noreferrer"&gt;Nippy&lt;/a&gt; is a static hosting service. You give it files. It gives you a live URL that does not expire. Nippy has an MCP server. When you connect it, Claude gets one new ability: it can publish websites.&lt;/p&gt;

&lt;p&gt;The result is a very short path from an idea to a live page:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;prompt → Claude writes the files → one tool call → live URL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Set up the connector
&lt;/h2&gt;

&lt;p&gt;There are two paths. Use the one that matches your setup.&lt;/p&gt;

&lt;h3&gt;
  
  
  Path A: claude.ai in the browser
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open claude.ai.&lt;/li&gt;
&lt;li&gt;Go to &lt;strong&gt;Settings → Connectors&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Add &lt;strong&gt;Nippy&lt;/strong&gt; as a connector.&lt;/li&gt;
&lt;li&gt;Approve the connection.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Path B: Claude Desktop, Claude Code or Cursor
&lt;/h3&gt;

&lt;p&gt;Run the MCP server with one command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx nippy-mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add it to your client configuration. For Claude Desktop, the entry looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"nippy"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"nippy-mcp"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Restart the client. The Nippy tools are now available.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://nippy.host/help" rel="noopener noreferrer"&gt;Nippy help center&lt;/a&gt; has a full guide for each client.&lt;/p&gt;

&lt;h2&gt;
  
  
  Publish a page
&lt;/h2&gt;

&lt;p&gt;Give Claude a prompt. This is the prompt I used:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Make a small demo page and publish it with Nippy.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude then does three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Claude writes the HTML file.&lt;/li&gt;
&lt;li&gt;Claude calls the Nippy MCP server with the file.&lt;/li&gt;
&lt;li&gt;Nippy returns a live URL.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The tool call is simple. This is its shape:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"published-by-claude"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"files"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"path"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"index.html"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;!DOCTYPE html&amp;gt;..."&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response came back in a few seconds:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://published-by-claude.nippy.site"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"live"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"note"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Live now. The link does not expire."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That page is real. Claude published it while I wrote this article. You can open it here: &lt;a href="https://published-by-claude.nippy.site" rel="noopener noreferrer"&gt;published-by-claude.nippy.site&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Update the page
&lt;/h2&gt;

&lt;p&gt;A site is not frozen after the first publish. Ask Claude to change it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Add a dark mode toggle to the demo page and publish the update.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude revises the files and publishes again. The URL does not change. Your shared links stay correct.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is useful
&lt;/h2&gt;

&lt;p&gt;Think about the things you make and throw away:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A prototype for a client call.&lt;/li&gt;
&lt;li&gt;A chart from one analysis.&lt;/li&gt;
&lt;li&gt;A landing page for one event.&lt;/li&gt;
&lt;li&gt;A gallery of photographs for your family.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each one needs a URL for ten minutes of glory. None of them deserves a repository, a pipeline and a deploy configuration. With an MCP connection, the publish step costs one sentence.&lt;/p&gt;

&lt;p&gt;There is also a larger point. AI agents can now produce complete artifacts: reports, dashboards, small applications. An artifact that only exists in a chat window is trapped. A permanent URL sets it free. Hosting that agents can operate is the missing piece, and MCP is the interface for it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Other ways in
&lt;/h2&gt;

&lt;p&gt;The MCP route is one of three. &lt;a href="https://nippy.host" rel="noopener noreferrer"&gt;Nippy&lt;/a&gt; also accepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Drag and drop.&lt;/strong&gt; Drop a folder on the page. Pick an address. The site is live.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The CLI.&lt;/strong&gt; One command: &lt;code&gt;npx @nippyhost/cli deploy&lt;/code&gt;. CI deploys use a &lt;code&gt;NIPPY_TOKEN&lt;/code&gt; secret.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first publish confirms your email. There is no password.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Connect the &lt;a href="https://nippy.host" rel="noopener noreferrer"&gt;Nippy&lt;/a&gt; MCP server with Path A or Path B.&lt;/li&gt;
&lt;li&gt;Ask Claude to make a page and publish it.&lt;/li&gt;
&lt;li&gt;Open the URL. Share it. It does not expire.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you publish something interesting, post the link in the comments. I would like to see it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Related: I also wrote about &lt;a href="https://dev.to/jamie_street/website-analytics-without-a-cookie-banner-what-is-actually-legal-in-2026-7fg"&gt;website analytics without a cookie banner - what is actually legal in 2026&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>webdev</category>
      <category>claude</category>
    </item>
  </channel>
</rss>
