All blogs / Mobile / iOS / Android
Jacob’s Tech Tavern
Join 10,000 engineers learning advanced concurrency, agentic iOS engineering, and Swift performance for 10 minutes a week. Subscribe free and immediately receive The Complete Swift Concurrency Toolkit. Click to read Jacob’s Tech Tavern, by Jacob Bartlett, a Substack publication with tens of thousand
- Posts
- 171 from 2 Feb 2023 to 28 Oct 2026
- Posting
- weekly (50 in the last year)
- Kind
- personal blog
- Feed
- https://blog.jacobstechtavern.com/feed
2026 40
- The new core skills: agentic engineering at Granola
- Building apps is a system design exercise
- I’m Giving Away Over $160k of Rewards 💸
- Background work in iOS
- Maths, Metal, Mandelbrot, and SwiftUI
- NFC, BLE, UWB, WTF?!
- Who needs AI psychosis?! I gave myself VR psychosis 🤠
- Forbidden iOS 👹
- App Size 101: Drop 40% in an afternoon
- Advanced Agentic Engineering
- Apple Watch brings distributed system headaches to your app
- The Hardest Problems in Mobile Engineering.
- Introducing... The Tech Tavern Roadmap 🗺️
- Designing The Perfect Modular Architecture
- My Top 3 Design “Kisses” I Like to Add to Every App
- The history (and future) of technology form factors
- Apple Photos and Face Recognition in 512-D Hyperspace
- UIKit for scroll performance!? Real engineers use Metal.
- How did Apple cut launch time by 30% in iOS 27?
- Apple's "Snow Leopard" Year: WWDC 2026 Roundup
- Apple Chip Architecture from 1977 to 2026
- My Secret Plot to Kill SwiftUI
- Reliable Data Uploading on iOS
- Touch to Pixels: UI Pipeline Internals on iOS
- Jacob's Tech Tavern v3.0
- The 3 Levels of Swift Concurrency
- URLSession to Electrons: How Networking works on iOS
- My agentic engineering workflow at an AI unicorn 🦄
- The 7 Deadly Sins of Cargo Culting
- Survive the AI tech hiring winter ⛄️
- Oh sh*t, I have an "iOS coding" interview and don't know what to practice
- The SwiftUI Design System War: Composition vs Progressive Disclosure
- Is SwiftUI finally as fast as UIKit in iOS 26?
- iOS System Design interviews in 2026
- The Most Complicated System I Ever Worked On
- Agentic AI Engineering Workflows for iOS in 2026
- My (deeply stressful) big tech interview grind
- Xcode Organizer: Your Performance Cheat Sheet
- How to design an SDK to handle $10bn in transactions
- 10 techniques to pass 90% of algorithmic interviews
2025 57
- 🎄 I just gifted you 14 days' membership
- Copy-on-write teaches you EVERYTHING about Swift Internals 🐮
- Ancient Secrets of the Objective-C Runtime
- Method Dispatch in Swift: The Complete Guide
- Inside Meta’s “iOS System Design” Interview
- When To Kill A Project
- 2025: The Year SwiftUI Died
- Swift Concurrency Training Kata
- The Great Connection Pool Meltdown
- Swift for Android vs. Kotlin Multiplatform
- How do researchers reverse-engineer private frameworks?
- My wife gave me 100 days to make it as an indie creator
- Backend-driven SwiftUI
- I'm giving away $84,000 in rewards
- Total Control of Your Camera Using Pixel Buffer APIs
- Make Loading Screens Fun with the SwiftUI Game Engine
- How are Actors Implemented in Swift?
- The Terrible Technical Architecture of my First Startup
- Building a Launch Time Optimisation System
- Automate all the things with Swift Subprocess
- Claude Code has made me 50-100% more productive
- Bits & Side Tables: How Reference Counting Works in Swift
- Swift Concurrency's Biggest Unintuitive Gotchas
- Advanced Keyframe Animations in SwiftUI
- Performance Analytics
- My ADHD vs. the AlarmKit API
- How to Learn the Swift Source Code
- High Performance SwiftData Apps
- The 1-hour Swift Concurrency course
- Data: a swift-foundation deep-dive
- Through the Ages: Apple Concurrency APIs
- Real-time systems with Combine and WebSockets
- Customised client-side AI with Apple's CLIP models
- Gifts and Growth Hacking
- I trapped your soul in a trading card (with client-side AI)
- The Swift Apple doesn't want you to know
- Advanced Swift Concurrency: AsyncStream
- Apple Tried To Kill My Startup
- Impostor Syndrome and Business Acumen
- SwiftUI Scroll Performance: The 120FPS Challenge
- SwiftUI Map is RIDICULOUSLY Powerful
- Fitting the Lapse experience into 15 MegaBytes
- The Secret to Intuitively Understanding Swift Concurrency
- How I Got Exploited At My First Startup
- Tasks vs Threads
- Handle Deep Links with Async Algorithms
- You should be using SwiftLog
- How To Release Without Fear
- Grind 2x as hard with Git Worktrees
- A Tool To Automatically Detect Memory Leaks
- Make your social apps pop with Link Presentation
- Secret SwiftUI: A practical use for _VariadicView
- Jailbreak Protection on iOS
- How I Stole Your ChatGPT API Keys
- Softcore Debugging
- Hardcore Debugging
- The Time Profiler
2024 38
- The Synchronization Framework in Swift 6
- The Swift Compiler
- The Swift Runtime: Your Silent Partner
- Solving The SwiftUI Interview
- A Tech Interview That Doesn't Suck
- My Wronggest Content
- Static, Dynamic, Mergeable, oh, my!
- Advanced Swift Concurrency: Understanding Tasks
- THE CRASH IS A LIE
- ProcessInfo & Device Physics
- Apple is Killing Swift
- Migrating XCTest to Swift Testing
- Migrating Combine to AsyncAlgorithms
- Quick Hacks: How to test a Task { }
- Why is my Task running on the main thread?
- Jacob's Tech Tavern v2.0
- The 8-bit retro app with SwiftUI & Metal
- Swift Intermediate Language
- Jailbreak your Enemies with a Link: Remote Execution on iOS
- Impress at Job Interviews by Inspecting their App Bundle
- The Meme that gave me Imposter Syndrome
- Mobile Deployment Pipelines for $0
- Advanced Core Image
- Core Image: The Basics
- How to (consistently) get 4.8* App Ratings
- How to use SwiftData outside SwiftUI
- README.md
- Oh Sh*t, My App is Successful and I Didn’t Think About Accessibility
- Async Unit Testing: The Comprehensive Guide
- High Performance Swift Apps
- I Wrote a Guest Post for Emerge Tools!
- The 2FA app that tells you when you get `314159`
- Jacob's Generic Privacy Policy
- The Swift Method Dispatch Deep Dive
- My Toddler Still Loves Planes, So I Upgraded Her Radar
- Mobile DevOps for Enterprise that Just Works
- The Case Against [unowned self]
- Modular Architecture for Apps
2023 36
- 2 Minute Tips: The Dark Secrets of Bools
- 2 Minute Tips: iOS Springboard Paddling Pool
- Metal in SwiftUI: How to Write Shaders
- Localization in Xcode 15
- “Yes” Actually Means “No”: The Curious Language of VCs
- My Toddler Loves Planes, So I Built Her A Radar
- Through the Ages: Apple Animation APIs
- Unit Test the Observation Framework
- COW2LLVM: The isKnownUniquelyReferenced Deep-Dive
- Through the Ages: Apple CPU Architecture
- 2 Minute Tips: The Strategy Pattern
- “Disruptive” Technologies Retrospective
- Welcome to Jacob’s Tech Tavern! 🍺
- Aviator: Privacy Policy
- Advanced Swift Actors: Re-entrancy & Interleaving
- 2 Minute Tips: The Dark Secret of Optionals
- Apple Animation Through the Ages: 2019
- Apple Animation Through the Ages: 2014
- Apple Animation Through the Ages: 2007
- Apple Animation Through the Ages: 2001
- Apple Animation Through the Ages: 1989
- Combine, async/await, and Unit Testing
- Implement your Data Access Layer with Combine
- Advanced async testing: Unstructured concurrency
- Unit Testing with async/await
- SwiftUI apps at scale
- Unit Testing Masterclass: Mocking like a Pro
- Dependency Injection Demystified
- Swift Enums 🤝 Design Systems
- Thoughts on first-round engineering interviews
- The D.E.N.N.I.S. system: Résumé tips for Senior Devs
- The Magic of Sets
- Access control in Swift like a boss
- Mobile is actually pretty hard.
- Jacob's Tech Tavern
- Coming soon