<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Starterdough blog</title><description>Build once. Serve anywhere. Notes on how Starterdough is built and why.</description><link>https://demo.starterdough.dev/</link><language>en</language><item><title>Why one HTTP API is the whole architecture</title><link>https://demo.starterdough.dev/blog/one-http-api/</link><guid isPermaLink="true">https://demo.starterdough.dev/blog/one-http-api/</guid><description>Every surface in Starterdough (web, desktop, mobile, scripts, the Python service) is a thin client of a single HTTP API. Here is what that rule buys and what it costs.</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate><category>architecture</category><category>api</category><author>Starterdough maintainers</author></item><item><title>Serve anywhere: web, PWA, desktop, mobile, your own box</title><link>https://demo.starterdough.dev/blog/serve-anywhere/</link><guid isPermaLink="true">https://demo.starterdough.dev/blog/serve-anywhere/</guid><description>One SvelteKit codebase runs as a website, an installable PWA, a Tauri desktop or mobile app, and on a self-hosted server reachable through Tailscale. How the targets fit together.</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate><category>deployment</category><category>tauri</category><category>pwa</category><category>self-hosting</category><author>Starterdough maintainers</author></item></channel></rss>