<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>vivek.log</title><description>Notes on distributed systems, applied AI, and the things I build after hours.</description><link>https://vivekchalla.dev/</link><item><title>How an LLM thinks: from a bedtime story to Q, K and V</title><link>https://vivekchalla.dev/blog/how-llms-work-inside/</link><guid isPermaLink="true">https://vivekchalla.dev/blog/how-llms-work-inside/</guid><description>Start with the version you could tell a five-year-old, then zoom all the way in: tokens, embeddings, attention, how W_Q, W_K and W_V are learned, and what actually happens when a model answers you.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Lessons from running a multi-agent assistant in production</title><link>https://vivekchalla.dev/blog/multi-agent-assistant-in-production/</link><guid isPermaLink="true">https://vivekchalla.dev/blog/multi-agent-assistant-in-production/</guid><description>What broke, what we monitored for, and why a simpler agent graph beat a clever one.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Event streams over cron: rethinking a lead-scoring pipeline</title><link>https://vivekchalla.dev/blog/event-streams-over-cron/</link><guid isPermaLink="true">https://vivekchalla.dev/blog/event-streams-over-cron/</guid><description>Swapping a nightly batch job for Kafka and Lambda cut lead response time from hours to seconds.</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Spring Boot patterns that actually scale</title><link>https://vivekchalla.dev/blog/spring-boot-patterns-that-scale/</link><guid isPermaLink="true">https://vivekchalla.dev/blog/spring-boot-patterns-that-scale/</guid><description>The handful of decisions — connection pooling, idempotency, circuit breakers — that matter more than the framework choice.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate></item></channel></rss>