<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Sviat</title><description>Notes from a software engineer: Flutter, Swift, and silly software experiments.</description><link>https://kliuchev.com/</link><item><title>Hello, world (yes, really)</title><link>https://kliuchev.com/blog/hello-world/</link><guid isPermaLink="true">https://kliuchev.com/blog/hello-world/</guid><description>First post: why this blog exists and what to expect here.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Swift tips #4: Build Arrays Declaratively with ArrayBuilder</title><link>https://kliuchev.com/blog/swift-tips-4-build-arrays-declaratively-with-arraybuilder/</link><guid isPermaLink="true">https://kliuchev.com/blog/swift-tips-4-build-arrays-declaratively-with-arraybuilder/</guid><description>Hey! These are Swift Tips — quick, short, and useful insights about Swift. No fillers, no long reads, no BS. Just useful things you may not know. Today we will </description><pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Swift tips #2: Make your folder cool!</title><link>https://kliuchev.com/blog/swift-tips-2-make-your-folder-cool/</link><guid isPermaLink="true">https://kliuchev.com/blog/swift-tips-2-make-your-folder-cool/</guid><description>Do you know that the directory where you store a local copy of your project doesn’t have to be boring?</description><pubDate>Sun, 19 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Swift tips #3: Flaky unit tests</title><link>https://kliuchev.com/blog/swift-typs-2-flaky-unit-tests/</link><guid isPermaLink="true">https://kliuchev.com/blog/swift-typs-2-flaky-unit-tests/</guid><description>Why unit tests fail only on CI and how to fix them: await instead of timeouts with Swift Testing, serialized snapshot test plans, and rules for stable tests.</description><pubDate>Sun, 19 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Swift tips #1 — Scripting with Swift</title><link>https://kliuchev.com/blog/swift-tips-1-scripting-with-swift/</link><guid isPermaLink="true">https://kliuchev.com/blog/swift-tips-1-scripting-with-swift/</guid><description>Every engineer has this moment in their lives when they start thinking — “I should create tooling for my project to make things quicker”. They usually start wit</description><pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Flutter is a Bad Choice for You (Unless It’s Not)</title><link>https://kliuchev.com/blog/flutter-is-a-bad-choice-for-you-unless-its-not/</link><guid isPermaLink="true">https://kliuchev.com/blog/flutter-is-a-bad-choice-for-you-unless-its-not/</guid><description>When Flutter is the wrong choice, when it&apos;s the right one, and what actually matters for an app&apos;s success: UI, product experience, value, and time to market.</description><pubDate>Thu, 10 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Improve AsyncImage in SwiftUI</title><link>https://kliuchev.com/blog/improve-asyncimage-in-swiftui/</link><guid isPermaLink="true">https://kliuchev.com/blog/improve-asyncimage-in-swiftui/</guid><description>Build a custom cached AsyncImage in SwiftUI that deduplicates network requests with Combine, plus URLSession cache policies and an AsyncSequence refactor.</description><pubDate>Sat, 05 Apr 2025 00:00:00 GMT</pubDate></item><item><title>SwiftUI Animation: Creating an Interactive Button with TimelineView</title><link>https://kliuchev.com/blog/swiftui-animation-creating-an-interactive-button-with-timelineview/</link><guid isPermaLink="true">https://kliuchev.com/blog/swiftui-animation-creating-an-interactive-button-with-timelineview/</guid><description>Build an equalizer-style animated button in SwiftUI with TimelineView — and why it beats DispatchQueue recursion, Timers, and needless ViewModels.</description><pubDate>Sat, 14 Dec 2024 00:00:00 GMT</pubDate></item><item><title>How to create Instagram Like Animation</title><link>https://kliuchev.com/blog/how-to-create-instagram-like-animation/</link><guid isPermaLink="true">https://kliuchev.com/blog/how-to-create-instagram-like-animation/</guid><description>A step-by-step Flutter guide: detect a double tap, draw over the screen with Overlay, and combine opacity, scale, rotation and position animations into the Instagram heart effect.</description><pubDate>Sat, 01 Jun 2024 00:00:00 GMT</pubDate></item><item><title>How to draw a custom icon in Flutter</title><link>https://kliuchev.com/blog/how-to-draw-a-custom-icon-in-flutter/</link><guid isPermaLink="true">https://kliuchev.com/blog/how-to-draw-a-custom-icon-in-flutter/</guid><description>Learn CustomPaint and CustomPainter by drawing three heart icons — outlined, filled and gradient — with Paint styles, shaders and Bézier paths.</description><pubDate>Wed, 22 May 2024 00:00:00 GMT</pubDate></item><item><title>How to get details on onDoubleTap in Flutter</title><link>https://kliuchev.com/blog/how-to-get-details-on-ondoubletap-in-flutter/</link><guid isPermaLink="true">https://kliuchev.com/blog/how-to-get-details-on-ondoubletap-in-flutter/</guid><description>GestureDetector&apos;s onDoubleTap gives you no tap position — here&apos;s how to build a DoubleTapDetector widget that does.</description><pubDate>Wed, 22 May 2024 00:00:00 GMT</pubDate></item></channel></rss>