Blog

My thoughts and experience on iOS development, Swift, SwiftUI, and mobile architecture

136 articles

AI15 min read

Taking Claude's Browser Use Tool to Production

Claude's browser use tool (browser_toolset_20260801) went GA on August 19, 2026. I cover its difference from computer use, the accessibility-tree approach, and production security rules.

October 6, 2026Read More
Vibe Coding15 min read

Bugbot or CodeRabbit? The AI Code Review Decision Guide

A scenario-based comparison of AI code review tools — Cursor Bugbot, CodeRabbit, GitHub Copilot Code Review, and Greptile — by price, integration depth, and false-positive noise.

October 5, 2026Read More
Vibe Coding15 min read

Spec Kit or Kiro? An SDD Tool Selection Guide

A comparative guide to help you choose a spec-driven development tool in 60 seconds by weighing GitHub Spec Kit against AWS Kiro on license, EARS notation, setup, and pricing.

October 4, 2026Read More
Full-Stack13 min read

Bun 1.4: From Zig to Rust — What Actually Changed?

Bun 1.4's headline change is the Rust migration: Node.js compatibility numbers, Bun.WebView, Bun.cron() and real sources — when should you pick Bun, and when Node?

October 2, 2026Read More
React Native15 min read

React Native 0.87 Upgrade: Strict TypeScript API

React Native 0.87 upgrade guide: the Strict TypeScript API is now default, breaking deep imports. Step-by-step migration with Node 22.13+, AGP 9, Kotlin 2.0+, and Metro 0.87.

October 1, 2026Read More
AI15 min read

Using Xcode 27 Agent Skills in Claude, Codex, and Cursor

Xcode 27 exports Apple's official Agent Skills to a folder Claude Code, Codex, and Cursor can all read — the export command, directory conventions, and where each skill actually works.

September 28, 2026Read More
Business14 min read

EU Distribution Costs: IAP or Alternative Payment?

A decision guide to EU app distribution costs: under Apple's new terms, work out whether IAP, alternative payment, link-out, or web distribution fits you, using three real revenue profiles.

September 26, 2026Read More
iOS12 min read

iOS 27 or iOS 26? A Deployment Target Decision Guide

Separate the iOS 27 deployment target decision from the SDK upgrade: the April 2027 SDK requirement, adoption data, and a decision table by app type.

September 25, 2026Read More
Android15 min read

Google Play Permission Policy 2027: Contacts, Location, SMS

Google Play's 2027 permission policy overhauls contacts, sensitive location, and SMS/call log verification. The January 27 timeline, plus Contact Picker and location button migration, with code.

September 24, 2026Read More
Backend15 min read

Transactional Email Setup with Resend and SendGrid

We answer the transactional email Resend SendGrid setup question for a mobile backend with the official docs: SPF/DKIM/DMARC, Node.js send code, webhooks, and Apple MPP's effect on open rate.

September 16, 2026Read More
Business15 min read

Mobile Product Analytics: PostHog & Amplitude iOS Setup

Set up the PostHog and Amplitude iOS SDKs with current official syntax, design an event taxonomy, and ship compliant with ATT/GDPR.

September 16, 2026Read More
Full-Stack12 min read

Webpack to Vite Migration: 2026 Step-by-Step Guide

This step-by-step webpack-to-Vite migration guide covers config inventory, env variables, alias settings and the most common breakages, based on the official Vite and webpack documentation.

September 16, 2026Read More
DevOps15 min read

Git Flow vs Trunk-Based: Mobile Branching Guide

We compare git flow vs trunk based development for mobile teams: store review, release trains, hotfixes, feature flag prerequisites, a sourced decision framework, and a 4-week transition plan.

September 16, 2026Read More
AI15 min read

MCP Security 2026: CIMD, RFC 9207, and the Exit from DCR

MCP's 2026-07-28 spec hardened authorization: RFC 9207 issuer validation, unregistered client identity via CIMD, and DCR's move into deprecation — a step-by-step guide to updating your own server.

September 9, 2026Read More
AI16 min read

Claude Text Watermark: AI Content Detection & EU AI Act

How Claude's text watermark for AI content detection works, who can access it, and what EU AI Act Article 50(2) changes for developers — a sourced technical analysis.

September 9, 2026Read More
iOS15 min read

Swift 6.3 Migration: Actor Isolation Warnings and Escape Hatches

Swift 6.3 added no new actor isolation rule — yet some patterns that compiled silently on 6.2 now warn. Here's the documented case and the real escape hatches.

September 9, 2026Read More
iOS12 min read

Sign in with Apple's New Relay Domain: Backend Risk

Apple is moving new Sign in with Apple relay addresses from privaterelay.appleid.com to private.icloud.com later this year. Here's what breaks silently and how to fix it.

September 8, 2026Read More
Android15 min read

Google Play API 36 Deadline Passed: What Now?

If you missed the August 31, 2026 target API 36 deadline, your app won't be removed, but your new-user visibility is at risk. The extension process, breaking behaviors, and a staged migration plan.

September 8, 2026Read More
Full-Stack15 min read

Prisma 6 to 7: The Rust Engine Is Gone, What Changed?

Prisma 7 migration guide: the Rust engine is removed, prisma.config.ts arrives, driver adapters become mandatory. Covers custom output path pitfalls and the Prisma 8 RC status.

September 8, 2026Read More
Full-Stack15 min read

Next.js 16.3 Drops runtime='edge': Back to Node

Next.js 16.3 removed runtime='edge' support in routes and pages; proxy.ts never supported it in the first place. This guide separates the two and shows the migration steps to Node.js.

September 7, 2026Read More
Flutter15 min read

Dart 3.13 Primary Constructors: Write Classes in One Line

What is a Dart primary constructor and how do you use it? var/final declaring parameter rules, the in-body constructor restriction, const classes, and Flutter widget gains — a Dart 3.13 guide.

September 7, 2026Read More
Vibe Coding14 min read

From Vibe-Coded MVP to Production: A Guide

A step-by-step guide to moving a vibe-coding prototype into production: a handover map, hallucinated-API detection, a test suite, observability, the data layer, and a security gate.

September 7, 2026Read More
Android15 min read

Android Developer Verification: Is the Sideload Era Ending?

Google's Android developer verification starts September 30, 2026 in four countries. The full timeline, the two-console split, the free student/hobby option, and what it means for Turkey.

September 6, 2026Read More
Flutter14 min read

The UIScene Mandate in Flutter: iOS 27 Migration

The iOS 27 SDK makes the UIScene lifecycle mandatory in Flutter. Learn what the CLI migrates automatically, the manual AppDelegate/Info.plist steps, and how to regression-test the result.

September 6, 2026Read More
AI15 min read

Claude Code Subagent Model Assignment and Orchestration Cost

The Claude Code subagent model resolution chain now goes call parameter > frontmatter > env > main model. Learn the inherit trap and how to match the right model to each task.

September 6, 2026Read More
Android15 min read

Android 17 (API 37): 6 Changes That Will Break Your App

Android 17 API 37 behavior changes: MemoryLimiter memory limit, background audio rejection, config-restart removal, cross-profile loopback block, 3-hour SMS OTP delay, and the new NPU permission.

September 5, 2026Read More
Vibe Coding13 min read

Vibe Coding Security Checklist: 12 Critical Audits

45% of AI-generated code samples failed security tests. Here are 12 concrete, auditable checks — grounded in real CVEs and production incidents — to run before you ship code an agent wrote for you.

September 4, 2026Read More
AI12 min read

Claude Fable 5.1: Cache Read 75% Cheaper, tool_choice Breaks

In Claude Fable 5.1, cache-read cost dropped 75%, but tool_choice any/tool now returns a 400 error and thinking-block prefixes can break. Here's the migration checklist.

September 4, 2026Read More
Business16 min read

Apple EU New Terms: What Changes on October 1, 2026?

With the DMA reform Apple announced on August 18, 2026, EU developers move to new terms (CTC, rates, exemptions) starting October 1, 2026.

September 4, 2026Read More
AI15 min read

GPT-6 Astra is out: price, 1M context, and real-world use

GPT-6 Astra launched September 3, 2026: $10/$50 pricing, 1.05M context, a 272K threshold multiplier, async tool calling, and mid-turn steering — how it differs from GPT-5.6, sourced.

September 3, 2026Read More
AI15 min read

Claude Code Limits Are Changing Sept 14: The Real Math

On September 14, 2026, Claude Code's weekly limit changes: the permanent baseline rises 25%, but once the temporary bonus ends, that's felt as a 17% cut from today's level.

September 3, 2026Read More
Flutter13 min read

Flutter 3.47: Migrating to material_ui and cupertino_ui

Flutter 3.47 material_ui migration guide: the dart fix command, the pubspec bug, MaterialUiCompatibilityBridge, and the November deprecation timeline, step by step.

August 15, 2026Read More
AI14 min read

MCP Tasks: Structuring Tool Calls That Take Minutes

What is MCP Tasks and when should you use it? Make long-running tool calls resilient to timeouts and crashes with taskId, ttlMs, pollIntervalMs, and the input_required flow.

August 14, 2026Read More
Full-Stack16 min read

Next.js 16.3 Instant Navigations & Cache Components Guide

Next.js 16.3 Instant Navigations: turning on the cacheComponents and partialPrefetching flags, using 'use cache' with Suspense, and a safe migration path from 16.2.

August 14, 2026Read More
AI12 min read

MCP Deprecates Roots, Sampling, Logging: 12-Month Window

MCP deprecated Roots, Sampling, and Logging: SEP-2577's rolling 12-month window, the official migration path for each, and an inventory script for your transition plan.

August 11, 2026Read More
Cross-Platform12 min read

Move Your Web App to Mobile: Capacitor 8 or Native Rewrite?

We compare the move-web-app-to-mobile-with-Capacitor-8 decision using real cost, UIScene support, performance ceiling, and store acceptance risk, all sourced.

August 6, 2026Read More
AI16 min read

MCP 2026-07-28: The Stateless Migration Guide

MCP 2026-07-28 removed the Mcp-Session-Id header and the initialize handshake, making the protocol stateless. Here's exactly what changed and how to migrate your server without breaking it.

August 6, 2026Read More
Full-Stack13 min read

React 19.2: Activity, useEffectEvent, and cacheSignal

A look at React 19.2's Activity, useEffectEvent, and cacheSignal APIs with real code examples — what problems they solve and how to migrate.

August 5, 2026Read More
Cross-Platform14 min read

Kotlin 2.4 Swift Export: Is the Obj-C Bridge in KMP Over?

With Kotlin 2.4.0, Swift export moved to Alpha: naming and KotlinInt boxing are solved, generic erasure remains. A sourced look at today's Alpha constraints and migration risks.

July 28, 2026Read More
Business14 min read

App Store Age Rating Reform: September 2026 Rules

Apple's App Store Connect age rating questionnaire added social media questions that became mandatory in September 2026. Scope, regional differences, and a step-by-step update guide.

July 24, 2026Read More
Full-Stack15 min read

TypeScript 7 Ships: 10x Faster, But It Breaks ESLint

A sourced look at the TypeScript 7 migration breaking changes, why the API isn't here yet, how to run TypeScript 6 alongside it, and which projects should upgrade today.

July 17, 2026Read More
AI15 min read

Claude Code's Hidden Request Marking: What It Means

The hidden marking mechanism in Claude Code 2.1.196: invisible Unicode encoding triggered by ANTHROPIC_BASE_URL, timezone, and hostname matches — and Anthropic's response.

July 12, 2026Read More
iOS12 min read

Apple Foundation Models Framework: Taking On-Device LLMs to Production

We took the Foundation Models framework introduced at WWDC25 into production with @Generable guided generation, the Tool protocol, and streaming — along with the 4096-token context limit, guardrail false positives, and the real privacy gains.

July 9, 2026Read More
iOS13 min read

iOS 26 Liquid Glass: A Guide to Adapting Your SwiftUI App to the New Material System

From glassEffect APIs to tabBarMinimizeBehavior, from the UIDesignRequiresCompatibility opt-out to GlassEffectContainer performance traps — the real decisions I faced migrating a production SwiftUI codebase to iOS 26's Liquid Glass language.

July 9, 2026Read More
iOS10 min read

Swift 6.2 and Post-WWDC26: Is Concurrency Really "Approachable" Now?

How default actor isolation, the @concurrent attribute, and nonisolated(nonsending) from SE-0461 and SE-0466 tore down the Swift 6 strict concurrency wall — and what to watch for in a production migration.

July 9, 2026Read More
Cross-Platform14 min read

Kotlin 2.4.0: Context Parameters and Swift Package Support

Kotlin 2.4.0 makes context parameters and explicit backing fields Stable, adds Java 26 support, brings Swift package dependencies to KMP. Differences from the experimental state, with code examples.

July 3, 2026Read More
Business15 min read

Brazil Opens iOS: The CADE Ruling and New Distribution

Apple opens alternative distribution and alternative payments on iOS 26.5+ in Brazil after its CADE agreement. Commission rates, notarization, and the July 6, 2026 deadline.

July 3, 2026Read More
SwiftUI13 min read

iOS 27 SwiftUI: Swipe and Reorder Anywhere

iOS 27 SwiftUI swipe actions and reordering: how swipeActionsContainer() enables swipe outside List, and reorderable() + reorderContainer(for:) bring reordering to LazyVGrid and watchOS.

July 1, 2026Read More
AI13 min read

SpaceX Is Buying Cursor: The AI Tool Dependency Risk

SpaceX signed a binding agreement to buy Cursor's owner Anysphere for $60 billion. The verified timeline, and concrete ways developers can cut AI coding tool lock-in.

July 1, 2026Read More
Android12 min read

Android 17 Makes Large-Screen Support Mandatory

On Android 17, screenOrientation and resizeableActivity=false are now forcibly ignored on large screens (sw>600dp); I cover what changed and how to adapt with WindowSizeClass.

June 29, 2026Read More
Cross-Platform13 min read

Swift Android SDK or KMP? The Shared-Core Decision

A technical decision guide between Kotlin Multiplatform and the Swift Android SDK for a shared mobile core: toolchain maturity, interop quality, and a clear pick for four team scenarios.

June 26, 2026Read More
iOS14 min read

SwiftData iOS 27: Sectioned Query, .codable, ResultsObserver

What changed in iOS 27 SwiftData with sectioned query, the .codable attribute, and ResultsObserver? A WWDC26 session 274 guide with code examples.

June 26, 2026Read More
Security15 min read

AI Coding Agent Permissions: The Prompt Injection Risk

How the AI coding agent prompt injection risk actually works, what the MCP trust boundary is, and how to apply least privilege to your agent — a sourced, practical hardening guide.

June 25, 2026Read More
Flutter13 min read

Flutter Accessibility: Semantics, VoiceOver, and TalkBack

A Flutter accessibility guide: Semantics, MergeSemantics, ExcludeSemantics, tap target/contrast rules, and real-device testing with VoiceOver and TalkBack.

June 23, 2026Read More
iOS15 min read

App Intents on iOS 27: LongRunningIntent and Siri

A guide to iOS 27 App Intents LongRunningIntent SyncableEntity Siri integration, grounded in WWDC26 Session 345, covering the 30-second limit and cross-device Siri conversations.

June 22, 2026Read More
Android15 min read

iOS Developer's Roadmap to Android

Swift 6.3's official Android SDK closes the gap between the two ecosystems. A real learning roadmap built on Google's free Compose and KMP courses, which assume no prior iOS experience.

June 20, 2026Read More
SwiftUI16 min read

SwiftUI Document API: ReadableDocument and WritableDocument

A sourced walk through iOS 27's SwiftUI Document API migration: FileDocument to ReadableDocument/WritableDocument, incremental Subprogress writes, DocumentCreationSource.

June 19, 2026Read More
SwiftUI11 min read

iOS 27: @State Is Now a Macro — What Breaks, What's Faster

SwiftUI iOS 27 State macro ContentBuilder build time: @State is no longer a property wrapper but a macro, ViewBuilder became ContentBuilder. The breaking code, the fix, and the September GA update.

June 17, 2026Read More
AI15 min read

Verifying an AI Agent's Output: The Writer Isn't the Verifier

Why can't the same AI agent that wrote code also verify it? Building a reliable check with fresh-context verification, adversarial review, and an evidence hierarchy, with examples.

June 16, 2026Read More
AI14 min read

Streaming an LLM Response: SSE, Partial Render, Cancel

How to implement LLM streaming with SSE: TTFT, nginx buffering traps, partial Markdown rendering, and cancellation with AbortController — a sourced, end-to-end guide.

June 9, 2026Read More
iOS12 min read

Case Study: MADPAW — Pet Tracker, GPS + Activity ML, 30-Day Battery Life

GPS tracker + activity classification, targeting 30+ days of battery life. Low-power location, on-device ML, scheduled fix patterns. 32-day test passed, 95% activity accuracy, 12K devices.

May 13, 2026Read More
iOS13 min read

Case Study: ESP-Point — IoT Hardware + iOS Sync, Offline-First Architecture

ESP32 device ↔ iOS app bidirectional sync, BLE handshake + Firestore + Realm offline cache. 50ms handshake, 3-day offline survival, OTA firmware update. BLE state machine fragmentation is the real story.

May 13, 2026Read More
iOS12 min read

Case Study: TahminApp — 500K Users, 99.9% Uptime, 6 Months in Production

Real-time prediction notifications and a scalable data pipeline. Firestore + Cloud Messaging + Cloudflare Workers serving 500K MAU, p99 latency of 180ms, 99.94% uptime — and the real bottleneck was not where we expected it.

May 13, 2026Read More
Cross-Platform18 min read

Flutter vs SwiftUI: A 3-Year, 60K LOC Production Comparison (Build, Runtime, Team, Hire)

What most blog posts skip, learned after maintaining two parallel 60K LOC codebases for three years. Build time, runtime cost, team velocity, hire pool, and a decision matrix.

May 13, 2026Read More
iOS14 min read

SwiftData in Production: 6 Months of Real-World Experience and 3 Scenarios That Sent Us Back to Core Data

Production experience with SwiftData on iOS 17+. Migration pitfalls coming from Core Data, the practical realities of concurrency, real performance baseline numbers, and why we went back to Core Data on some projects.

May 13, 2026Read More
Swift15 min read

Swift 6 Strict Concurrency: 60K LOC Production Migration Playbook

From the strict concurrency mode opt-in flag to production-ready code — 12 pitfalls, fixes, and the actor migration order I hit while migrating a 60K LOC production iOS app.

May 13, 2026Read More
iOS10 min read

App Store Minimum SDK Requirement: Xcode Version Calendar

Here's how to track the App Store minimum SDK requirement calendar, pin your Xcode version in CI/CD, and align it with Google Play's target-SDK schedule.

May 6, 2026Read More
Backend14 min read

Hono.js: Serverless Web Framework Production Guide 2026

Hono.js ultra-fast web framework, multi-runtime support (Workers, Deno, Bun, Node), middleware system, RPC mode, and production deployment experience.

April 18, 2026Read More
Backend14 min read

Drizzle ORM + Turso: Edge SQLite Database Pattern 2026 Production

Edge deployment with Drizzle ORM and Turso (libSQL): embedded replicas, Next.js 16 integration, migration strategy, and experience scaling to 100K req/sec.

April 18, 2026Read More
Backend14 min read

Supabase Edge Functions: Serverless Backend with the Deno Runtime in 2026

Supabase Edge Functions, Deno 2 runtime, Postgres RLS integration, Auth/Storage webhooks, cold start optimization, and a real-world deploy experience.

April 18, 2026Read More
AI14 min read

Google Stitch: AI Design Tool Deep-Dive 2026

Prompt-to-design, AI-powered UI/UX, component generation, and design system integration with Google Stitch. A Figma/Sketch alternative with Flutter/Android code export.

April 18, 2026Read More
iOS22 min read

StoreKit 2 Production Guide: Modern IAP with Async/Await

A complete guide to StoreKit 2: the modern async/await purchase flow, JWS receipt validation, subscription offers, family sharing and server-side validation.

April 18, 2026Read More
AI16 min read

The Story Behind the Name Claude: From Shannon to Anthropic

Why did Anthropic name its models "Claude"? The story of Claude Shannon, the father of information theory, Bell Labs legends, and Shannon's place in the history of AI.

April 18, 2026Read More
AI28 min read

Agentic AI: Tool Use, Planner Loops, and Production Agent Architecture

How LLM agents work: ReAct, Plan-and-Execute, and Reflexion patterns, function calling specs, a LangGraph vs AutoGen vs CrewAI comparison, and a real production example.

April 18, 2026Read More
Cross-Platform12 min read

Swift on Android: Does the 6.3 SDK Actually Work?

What does the official Android SDK in Swift 6.3 actually give you, and what doesn't it? Developing with Swift on Android, from setup to the swift-java bridge, with its real limits.

March 30, 2026Read More
Flutter15 min read

Flutter Monorepo with Melos: Multi-Package Management

Learn Flutter monorepo Melos usage from scratch: pub workspaces setup, bootstrap, defining scripts, automatic versioning with Conventional Commits, and migration costs.

March 17, 2026Read More
AI15 min read

Claude Code Skill, Subagent, Hook, MCP: Which One When

A guide that explains the difference between skill, subagent, hook, and MCP in Claude Code with a decision tree: it shows which is the right tool when, with real configuration examples.

March 12, 2026Read More
AI13 min read

RAG quality: chunking, reranking, and retrieval evaluation

The three decisions behind RAG chunking reranking quality: document-aware chunking, BM25 + vector hybrid search, and two-stage reranking, plus how to measure it with recall@k and MRR.

March 10, 2026Read More
DevOps15 min read

GitHub Actions to VPS: Zero-Downtime Next.js Deploy

Learn how to chain lint, test, build, sync, restart and health-check steps into a GitHub Actions workflow that deploys Next.js to your own VPS with a zero-downtime guarantee.

March 10, 2026Read More
Backend23 min read

Firebase Data Connect: GraphQL + Cloud SQL

Type-safe SDK, schema-first approach, PostgreSQL backend, auto-generated queries, real-time sync, and an in-depth integration guide with the Firebase ecosystem.

February 13, 2026Read More
AI22 min read

Supabase AI: Vector Search, Hybrid Search, and the $5B Valuation

Vector search with pgvector, BM25+vector hybrid search, Vector Buckets, postgres.new, and AI-native infrastructure. An in-depth look at Supabase as a Firebase alternative.

February 13, 2026Read More
AI22 min read

Figma AI 2026: The AI Revolution in Design

Figma AI brings automatic component generation, visual search, Make Designs, auto-populate, Dev Mode AI, and a bridge between design and development. The next generation of design tools after Figma Config 2025.

February 13, 2026Read More
AI18 min read

Claude Code MCP: Building an AI Plugin Ecosystem with the Model Context Protocol

MCP architecture, server/client structure, tool use, resource sharing, and transport layer details. A technical deep dive into the Claude Code plugin ecosystem, with examples.

February 13, 2026Read More
DevOps21 min read

iOS Crash Reporting and Analytics: The Production Quality Guide

Take production quality to the top with crash reporting infrastructure, symbolication, analytics event design, and monitoring dashboard setup.

January 25, 2026Read More
Swift20 min read

Swift Package Plugins Guide: Automate Your Build Process

Automate code generation, linting, documentation, and custom build steps with the Swift Package Manager plugin system. Learn about Command and Build Tool plugin types in detail.

January 15, 2026Read More
Business14 min read

App Store Rating & Review Management: Request Timing

A fact-checked look at App Store rating and review management — the official StoreKit and Play Core quotas, the right moment to ask, and the technical limits on replying to reviews.

December 22, 2025Read More
Flutter14 min read

Flutter Deep Links: Universal Links & App Links Guide

Flutter deep link setup: we walk through iOS Universal Links (AASA + entitlement), Android App Links (assetlinks.json + intent filter), and Flutter route mapping step by step with official sources.

December 17, 2025Read More
Security15 min read

LLM Security: A Layered Defense Against Prompt Injection

What is prompt injection, and how do you defend against it? A four-layer defense grounded in OWASP LLM01/05/06/07/10: input labeling, least privilege, output validation, human approval.

December 17, 2025Read More
iOS14 min read

iOS PWA and Web Push: Today's Real Limits

Learn what web push, the Badging API, and Add to Home Screen actually allow on iOS Safari today — and what they still don't — straight from WebKit and Apple's own docs, with zero invented numbers.

December 16, 2025Read More
DevOps15 min read

Self-Host Next.js: systemd + nginx

Self-hosting Next.js: take the output:'standalone' build to production with a non-root systemd service, an nginx reverse proxy, and a build-lock zero-downtime deploy.

December 16, 2025Read More
AI16 min read

Terminal AI Agent Permissions: Allowlist & Sandbox

A practical, sourced guide to AI agent permission modes, allowlist/deny rule syntax, common leak patterns, and sandbox isolation — step by step.

December 10, 2025Read More
Vibe Coding15 min read

Context Engineering: Why Prompt Engineering Isn't Enough

What is context engineering, and how is it different from prompt engineering? A step-by-step look at managing instructions, tools, examples, and memory to build a context budget for AI coding agents.

December 9, 2025Read More
Full-Stack12 min read

Is WebGPU Production-Ready? Platform Status After Safari 26

WebGPU browser support for production is reviewed platform by platform as of December 4, 2025: full support on iOS Safari, desktop Safari only on macOS Tahoe, Firefox only on Windows.

December 4, 2025Read More
AI13 min read

How to Write CLAUDE.md and AGENTS.md for AI Coding Agents

How to write CLAUDE.md and AGENTS.md: a sourced guide to the context files coding agents load automatically at session start, their hierarchy priority, and what to write (and not write) into them.

November 19, 2025Read More
AI14 min read

Measuring your LLM app: golden datasets and LLM-as-judge

Learn how to build an LLM eval golden dataset, when to use deterministic metrics like exact match, and how to apply LLM-as-judge rubrics in the right order before shipping to production.

November 18, 2025Read More
Vibe Coding13 min read

Transitioning From Vibe Coding to Spec-Driven Development

What is spec-driven development, why does vibe coding break down at scale, and when should you combine both? Covers the spec → plan → task → code loop and the hybrid model.

November 18, 2025Read More
Security16 min read

Mobile Dependency Chain Security: SBOM and Auditing

Build mobile dependency chain security step by step: SBOM generation for SPM, CocoaPods and Gradle, inventory extraction, version pinning and a quarterly audit template, based on official docs.

November 13, 2025Read More
Flutter15 min read

Dart Isolate and compute(): Offload Heavy Work

Use Dart isolate compute to move heavy work like large JSON parsing and image processing off the UI thread; learn the compute()/Isolate.run() difference and how to measure jank in DevTools.

November 11, 2025Read More
Cross-Platform14 min read

.NET MAUI 10: XAML Source Generator and SafeArea Guide

We break down .NET MAUI 10's XAML source generator and expanded SafeAreaEdges API straight from official Microsoft docs, plus a migration checklist for Xamarin.Forms teams.

November 11, 2025Read More
Security15 min read

App Attest + Play Integrity: Server-Side Verification

How to verify App Attest and Play Integrity tokens on the server, protect against replay with challenge/nonce, and unify both platforms in one backend — based on the official docs.

November 6, 2025Read More
React Native13 min read

React Native Render Performance: Boost & Native Wrapper

See hands-on how react-native-boost cuts the native wrapper cost behind React Native render performance, its limits, and a before/after measurement protocol.

October 30, 2025Read More
Security15 min read

Mobile App Secret Management: Where Do API Keys Go?

Where should an API key go in a mobile app? I cover secret management across build time, runtime, and server layers — from decompile risk to SHA pinning and OIDC in CI/CD.

October 16, 2025Read More
AI12 min read

Structured Output: Reliable LLM Responses with JSON Schema

How to get output from an LLM that conforms to a JSON Schema every time: end-to-end type safety with OpenAI Structured Outputs, Anthropic tool use, and Zod/Pydantic.

October 14, 2025Read More
Cross-Platform15 min read

Rust on Mobile: iOS + Android Shared Core with UniFFI

How do you set up a Rust shared core for mobile development? An end-to-end guide to generating Kotlin/Swift bindings from one Rust source with UniFFI, cargo-ndk, and XCFramework.

October 9, 2025Read More
DevOps25 min read

Mobile DevOps Best Practices: CI/CD, Automation, and Release

DevOps strategies for iOS and mobile projects. CI/CD pipeline, automated testing, code signing, beta distribution, and release management.

September 1, 2025Read More
Xcode22 min read

Xcode 16 New Features: Enhancements That Boost Developer Productivity

Predictive code completion, the Swift Testing framework, build improvements, and new Instruments and debugging tools that came with Xcode 16.

August 30, 2025Read More
Flutter25 min read

Flutter Clean Architecture: A Layered Architecture Guide

Applying Clean Architecture in Flutter projects. Domain, Data, and Presentation layers, Dependency Injection, the Repository pattern, and testing strategies.

July 25, 2025Read More
Full-Stack15 min read

API Versioning: Growth Strategies Without Breaking Changes

A guide to backward-compatible API versioning covering URL, header and media-type approaches, additive-only design and the deprecation calendar, with concrete examples.

May 20, 2025Read More
Business14 min read

European Accessibility Act and Mobile Apps

The European Accessibility Act's mobile app obligation starts 28 June 2025. Find its scope, exemptions, and iOS/Android technical compliance in this guide.

April 16, 2025Read More
Architecture15 min read

Managing Technical Debt on a Mobile Team: Measure, Prioritize, Pay Down

A concrete framework for mobile technical debt: measure build time, crash-free rate and test coverage, prioritize with a risk×frequency÷cost matrix, and set a quota in the release plan.

April 9, 2025Read More
Testing13 min read

Real Device Test Strategy: Which Devices, How Many?

Five bug classes the simulator can't catch, deriving a device matrix from your own user data, and the time budget for real-device runs in CI — build your mobile test strategy.

March 26, 2025Read More
Flutter12 min read

Offline-First Architecture in Flutter: A Local Database with Drift

Build a real offline-first architecture in Flutter: a type-safe local database with drift, a schema migration strategy, an outbox write queue, and conflict resolution.

March 25, 2025Read More
Vibe Coding13 min read

Vibe Coding: Where Prototype Ends and Production Begins

What is vibe coding, who coined the term, and where's the line between prototype and production code? A clear guide grounded in Karpathy's own definition.

March 15, 2025Read More
Business15 min read

Mobile Retention Metrics: Reading D1, D7, and D30 Correctly

I cover how to correctly calculate D1, D7, and D30 retention using cohort logic, Apple's and Google Play's differing definitions, and how to tie them to a product decision.

March 12, 2025Read More
Cross-Platform14 min read

Mobile Accessibility: Applying WCAG to iOS and Android

A mobile accessibility WCAG guide for iOS and Android: an evidence-based guide mapping WCAG 2.2 criteria to VoiceOver and TalkBack semantics, touch target size, contrast, and automated+manual testing.

March 5, 2025Read More
Security13 min read

Mobile Backend API Security: Rate Limits & Token Rotation

A guide to building a production-grade defense line for mobile backend API security — layered rate limiting, short-lived access tokens, refresh token rotation, and reuse detection.

February 25, 2025Read More
Flutter13 min read

Flutter CI/CD: Automated Releases with GitHub Actions and Fastlane

How to set up a Flutter CI/CD pipeline with GitHub Actions and Fastlane: analyze-test-build-deploy stages, match certificates, and TestFlight/Play Internal Testing uploads.

February 18, 2025Read More
Android15 min read

Google Play Policy Compliance: Data Safety & Permissions

Google Play policy compliance: filling out the Data Safety form correctly, sensitive permission declarations, mandatory account/data deletion, and subscription transparency.

February 10, 2025Read More
Backend17 min read

Database Indexing: The Science of Speeding Up Slow Queries

A database indexing guide for query performance: how to read EXPLAIN ANALYZE, why column order in a composite index matters, and how to hunt slow queries with pg_stat_statements.

January 30, 2025Read More
Business14 min read

Mobile Attribution: MMP Selection and SKAdNetwork

From designing SKAdNetwork conversion values to Play Install Referrer, from MMP selection criteria to reading aggregated data correctly: a guide to mobile attribution and SKAdNetwork measurement.

January 22, 2025Read More
AI13 min read

LLM Basics: Tokens, Context Windows, and Cost Math

What is a token, how does the context window fill up, and how is LLM API cost calculated? From input/output pricing to cache discounts — a model-agnostic fundamentals guide.

January 21, 2025Read More
iOS15 min read

App Store Rejections: Common Reasons and How to Avoid Them

A guide to App Store rejection reasons by guideline number (4.1, 4.3, 3.1.2, 5.1.1): how to avoid metadata, subscription, and privacy rejections.

January 15, 2025Read More
Performance15 min read

Mobile App Battery Consumption: Measure and Optimize

A doc-grounded guide to measuring and optimizing mobile battery consumption on iOS and Android — Organizer, MetricKit, network batching, location accuracy, and catching regressions in CI.

January 15, 2025Read More
Business15 min read

Boosting Push Opt-In Rate: Timing, Context, Measurement

A guide to raising your push notification opt-in rate with a priming screen, correct timing, provisional authorization, and measurement, based on Apple and Android's official guidance.

December 11, 2024Read More
Business11 min read

Mobile A/B Test Infrastructure: Setup, Stats, Pitfalls

Mobile A/B testing hits four constraints the web doesn't: rollout delay, version fragmentation, sample-size math, and store rules. Here's the setup, step by step, with the real pitfalls.

November 20, 2024Read More
Flutter14 min read

Flutter App Size Reduction: The APK and IPA Guide

A practical, documentation-based guide to Flutter app size reduction, covering --analyze-size, --split-debug-info, --obfuscate, split APK, and app bundle strategies step by step.

November 12, 2024Read More
AI15 min read

What is RAG and how it works: embedding to vector search

The answer to what RAG is and how it works: learn embedding, chunking, and vector search with real code examples, building a minimal system from scratch.

November 12, 2024Read More
Business15 min read

EU Trader Status: Fix This Before Your App Gets Removed

What is the App Store EU trader status requirement, who does it cover, and how do you fill it out in App Store Connect? A step-by-step guide against the February 17, 2025 removal risk.

November 6, 2024Read More
Full-Stack14 min read

Full-Stack Basics: A Backend Roadmap for Mobile Developers

A backend learning roadmap for mobile developers: HTTP fundamentals, CRUD APIs, databases, authentication, deploy, and the BaaS decision, explained step by step.

October 30, 2024Read More
Career15 min read

Mobile System Design Interview: 6 Real Questions

We break down the 6 real questions asked in mobile system design interviews (news feed, sync, chat, file upload), their differences from backend, and back it with official Android/Apple sources.

October 22, 2024Read More
Architecture20 min read

Clean Architecture on iOS

A practical guide to building scalable iOS apps with SOLID principles and Clean Architecture.

April 10, 2024Read More
Backend24 min read

iCloud Synchronization with CloudKit

Data synchronization with CloudKit. Public/private database, subscriptions, conflict resolution, and offline support.

February 10, 2024Read More
DevOps28 min read

iOS CI/CD Pipeline: GitHub Actions and Fastlane

Automated build, test, and deployment with GitHub Actions, Fastlane, and Xcode Cloud. Complete iOS DevOps guide.

February 5, 2024Read More
Backend23 min read

Backend API with Swift Vapor: Full-Stack Swift Development

Building RESTful APIs with the Vapor framework. Fluent ORM, JWT auth, middleware, WebSocket, Docker deployment, and sharing models between iOS and backend.

January 25, 2024Read More
iOS19 min read

GraphQL in iOS: Apollo Client and Code Generation

GraphQL vs REST, Apollo iOS client setup, code generation, caching strategies, pagination, optimistic UI, and subscriptions.

January 5, 2024Read More
Backend21 min read

The Server-Side Swift Ecosystem: Vapor, Hummingbird, and Swift on Server

Swift on Linux, SwiftNIO fundamentals, a Vapor vs Hummingbird comparison, database integration, Docker deployment, and sharing models between client and server.

December 10, 2023Read More