<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Threennovate blog</title><link>https://threennovate.com/blog</link><atom:link href="https://threennovate.com/blog/rss.xml" rel="self" type="application/rss+xml"/><description>What we’re reading, building and thinking about.</description><language>en</language><item><title>Rebuilding our booking chatbot around a decision model</title><link>https://threennovate.com/blog/booking-chatbot-decision-model</link><guid>https://threennovate.com/blog/booking-chatbot-decision-model</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Ivan Cvitanović</dc:creator><description>In the old version of our booking chatbot, about half of all messages went through an LLM. Now it’s about one in ten. Most of the rest are handled by Jev, a model that doesn’t write anything and only picks from the answers we give it.</description></item><item><title>Setting up our database backups so a coding agent can maintain them</title><link>https://threennovate.com/blog/database-backups-for-coding-agents</link><guid>https://threennovate.com/blog/database-backups-for-coding-agents</guid><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Ivan Cvitanović</dc:creator><description>Our backups for self-hosted Supabase and Postgres are configured in a Git repository rather than in a dashboard, so a coding agent has everything it needs to change them. Four months after we last touched the code, adding a new database took about five minutes.</description></item></channel></rss>