<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Konstantin Komelin&apos;s Blog</title><description>Sharing insights about front-end and full-stack development with TypeScript, Node.js, React, and friends.</description><link>https://komelin.com/blog</link><language>en-us</language><image><url>https://komelin.com/assets/img/slogan.png</url><title>Konstantin Komelin&apos;s Blog</title><link>https://komelin.com/blog</link></image><lastBuildDate>Mon, 18 May 2026 23:00:00 GMT</lastBuildDate><pubDate>Mon, 18 May 2026 23:00:00 GMT</pubDate><copyright>All rights reserved 2026, Komelin.com</copyright><atom:link href="https://komelin.com/rss.xml" rel="self" type="application/rss+xml"/><item><title>AI Video Generation Cost Analysis</title><link>https://komelin.com/blog/ai-video-generation-cost-analysis</link><guid isPermaLink="true">https://komelin.com/blog/ai-video-generation-cost-analysis</guid><description>This time, I ran the same prompt through 18 video generation models from 5 providers to compare cost and generation time.</description><pubDate>Mon, 18 May 2026 23:00:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>AI Image Generation Cost Analysis</title><link>https://komelin.com/blog/ai-image-generation-cost-analysis</link><guid isPermaLink="true">https://komelin.com/blog/ai-image-generation-cost-analysis</guid><description>Picking the wrong image generation model can cost you 18x more and take 10x longer. I ran the same prompt through 25 models from 6 providers to find out.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>A Thin API Layer for React Apps on Vercel</title><link>https://komelin.com/blog/thin-api-layer-react-vercel</link><guid isPermaLink="true">https://komelin.com/blog/thin-api-layer-react-vercel</guid><description>Not every React app needs Next.js. A single rewrite rule and Hono give you auth, rate limiting, and AI integration without changing your frontend stack.</description><pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>Themeable Web Components with Solid.js and CSS lite-dark()</title><link>https://komelin.com/blog/themeable-web-components-solidjs-css-lite-dark</link><guid isPermaLink="true">https://komelin.com/blog/themeable-web-components-solidjs-css-lite-dark</guid><description>This tutorial demonstrates how to build a custom HTML element with solid-element and theme it with the light-dark() CSS function.</description><pubDate>Sat, 12 Jul 2025 00:00:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>Build Your Own AI-Powered API with Ollama, Hono and Vercel AI SDK</title><link>https://komelin.com/blog/build-ai-powered-api</link><guid isPermaLink="true">https://komelin.com/blog/build-ai-powered-api</guid><description>In this post, I&apos;ll explain my tech choice and show you three approaches for building AI-powered APIs.</description><pubDate>Sat, 28 Jun 2025 00:00:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>Automating Appointment Checks with Playwright, 2Captcha, and Mailtrap</title><link>https://komelin.com/blog/case-study-automating-appointment-checks</link><guid isPermaLink="true">https://komelin.com/blog/case-study-automating-appointment-checks</guid><description>A simple JS script saved me about 5 hours over 3 months just by checking my place in a queue.</description><pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>Prompts are Code with dotPrompt and Firebase Genkit</title><link>https://komelin.com/blog/prompts-are-code-dotprompt-firebase-genkit</link><guid isPermaLink="true">https://komelin.com/blog/prompts-are-code-dotprompt-firebase-genkit</guid><description>This tutorial is about the dotPrompt standard. I&apos;ll show you how to create and turn AI prompt files into executable functions with Genkit.</description><pubDate>Sat, 21 Jun 2025 00:00:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>AI Framework Comparison: Vercel AI SDK, Mastra, Langchain and Genkit</title><link>https://komelin.com/blog/ai-framework-comparison</link><guid isPermaLink="true">https://komelin.com/blog/ai-framework-comparison</guid><description>I&apos;ve created a few code examples to compare Vercel AI SDK, Mastra, Langchain.js and Firebase Genkit, and here are my impressions...</description><pubDate>Thu, 19 Jun 2025 00:00:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>Using Small LLM Models Locally with Ollama</title><link>https://komelin.com/blog/using-small-llms-locally</link><guid isPermaLink="true">https://komelin.com/blog/using-small-llms-locally</guid><description>In this post we will go through Ollama server installation, LLM model setup and code integration.</description><pubDate>Tue, 18 Mar 2025 00:00:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>What I Learned While Building My First Web3 Project</title><link>https://komelin.com/blog/first-web3-project-learnings</link><guid isPermaLink="true">https://komelin.com/blog/first-web3-project-learnings</guid><description>Impressions, discoveries and tools after two months building my first Web3 project - a great start for web3 explorers.</description><pubDate>Thu, 08 Dec 2022 13:20:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>Developing a Custom Search Box with React-Select</title><link>https://komelin.com/blog/developing-custom-search-box-with-react-select</link><guid isPermaLink="true">https://komelin.com/blog/developing-custom-search-box-with-react-select</guid><description>Turn a React-Select dropdown into a fully-fledged autocomplete search box with remote data and result caching.</description><pubDate>Wed, 07 Sep 2022 07:39:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>Node.js Certification: My Experience and Advice</title><link>https://komelin.com/blog/nodejs-certification-my-experience-advice</link><guid isPermaLink="true">https://komelin.com/blog/nodejs-certification-my-experience-advice</guid><description>How I passed the OpenJS Node.js Application Developer (JSNAD) certification and my advice for future test-takers.</description><pubDate>Fri, 08 May 2020 22:00:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>Pipe Streams in Node in the Right Way</title><link>https://komelin.com/blog/pipe-streams-node-right-way</link><guid isPermaLink="true">https://komelin.com/blog/pipe-streams-node-right-way</guid><description>The stream piping is one of the features of Node.js which I especially like, so I will show you how to safely use it.</description><pubDate>Sat, 18 Apr 2020 20:32:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>Security: Black Box vs. Blacklist vs. Whitelist</title><link>https://komelin.com/blog/security-black-box-blacklist-whitelist</link><guid isPermaLink="true">https://komelin.com/blog/security-black-box-blacklist-whitelist</guid><description>Three security modes every developer should know: black box, blacklist, and whitelist.</description><pubDate>Tue, 07 Apr 2020 17:59:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>On React App Security</title><link>https://komelin.com/blog/on-react-app-security</link><guid isPermaLink="true">https://komelin.com/blog/on-react-app-security</guid><description>A security checklist for auditing an inherited React app and making sure the existing code is safe.</description><pubDate>Mon, 23 Mar 2020 15:35:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item><item><title>A Few Takeaways from Kyle Simpson&apos;s Talk at MallorcaJS Meetup</title><link>https://komelin.com/blog/takeaways-kylesimpson-mallorcajs-meetup</link><guid isPermaLink="true">https://komelin.com/blog/takeaways-kylesimpson-mallorcajs-meetup</guid><description>My takeaways from Kyle Simpson&apos;s talk on the economy of keystrokes at the MallorcaJS meetup, October 2019.</description><pubDate>Sun, 20 Oct 2019 19:48:00 GMT</pubDate><dc:creator>Konstantin Komelin</dc:creator></item></channel></rss>