<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>terrakok</title><link>https://terrablog.pages.dev/</link><description>Recent content on terrakok</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 24 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://terrablog.pages.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>About Konstantin</title><link>https://terrablog.pages.dev/about/</link><pubDate>Thu, 24 Sep 2026 00:00:00 +0000</pubDate><guid>https://terrablog.pages.dev/about/</guid><description>&lt;p&gt;&lt;img src="https://terrablog.pages.dev/images/konstantin-tskhovrebov.jpg" alt="Konstantin Tskhovrebov (terrakok)"&gt;&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;m &lt;strong&gt;Konstantin Tskhovrebov&lt;/strong&gt;, also known as &lt;strong&gt;terrakok&lt;/strong&gt;. I&amp;rsquo;m a developer at JetBrains, where I work on &lt;a href="https://www.jetbrains.com/lp/compose-multiplatform/"&gt;Compose Multiplatform&lt;/a&gt; — a cross-platform UI framework that helps developers build interfaces for Android, iOS, desktop, and web with Kotlin.&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;m interested in Kotlin, multiplatform development, UI architecture, developer tools, and open-source software. This blog is where I share technical notes, experiments, project updates, and things I learn along the way.&lt;/p&gt;&#10;&lt;h3 id="find-me-elsewhere" class="heading-with-anchor"&gt;&#10; Find me elsewhere&#10; &lt;a class="heading-anchor" href="#find-me-elsewhere" data-copy-heading-link data-heading-title="Find me elsewhere" title="Copy a link to this heading" aria-label="Copy a link to heading: Find me elsewhere"&gt;#&lt;/a&gt;&#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/terrakok"&gt;GitHub&lt;/a&gt; — open-source projects and experiments&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.linkedin.com/in/terrakok"&gt;LinkedIn&lt;/a&gt; — professional profile&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://androiddev.social/@terrakok"&gt;Mastodon&lt;/a&gt; — updates and conversations&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Compose Multiplatform vs CORS</title><link>https://terrablog.pages.dev/blog/2026-03-10-cors-problem-and-simple-solution/</link><pubDate>Thu, 24 Sep 2026 00:00:00 +0000</pubDate><guid>https://terrablog.pages.dev/blog/2026-03-10-cors-problem-and-simple-solution/</guid><description>&lt;h2 id="the-problem" class="heading-with-anchor"&gt;&#10; The problem&#10; &lt;a class="heading-anchor" href="#the-problem" data-copy-heading-link data-heading-title="The problem" title="Copy a link to this heading" aria-label="Copy a link to heading: The problem"&gt;#&lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;I’m a Kotlin developer, and I really love building my own side projects in Kotlin.&#10;For the UI, I use Compose Multiplatform, of course.&lt;/p&gt;&#10;&lt;p&gt;On the one hand, my apps work natively on all platforms, including Android and iOS.&#10;On the other hand, publishing them in the official app stores is a huge problem. It’s expensive and requires filling out a lot of forms. And every six months to a year, both Google and Apple require you to update your apps to use new SDKs.&lt;/p&gt;</description></item></channel></rss>