<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
 <channel>
 <title>TechConcepts Blog</title>
 <link>https://techconcepts.org/blog/</link>
 <description>Build stories, architecture decisions, and lessons from shipping real products. iOS development, App Store optimization, and automation.</description>
 <language>en</language>
 <lastBuildDate>Fri, 25 Apr 2026 08:00:00 +0200</lastBuildDate>
 <atom:link href="https://techconcepts.org/blog/feed.xml" rel="self" type="application/rss+xml"/>
 <managingEditor>eg@techconcepts.org (Evgeny Goncharov)</managingEditor>
 <webMaster>eg@techconcepts.org (Evgeny Goncharov)</webMaster>
 <copyright>2026 TechConcepts. All rights reserved.</copyright>
 <image>
 <url>https://techconcepts.org/evgeny.jpg</url>
 <title>TechConcepts Blog</title>
 <link>https://techconcepts.org/blog/</link>
 </image>

 <item>
 <title>Automating App Store Screenshots with Simulator and Python</title>
 <link>https://techconcepts.org/blog/automating-app-store-screenshots-simulator-python.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/automating-app-store-screenshots-simulator-python.html</guid>
 <description>How we automate App Store screenshot capture across 27 apps using xcrun simctl, SCREENSHOT_MODE UserDefaults injection, screencapture -l, and a Python batch pipeline for iPhone 16 Pro Max at 1320x2868.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>DevOps</category>
 </item>

 <item>
 <title>App Store Optimization: Keyword Research for 27 Apps Across 38 Locales</title>
 <link>https://techconcepts.org/blog/app-store-keyword-optimization-27-apps.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/app-store-keyword-optimization-27-apps.html</guid>
 <description>Practical ASO for a 27-app portfolio: the 100-character keyword limit, locale contamination, avoiding competitor brands, batch validation, and metadata strategy for quiz apps vs utility apps.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>ASO</category>
 </item>

 <item>
 <title>Building macOS Menu Bar Apps with SwiftUI and NSPopover</title>
 <link>https://techconcepts.org/blog/macos-menu-bar-swiftui-nspopover.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/macos-menu-bar-swiftui-nspopover.html</guid>
 <description>How to build a macOS menu bar app with SwiftUI inside NSPopover. NSStatusItem setup, contentSize clipping, @Observable environment not crossing .sheet() boundaries, and the Settings scene blank render problem.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>macOS</category>
 </item>

 <item>
 <title>XcodeGen for Multi-Platform Projects: One YAML, 27 Apps</title>
 <link>https://techconcepts.org/blog/xcodegen-multi-platform-projects.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/xcodegen-multi-platform-projects.html</guid>
 <description>How we use XcodeGen to manage 27 iOS and macOS apps from project.yml files. Multi-platform targets, scheme management, paid-analogue compile flags, and the gotchas nobody warns you about.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>DevOps</category>
 </item>

 <item>
 <title>StoreKit 2 in Practice: Subscriptions, Lifetime Purchases, and Grace Periods</title>
 <link>https://techconcepts.org/blog/storekit2-subscriptions-practice.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/storekit2-subscriptions-practice.html</guid>
 <description>Practical StoreKit 2 implementation for iOS and macOS apps. Transaction.updates listener, subscription state machine, grace period handling, sandbox testing, and the gotchas Apple's docs skip.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>Monetization</category>
 </item>

 <item>
 <title>Privacy-First Analytics for iOS: TelemetryDeck vs Firebase</title>
 <link>https://techconcepts.org/blog/privacy-first-analytics-telemetrydeck-vs-firebase.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/privacy-first-analytics-telemetrydeck-vs-firebase.html</guid>
 <description>Why we chose TelemetryDeck over Firebase Analytics for 27 iOS and macOS apps. PrivacyInfo.xcprivacy requirements, GDPR compliance, and real implementation patterns.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>Privacy</category>
 </item>

 <item>
 <title>Real-Time Electricity Prices: Building Wattora with the ENTSO-E API</title>
 <link>https://techconcepts.org/blog/wattora-entso-e-electricity-prices.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/wattora-entso-e-electricity-prices.html</guid>
 <description>How we built Wattora, an iOS and macOS app that fetches hourly electricity spot prices from ENTSO-E. API architecture, XML parsing in Swift, WidgetKit timelines, and the caching strategy behind 30+ European bidding zones.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>Build Story</category>
 </item>

 <item>
 <title>Why We Build Paid Alternatives to Our Own Free Apps</title>
 <link>https://techconcepts.org/blog/paid-alternatives-to-free-apps.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/paid-alternatives-to-free-apps.html</guid>
 <description>The paid-analogue strategy: why we ship one-time purchase versions of our free subscription apps, how compile guards keep one codebase, and what it means for users who hate subscriptions.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>Monetization</category>
 </item>

 <item>
 <title>Building 27 Apps with One Shared Swift Package</title>
 <link>https://techconcepts.org/blog/shared-swift-package-architecture.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/shared-swift-package-architecture.html</guid>
 <description>How a single Swift Package powers 27 iOS and macOS apps. Architecture decisions, shared components, and the trade-offs of extreme code reuse at scale.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>Architecture</category>
 </item>

 <item>
 <title>From One Quiz App Template to 8 Country-Specific Exam Prep Apps</title>
 <link>https://techconcepts.org/blog/quiz-app-template-to-8-apps.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/quiz-app-template-to-8-apps.html</guid>
 <description>How a single quiz app template became 8 country-specific exam prep apps for the UK, Germany, Italy, France, and Switzerland. The architecture, content pipeline, and localization decisions behind scaling a quiz app across markets.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>Architecture</category>
 </item>

 <item>
 <title>How We Localize iOS Apps for 38 Languages Using String Catalogs</title>
 <link>https://techconcepts.org/blog/ios-localization-38-languages.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/ios-localization-38-languages.html</guid>
 <description>A practical guide to localizing iOS and macOS apps at scale. String Catalogs (.xcstrings), runtime language switching without restart, the Bundle override pattern, and enum localization gotchas in SwiftUI.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 25 Apr 2026 08:00:00 +0200</pubDate>
 <category>Localization</category>
 </item>

 <item>
 <title>Jira SLA Automation: How We Cut Ticket Response Time by 65%</title>
 <link>https://techconcepts.org/blog/jira-sla-automation.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/jira-sla-automation.html</guid>
 <description>How a 50-person engineering team went from manual SLA tracking in spreadsheets to automated Jira routing and alerts -- and cut first-response time from 8h to 2.8h.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Wed, 22 Apr 2026 08:00:00 +0200</pubDate>
 <category>Automation</category>
 </item>

 <item>
 <title>How to Cut AI API Costs 90% in Production</title>
 <link>https://techconcepts.org/blog/ai-api-cost-production.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/ai-api-cost-production.html</guid>
 <description>Four concrete techniques that cut AI API costs by 90% or more in production systems -- model selection, prompt compression, semantic caching, and batch processing.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Wed, 22 Apr 2026 08:00:00 +0200</pubDate>
 <category>Optimization</category>
 </item>

 <item>
 <title>The Real Cost of Manual IT Ticket Triage</title>
 <link>https://techconcepts.org/blog/cost-of-manual-ticket-triage.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/cost-of-manual-ticket-triage.html</guid>
 <description>Manual IT ticket triage costs engineering teams more than they realise. Here's how to calculate your actual cost and the three automation steps that eliminate it.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Wed, 22 Apr 2026 08:00:00 +0200</pubDate>
 <category>Operations</category>
 </item>

 <item>
 <title>How to Build a Slack Bot That Routes Jira Tickets with AI</title>
 <link>https://techconcepts.org/blog/slack-bot-jira-routing.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/slack-bot-jira-routing.html</guid>
 <description>Step-by-step: build a Slack bot that creates and routes Jira tickets using AI classification. Real code, real architecture, production-tested on 3 workspaces.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Wed, 22 Apr 2026 08:00:00 +0200</pubDate>
 <category>Tutorial</category>
 </item>

 <item>
 <title>The LinkedIn Commenting Strategy That Generates 50-125 New Followers Per Week</title>
 <link>https://techconcepts.org/blog/linkedin-commenting-strategy.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/linkedin-commenting-strategy.html</guid>
 <description>Data-backed LinkedIn commenting strategy: who to comment on, what to write, and how comments convert to followers. From 0 to 100K followers playbook.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Fri, 03 Apr 2026 08:00:00 +0200</pubDate>
 <category>Growth</category>
 </item>

 <item>
 <title>How to Pass the CSCS Card Test First Time</title>
 <link>https://techconcepts.org/blog/cscs-card-test-guide.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/cscs-card-test-guide.html</guid>
 <description>Everything you need to know about the CSCS health and safety test: 50 questions, 94% pass mark, what's covered, and how to prepare. Plus the app I built.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Fri, 27 Mar 2026 08:00:00 +0100</pubDate>
 <category>Guide</category>
 </item>

 <item>
 <title>How to Pass Germany's Naturalisation Test (Einbuergerungstest)</title>
 <link>https://techconcepts.org/blog/einbuergerungstest-vorbereitung.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/einbuergerungstest-vorbereitung.html</guid>
 <description>Everything you need to know about the German Einbuergerungstest: 310 official questions, state-specific section, exam format, and what to study. Plus the app.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Fri, 27 Mar 2026 08:00:00 +0100</pubDate>
 <category>Guide</category>
 </item>

 <item>
 <title>How to Pass the French Citizenship Exam (Examen Civique)</title>
 <link>https://techconcepts.org/blog/examen-civique-preparation.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/examen-civique-preparation.html</guid>
 <description>Everything you need to know about France's naturalisation civics exam: format, topics, common mistakes, and study strategy. Plus the free app I built for it.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Fri, 27 Mar 2026 08:00:00 +0100</pubDate>
 <category>Guide</category>
 </item>

 <item>
 <title>How to Pass Germany's Fishing Licence Exam (Fischerpruefung)</title>
 <link>https://techconcepts.org/blog/fischerpruefung-vorbereitung.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/fischerpruefung-vorbereitung.html</guid>
 <description>Everything you need to know about the German Fischerpruefung: topics, format, common mistakes, and study strategy. Plus the app I built for it.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Fri, 27 Mar 2026 08:00:00 +0100</pubDate>
 <category>Guide</category>
 </item>

 <item>
 <title>How to Pass Italy's Driving Licence Exam (Patente B)</title>
 <link>https://techconcepts.org/blog/quiz-patente-guida-esame.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/quiz-patente-guida-esame.html</guid>
 <description>Everything you need to know about Italy's patente B exam: questions, format, common mistakes. Plus the story of building a full quiz app in SwiftUI.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Fri, 27 Mar 2026 08:00:00 +0100</pubDate>
 <category>Guide</category>
 </item>

 <item>
 <title>How to Pass Italy's Nautical Licence Exam (Patente Nautica)</title>
 <link>https://techconcepts.org/blog/patente-nautica-guida-esame.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/patente-nautica-guida-esame.html</guid>
 <description>Complete guide to the Italian patente nautica: two licence types, exam format, hardest topics, and how to study. Plus the app I built for it.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Fri, 27 Mar 2026 08:00:00 +0100</pubDate>
 <category>Guide</category>
 </item>

 <item>
 <title>Traditional SEO Won't Get You Found by AI -- Here's What Does</title>
 <link>https://techconcepts.org/blog/ai-search-vs-seo.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/ai-search-vs-seo.html</guid>
 <description>50M+ people search via ChatGPT. Ranking on Google no longer means being cited by AI. Here's what the new playbook looks like and how to get into AI answers.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Tue, 24 Mar 2026 08:00:00 +0100</pubDate>
 <category>GEO</category>
 </item>

 <item>
 <title>7 Things to Fix So ChatGPT and Perplexity Can Find Your Business</title>
 <link>https://techconcepts.org/blog/geo-checklist.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/geo-checklist.html</guid>
 <description>The practical GEO checklist for business owners. 7 fixes that help ChatGPT, Perplexity, and Google AI Overviews actually find and cite your business.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Tue, 17 Mar 2026 08:00:00 +0100</pubDate>
 <category>GEO</category>
 </item>

 <item>
 <title>I Audited My Website for AI Search Visibility -- Here's What I Found</title>
 <link>https://techconcepts.org/blog/geo-audit-case-study.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/geo-audit-case-study.html</guid>
 <description>I ran a full AI search visibility audit on my own site. Here's every problem I found and the 8 fixes that took less than a day to implement.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Tue, 10 Mar 2026 08:00:00 +0100</pubDate>
 <category>GEO</category>
 </item>

 <item>
 <title>SPIN Selling Changed How I Sell Consulting Services</title>
 <link>https://techconcepts.org/blog/book-spin-selling.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/book-spin-selling.html</guid>
 <description>Book review of SPIN Selling by Neil Rackham. How the SPIN framework changed the way I sell automation, Jira optimization, and technical consulting services.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 07 Mar 2026 08:00:00 +0100</pubDate>
 <category>Book Review</category>
 </item>

 <item>
 <title>Deep Work Is the Only Productivity Book That Actually Changed My Output</title>
 <link>https://techconcepts.org/blog/book-deep-work.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/book-deep-work.html</guid>
 <description>A solo consultant's review of Deep Work by Cal Newport. How time-blocking, shutdown rituals, and eliminating Slack noise doubled my meaningful output.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 07 Mar 2026 08:00:00 +0100</pubDate>
 <category>Book Review</category>
 </item>

 <item>
 <title>How $100M Offers Helped Me Stop Competing on Price</title>
 <link>https://techconcepts.org/blog/book-100m-offers.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/book-100m-offers.html</guid>
 <description>A consultant's honest review of Alex Hormozi's $100M Offers. How the Value Equation changed the way I package Jira optimization, fund ops, and email forensics.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 07 Mar 2026 08:00:00 +0100</pubDate>
 <category>Book Review</category>
 </item>

 <item>
 <title>How to Set Up Google Search Console in 5 Minutes</title>
 <link>https://techconcepts.org/blog/google-search-console-guide.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/google-search-console-guide.html</guid>
 <description>Complete Google Search Console setup guide. Verification, sitemap submission, and what to monitor. From zero to tracking keyword rankings.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Wed, 25 Feb 2026 08:00:00 +0100</pubDate>
 <category>Tutorial</category>
 </item>

 <item>
 <title>15 Lead Magnets in One Week: Build vs. Buy</title>
 <link>https://techconcepts.org/blog/lead-magnet-strategy.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/lead-magnet-strategy.html</guid>
 <description>How I built 15 interactive lead magnets in 7 days. Calculator design patterns, email capture, GA4 tracking. Free tools beat gated PDFs.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Wed, 25 Feb 2026 08:00:00 +0100</pubDate>
 <category>Growth</category>
 </item>

 <item>
 <title>Deploy a Static Site to Cloudflare Pages in 60 Seconds</title>
 <link>https://techconcepts.org/blog/cloudflare-pages-deploy.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/cloudflare-pages-deploy.html</guid>
 <description>Complete Cloudflare Pages deployment guide. From git push to live site in under a minute. Free SSL, global CDN, unlimited bandwidth.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Wed, 25 Feb 2026 08:00:00 +0100</pubDate>
 <category>DevOps</category>
 </item>

 <item>
 <title>I Built an MBOX Converter in 30 Minutes with Claude</title>
 <link>https://techconcepts.org/blog/mbox-converter.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/mbox-converter.html</guid>
 <description>How I built a Google Vault MBOX to EML converter in 30 minutes using Claude Code. 82 lines of Python, 50K+ emails converted. Full build story.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Thu, 15 Jan 2026 08:00:00 +0100</pubDate>
 <category>Build Story</category>
 </item>

 <item>
 <title>Multi-Tenant Slack Bot: One App, Three Workspaces</title>
 <link>https://techconcepts.org/blog/multi-tenant-slack-bot.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/multi-tenant-slack-bot.html</guid>
 <description>How I built a single Slack bot that serves three workspaces. Architecture, OAuth flow, config-driven routing, and lessons from production.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 10 Jan 2026 08:00:00 +0100</pubDate>
 <category>Architecture</category>
 </item>

 <item>
 <title>98% Cost Reduction: Optimizing AI API Calls</title>
 <link>https://techconcepts.org/blog/ai-api-cost-optimization.html</link>
 <guid isPermaLink="true">https://techconcepts.org/blog/ai-api-cost-optimization.html</guid>
 <description>How I cut AI API costs from $100/month to $2/month. Model selection, caching, and the debugging session that saved 98% on Claude API bills.</description>
 <author>eg@techconcepts.org (Evgeny Goncharov)</author>
 <pubDate>Sat, 20 Dec 2025 08:00:00 +0100</pubDate>
 <category>Optimization</category>
 </item>

 </channel>
</rss>
