<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Sanjay Khati Chhetri — writing</title><description>Notes on interfaces, scraping, self-hosting, and the things that break.</description><link>https://sanjaykhatichhetri.com.np/</link><language>en</language><item><title>This site renders itself five ways</title><link>https://sanjaykhatichhetri.com.np/blog/five-interfaces-one-site/</link><guid isPermaLink="true">https://sanjaykhatichhetri.com.np/blog/five-interfaces-one-site/</guid><description>Why a portfolio has an era scrubber, how one content layer drives five presentation skins, and what the last era is actually arguing.
</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate><category>interface</category><category>astro</category><category>architecture</category></item><item><title>The library has no API</title><link>https://sanjaykhatichhetri.com.np/blog/the-library-has-no-api/</link><guid isPermaLink="true">https://sanjaykhatichhetri.com.np/blog/the-library-has-no-api/</guid><description>Scraping is what you do when an institution has decided your automation is not their problem. Notes from building a service on top of a website that never agreed to it.
</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>scraping</category><category>interface</category><category>reliability</category></item></channel></rss>