iOS

Articles on iOS performance, Swift optimization, Xcode tooling, and building fast Apple platform apps.

699 Articles · 131 Companies · 42 Topics

Articles about iOS (699)

Shorebird Jul 23, 2026

Shorebird's Ongoing Performance Work for Flutter 3.44+

Shorebird is tackling Flutter performance head-on with their work on version 3.44+. If you're shipping Flutter apps, this matters.

Just Eat Jul 22, 2026

Revisiting the Just Eat Takeaway iOS Modular Architecture in 2026

Alberto De Bortoli from Just Eat Takeaway reveals how a simple UI component exposed a 7-year-old architectural blind spot. The fix? Stop organizing by graph position, start organizing by purpose.

PickMe Jul 22, 2026

Building a NavigationStack-Like SwiftUI Navigation Layer for Lower iOS Versions

Gishantha Darshana from PickMe Engineering built a NavigationStack-style router that works on iOS 15. No more hidden NavigationLinks cluttering your SwiftUI views.

SwiftLee Jul 20, 2026

How to Test iOS Apps in Different Time Zones on a Physical iPhone

Antoine van der Lee just cracked a problem that's plagued iOS developers for years: how do you test time zone changes on a real device without boarding a plane?

Deloitte Jul 9, 2026

The Mistake That Taught Me to Use Flutter Flavors

Abdelrahman Khalil accidentally shipped a production app pointing to staging servers. That painful mistake led him to master Flutter Flavors—and he's breaking down exactly how to avoid the same fate.

Grab Jul 3, 2026

Deep Dive into iOS Automation at Grab - Continuous Delivery

Grab's iOS team ditched Fastlane for custom bash scripts and built a Slackbot named Iris (reverse of Siri) to automate their entire build pipeline. Sometimes simpler really is better.

Salesforce Jul 1, 2026

How AI Learned to Investigate Mobile Build Failures Like an Experienced Support Engineer

Archana Indran's team at Salesforce turned years of mobile debugging expertise into AI that investigates build failures like a senior engineer. Eight people now support 60+ repositories with less firefighting.

SwiftLee Jun 29, 2026

Memberwise Initializer in Swift explained with Code Examples

Antoine van der Lee explores a subtle Swift 6.4 change that eliminates a common source of boilerplate code. If you've ever written manual initializers just to hide private properties, this one's for you.

Duolingo Jun 24, 2026

How We Automated iOS Unit Test Generation with AI

Kush Agrawal from Duolingo just shared how they generated 85,000 lines of iOS test code with almost zero manual effort. The bottleneck in software development has officially flipped: it's no longer writing code...

SwiftLee Jun 21, 2026

Swift 6.4: What's New in Concurrency

Antoine van der Lee breaks down Swift 6.4's concurrency updates so you don't have to parse through Evolution proposals yourself. These aren't just theoretical improvements: they solve real friction points in as...

SwiftLee Jun 16, 2026

SwiftUI Best Practices, straight from Apple's Xcode 27 Agent Skill

Antoine van der Lee reverse-engineered Apple's official SwiftUI Agent Skill from Xcode 27 and found something surprising: it's laser-focused on performance, but leaves out huge chunks of everyday SwiftUI develo...

Shopify Jun 12, 2026

Building Arrive's Confetti in React Native with Reanimated

Joel Besada from Shopify reveals how they built a delightful confetti animation in React Native that runs at 60 FPS without blocking the JavaScript thread. The secret? Declarative animations that execute entire...

PickMe May 28, 2026

API Testing in Mobile Apps: The Backbone of Digital Experiences

Hafsa Amanulla from PickMe reveals why your beautiful mobile UI means nothing if your APIs are broken. A delayed menu load or failed promo code isn't just annoying—it's a business killer.

SwiftLee May 26, 2026

Using Xcode Instruments to optimize Swift Concurrency Code

Antoine van der Lee makes a bold claim: AI-generated Swift code might look fine, but Xcode Instruments reveals the hidden performance disasters lurking beneath. Even experienced developers are getting lazy abou...

Flutter May 18, 2026

Flutter's multiplatform value for agentic development

Michael Thomsen from Google's Flutter team makes a bold claim: AI-driven development works better with a single codebase than platform-specific code. Here's why Flutter might be the secret weapon for agentic wo...

SwiftLee May 18, 2026

Recording a Physical iPhone for App Preview Videos

Creating App Store preview videos from physical iPhones has been a pain. QuickTime gives you square videos without bezels, and manually adding device frames is tedious.

Getir May 13, 2026

Surviving Production: The Performance Gauntlet

Berkay Özdemir from Getir's Market Discovery Team cut category page load times from 8 seconds to 2 seconds. Then production traffic hit, and everything started crashing.

SwiftLee May 11, 2026

AI-Powered Xcode Simulator Automation (token-efficient)

Antoine van der Lee just shipped a CLI that makes AI agents 19% faster at controlling Xcode Simulator while using 63% fewer tokens. If you're building with AI coding assistants, this changes the game.

PickMe May 10, 2026

Never Miss a Critical App Crash Again: Integrating Firebase Crashlytics with Google Chat

Chamod Lakmal shares how discovering hundreds of weekend crashes on Monday morning pushed him to build an automated alert system. No more silent failures destroying your app's reputation while you're offline.

SwiftLee May 4, 2026

Unexpected Task suspension points in Swift Concurrency

Antoine van der Lee uncovered a sneaky Swift Concurrency bug that was silently destroying his app's performance. The culprit? An innocent-looking Task that was secretly hopping on and off the main thread hundre...

Flutter Apr 30, 2026

Saying goodbye to CocoaPods: Swift Package Manager is soon the default in Flutter!

Jenn Magder from Google's Flutter team just announced the end of an era: CocoaPods is out, Swift Package Manager is in. If you're building Flutter apps for iOS, this changes everything about your dependency man...

SwiftLee Apr 27, 2026

Immediate tasks in Swift Concurrency explained

Antoine van der Lee tackles a subtle but powerful new Swift 6.2 feature that most developers will misuse. Task.immediate promises faster execution, but it can easily freeze your UI if you're not careful.

Flutter Apr 27, 2026

That's a wrap: Everything Flutter at Google Cloud Next

Emma Twersky from Flutter just dropped the biggest news for cross-platform developers: full-stack Dart is here. If you've been context-switching between languages for frontend and backend, this changes everythi...

Grab Apr 22, 2026

Record, generate, run: AI-powered UI test generation for iOS

Grab Engineering just turned a days-long iOS testing nightmare into a 10-minute workflow. Their AI-powered system records your app interactions and auto-generates complete UI tests, including mocks, feature fla...

Shopify Apr 22, 2026

Maintaining a Swift and Objective-C Hybrid Codebase

Adrianna Chang from Shopify reveals how to write new Swift code in legacy Objective-C apps without rewriting everything. The secret? Strategic bridging patterns that let both languages coexist.

Thumbtack Apr 21, 2026

Leveraging AI to build a faster iOS CI system

Muhieddine EL Kaissi from Thumbtack cut iOS CI time in half using runtime coverage instead of running every test. His Smart Test Selection system proves you don't need faster tests—you need fewer tests.

SwiftLee Apr 20, 2026

Xcode Instruments Time Profiler: Improve performance with AI

Antoine van der Lee just achieved a 25x performance improvement using AI agents and Xcode Instruments. His workflow shows how AI can analyze profiling data and iterate on optimizations faster than manual debugg...

Shorebird Apr 16, 2026

Flutter vs. Kotlin Multiplatform: 2026 Architecture Guide

The article content appears to be just promotional copy for Shorebird rather than the actual Flutter vs. Kotlin Multiplatform architecture guide. Without the real article content, I cannot provide an accurate s...

SwiftLee Apr 14, 2026

Network Requests Optimization using Xcode's Simulator & Agents

Antoine van der Lee reveals how combining AI agents with continuous network monitoring caught bugs he'd been missing for years. The secret? Stop opening proxies only when you need them.

Shorebird Apr 10, 2026

Flutter vs .NET MAUI in 2026: Architecture, Tooling, CI/CD, and Migration Trade-offs

The article content appears to be just a promotional snippet for Shorebird's integration tool, not the full Flutter vs .NET MAUI comparison promised in the title. Without the actual article content, I cannot pr...

Kasikornbank Apr 7, 2026

From Idea to Reality: Behind Flip Slip, 3-Finger Capture, and the Pinch-to-Zoom PoC #MAKEbyKBank

Weera Youngnam from KBTG turned a personal pain point into a feature that caught executive attention. His journey from gyroscope experiments to production reveals how small PoCs can create outsized impact.

Flutter Apr 1, 2026

How Dart and Flutter are thinking about AI in 2026

Mariam Hasnany from Google's Flutter team just dropped their AI strategy, and the numbers reveal a massive shift: 79% of Flutter developers already use AI assistants. But there's a trust problem.

SwiftLee Mar 30, 2026

Xcode Build Optimization using 6 Agent Skills

Antoine van der Lee just open-sourced an AI agent skill that saved one iOS team 87% on incremental build times. That's 61 seconds per build, translating to 5 hours saved monthly at just 10 builds per day.

Swift.org Blog Mar 24, 2026

Swift 6.3 Released

Holly Borla and Joe Heck announce Swift 6.3, bringing the language to Android officially for the first time. This release fundamentally expands where Swift can run, from embedded firmware to mobile apps across ...

Snapchat Mar 19, 2026

Performance as a Core Product Feature

Snapchat treats performance as a core product feature, not just a requirement. Their custom tracing system catches regressions that off-the-shelf tools completely miss.

Getir Mar 17, 2026

Maestro at Scale: Architecting a Deterministic Mobile Test Platform

Emre Erkek from Getir reveals how they turned Maestro from a simple testing tool into a deterministic platform that runs thousands of tests daily. Most teams fail at E2E testing scale—here's the architecture th...

Expo Mar 17, 2026

Expo UI in SDK 55: Jetpack Compose now available for React Native apps

Kudo Chien, Nishan Bende, and Aleksander Mikucki from Expo just made it possible to use native SwiftUI and Jetpack Compose components directly in React Native apps. No JavaScript reimplementation required.

Deloitte Mar 16, 2026

How to Make Your Mobile App Faster

Essam Fahmy from Deloitte reveals why 70% of users abandon slow apps—and shares the exact techniques that cut load times by up to 70%. If your mobile team treats performance as an afterthought, this breakdown w...

Individual Author Mar 9, 2026

Is SwiftUI finally as fast as UIKit in iOS 26?

Jacob Bartlett puts SwiftUI and UIKit through the ultimate stress test: a feed of 22,000 animated GIFs running at 120fps. The results might surprise you.

Swift.org Blog Mar 6, 2026

Building Privacy-First Analytics with Swift

TelemetryDeck is processing analytics for 16 million users monthly using Swift on the server. The infrastructure costs and performance gains are making Python and Node developers take notice.

Posts on X Mar 2, 2026

How We Claudified Our iOS App Without Wrecking Our Codebase

Dan Federman from Tolan reveals how Claude now writes 55% of their iOS commits. And their crash-free rate improved while doing it.

Teknasyon Mar 2, 2026

Swift Combine: A Guide to Apple's Reactive Framework

Dilek Eminoğlu from Teknasyon breaks down Apple's Combine framework—the reactive programming tool that's been quietly transforming iOS async code since WWDC 2019. If you're still wrestling with callback hell, t...

SwiftLee Mar 2, 2026

Using an MCP to perform product optimizations

Antoine van der Lee stopped guessing what to build next. By connecting his AI coding agent to Amplitude analytics via MCP, he now makes product decisions backed by real user data without leaving his IDE.

Wealthfront Mar 2, 2026

XcodeGen and the Quest to Modularize the Wealthfront iOS App

Wealthfront's iOS team eliminated merge conflicts entirely and cut build times by breaking their 10-year-old monolith into modules. Here's how XcodeGen made it possible.

Mobile Vitals Mar 1, 2026

The 5 Numbers That Decide Whether Users Keep or Delete Your App

Half of all users uninstall an app after a single performance issue. A peer-reviewed paper puts specific numbers on the thresholds that separate apps people keep from apps they delete.

Posts on X Feb 26, 2026

Vision-Based Mobile App Testing CLI for Claude Code

Revyl introduces a CLI tool that gives Claude Code vision-based mobile app testing capabilities. The tool interacts with apps like a human — no scripts, selectors, or element IDs needed — enabling a full write-...

Posts on X Feb 24, 2026

Pro Tip: Use Xcode Instruments Time Profiler with AI for Performance Analysis

Antoine van der Lee (@twannl) found a quick way to get performance fixes from Xcode Instruments: deep copy the Time Profiler call tree and paste it into an AI agent.

Sentry Feb 18, 2026

Do you need an MCP to build your native app?

Sentry ran 1,350 trials to answer an uncomfortable question: does their newly acquired XcodeBuildMCP tool actually beat a simple markdown file for iOS development?

SwiftLee Feb 17, 2026

Swift Testing Agent Skill: Write high quality tests with AI

Antoine van der Lee from SwiftLee just open-sourced an Agent Skill that teaches AI to write Swift tests the right way. No more serialized tags killing your test performance.

Posts on Medium Feb 15, 2026

Why Apple Is Secretly Betting Against Native iOS Development

Apple is quietly pushing developers away from the native iOS stack they've championed for over a decade. The evidence? Look at what they're building, not what they're saying.

PickMe Feb 13, 2026

Haptics with Swift: A comprehensive guide for haptic feedback with Core Haptics

Ravindu Wataketiya from PickMe makes the case that haptic feedback is the silent hero of mobile UX. It's the detail users don't notice until it's missing—and it can elevate a mediocre app to exceptional.

React Native Blog Feb 11, 2026

React Native Version 0.84 Release

React Native 0.84 just dropped with automatic performance wins for every app. No migration needed, no config changes required—just faster execution and lower memory usage out of the box.

Sentry Feb 9, 2026

Building Type-Safe Metrics API in Swift Part II

Phil Niedertscheider from Sentry reveals how Swift's type system can catch metric API bugs before they compile. No more sending garbage data like memory addresses to production.

Meta Feb 9, 2026

Meta Distinguished Eng (IC9) On Influencing Engs, Failures, and Learnings

Adam Ernst, Meta's IC9 Distinguished Engineer, spent two years building a framework that completely failed. His brutally honest postmortem reveals more about reaching the highest IC levels than most success sto...

Sentry Feb 9, 2026

Building Type-Safe Metrics API in Swift Part I

Phil Niedertscheider from Sentry reveals why designing a public API took longer than building the actual feature. His deep dive into Swift's type system shows how the right language features can make or break d...

Spotify Feb 9, 2026

How We Release the Spotify App: A Look Under the Hood (Part 2)

Spotify's release managers were drowning in Jira tabs, juggling dozens of tickets while fielding Slack questions. One dashboard changed everything.

SwiftLee Feb 8, 2026

Core Data Agent Skill: Now available open-source

Antoine van der Lee just open-sourced a Core Data Agent Skill that could save you from rookie persistence mistakes. If you're still working with Apple's older framework, this is a game-changer.

PickMe Feb 6, 2026

Why Your Mobile App Is Not as Secure as You Think

Pavithra Chamod J from PickMe Engineering drops a hard truth: your mobile app's security measures are probably theater. Once an APK hits a rooted device, all bets are off.

Individual Author Feb 4, 2026

Common Mistakes When Shifting Left in Mobile Testing

Russell Morley reveals why most mobile teams think they're shifting left in testing, but are actually just moving their pain earlier in the pipeline.

Reddit Feb 2, 2026

Protecting Your GraphQL

Stas Kravets shares how a Python GraphQL service's P99 timeout detection was so unreliable that only P50 requests actually timed out as expected. The culprit? IO operations under heavy load can bring down your ...

SwiftLee Feb 2, 2026

SwiftUI Agent Skill: Build better views with AI

Antoine van der Lee from SwiftLee introduces an open-source Agent Skill that teaches AI to write better SwiftUI code. No more fixing the same mistakes over and over in your AGENTS.md file.

Swift.org Blog Jan 30, 2026

What's New in Swift: January 2026 Edition

Nick Sloan from Studioworks processed millions in invoices with Swift on the server and saw fewer production bugs than in 20 years of web development. Here's what's happening in the Swift ecosystem this month.

Doist Jan 27, 2026

Optimizing GRDB in Todoist for iOS

Todoist's iOS app became nearly unusable for some users after migrating from Realm to GRDB. The culprit? A SQL query generating 128,136 intermediate rows from just 399 actual records.

SwiftLee Jan 25, 2026

AI App Development: What I Learned in One Month

Antoine van der Lee shipped an AI-powered app in one month and hit a wall so hard he almost killed the project. His biggest mistake? Moving too fast.

Swift.org Blog Jan 22, 2026

Improving the Usability of C Libraries in Swift

Doug Gregor from the Swift Language Steering Group reveals how to transform clunky C library APIs into elegant Swift code without touching a single line of the original C headers.

SwiftLee Jan 19, 2026

11 Things I learned after using AI Agents full-time

Antoine van der Lee went all-in on AI agents for iOS development and jokes that 'Arie and Ingrid (AI) are doing my work while we're having lunch.' After months of daily use, his workflow has changed more than i...

Teknasyon Jan 15, 2026

Performance-Focused UIKit Rendering and Animation Flow

Rabia Mercan from Teknasyon reveals why your smooth UIKit animations are secretly destroying performance. The culprit? Offscreen rendering you never knew was happening.

Kotlin Blog Jan 13, 2026

Compose Multiplatform 1.10.0

Elvira Mustafina from JetBrains just dropped Compose Multiplatform 1.10.0, and it's solving one of the most annoying pain points in cross-platform development. Three different @Preview annotations? Gone.

Guardsquare Jan 13, 2026

Xcode 26: Enhanced Security for iOS Apps

Timothy Werquin from Guardsquare reveals why Apple's new Xcode 26 'enhanced security' features miss the most common iOS app threats. While exploit mitigation sounds impressive, the real danger lies elsewhere.

Kotlin Blog Jan 13, 2026

The Journey to Compose Hot Reload 1.0.0

Sebastian Sellmair and Azat Abdullin from JetBrains reveal how they built Compose Hot Reload 1.0.0—a zero-config tool that lets you update Kotlin UI code instantly while preserving app state. The engineering be...

SwiftLee Jan 12, 2026

Agent Skills explained: Replacing AGENTS.md with reusable AI knowledge

Antoine van der Lee reveals why he ditched AGENTS.md files across all his projects. The replacement? A reusable AI knowledge system that's already supported by Cursor, Claude, and Gemini.

Sentry Jan 10, 2026

Swizzling SwiftUI View Body

Noah Martin from Sentry cracked a problem that seemed impossible: swizzling pure Swift code to automatically track SwiftUI view performance. The technique is wild.

Gojek Jan 6, 2026

Project Butter: A Journey for App Performance Improvement

Gojek's Android app was taking 14.35 seconds to launch. With 500+ modules and millions of lines of code, something had to change.

Simform Jan 5, 2026

Unlock Native Power in Flutter Part 2

Flutter developers: still treating native integration like a black box? You're leaving serious performance on the table.

PickMe Jan 1, 2026

Mastering Location Services in Mobile Apps — A Guide for Android (Jetpack Compose) & iOS (SwiftUI)

Pavithra Chamod J from PickMe Engineering breaks down the biggest challenge in mobile dev: making location services work seamlessly across Android and iOS without draining batteries or violating privacy.

Posts on Medium Jan 1, 2026

The State of Agentic iOS Engineering in 2026

Thomas Ricouard spent only 2% of his time in Xcode last year while shipping more iOS code than ever. His secret? Treating AI agents as tireless coworkers, not autocomplete tools.

Simform Dec 31, 2025

Unlock Native Power in Flutter Part 1

Flutter's cross-platform magic hits a wall when you need native APIs. Here's how to bridge that gap without losing your mind.

Grab Dec 23, 2025

Demystifying user journeys: Revolutionizing troubleshooting with auto tracking

Ever tried debugging a mobile app crash without knowing what the user actually did? You're flying blind.

Swift.org Blog Dec 19, 2025

What's New in Swift: December 2025 Edition

Tim Sneath reflects on Swift's explosive growth: from a simple blog post 10 years ago to 70+ repositories with hundreds of weekly contributors. The language now runs everywhere from Pebble watches to AWS Lambda...

Kotlin Blog Dec 19, 2025

How Mobile Development Teams Use Kotlin in 2025

José Luis González, a JetBrains-certified Kotlin Trainer, reveals the production bugs that still plague mobile teams in 2025. One tiny mistake in exception handling can silently break your entire app's lifecycl...

Kotlin Blog Dec 16, 2025

Kotlin 2.3.0 Released

Kotlin 2.3.0 just dropped with some serious multiplatform firepower. If you're building cross-platform apps, this release fundamentally changes how you work with Swift, Wasm, and native code.

Hotstar Dec 12, 2025

Preventing Performance Regressions on iOS Apps

JioHotstar was stuck in a frustrating cycle: fix performance issues, ship the update, watch them resurface weeks later. Sound familiar?

Kotlin Blog Dec 11, 2025

Exploring KotlinX Benchmark Results with Kotlin Notebooks

Filipp Zhinkin and Teodor Irkhin from JetBrains show how staring at raw benchmark tables is costing you insights. Kotlin Notebooks turn those text dumps into interactive visualizations that actually tell a stor...

React Native Blog Dec 10, 2025

React Native Version 0.83 Release

React Native 0.83 just dropped with a historic first: zero breaking changes. The team is finally delivering on their promise of predictable, painless upgrades.

Expo Dec 10, 2025

How to implement iOS widgets in Expo apps

Arthur Spalanzani built an affirmations app where the widget IS the product, not a companion feature. His widget-first approach achieved 80.7% adoption and unlocked organic social sharing that traditional app s...

Kotlin Blog Nov 24, 2025

The Ultimate Kotlin Multiplatform Watchlist

Ekaterina Petrova curated 10 KotlinConf talks that show how Duolingo, McDonald's, and StoneCo achieved massive scale with Kotlin Multiplatform. Skip the beginner mistakes and learn from teams already shipping t...

Doist Nov 20, 2025

Orchestrating our UI test suite with Maestro

Doist's Android team faced a brutal reality: their UI test suite was so flaky that only 50% of runs passed on the first try. PRs sat idle for hours waiting for reruns.

Expo Nov 19, 2025

Going Universal: From a brownfield React Native and Next.js stack to one Expo app

Gunnar Torfi shares how a single developer maintained 40+ mobile screens AND a full web app by merging them into one universal codebase. No big rewrite required.

Instagram Nov 17, 2025

Enhancing HDR on Instagram for iOS With Dolby Vision

Chris Ellsworth, Cosmin Stejerean, and Hassene Tmar from Meta reveal how Instagram became the first Meta app to support Dolby Vision. The catch? Their initial A/B test showed people watched LESS video with the ...

Meta Nov 17, 2025

Enhancing HDR on Instagram for iOS with Dolby Vision

Chris Ellsworth, Cosmin Stejerean, and Hassene Tmar from Meta reveal how Instagram became the first Meta app to support Dolby Vision. The catch? Their initial A/B test showed people watched LESS video with the ...

Swift.org Blog Nov 17, 2025

Embedded Swift Improvements Coming in Swift 6.3

Swift is coming to microcontrollers, and the latest 6.3 release is making it production-ready. Embedded Swift now handles everything from memory-mapped I/O to proper debugging on resource-constrained hardware.

Flutter Blog Nov 12, 2025

What's New in Flutter 3.38

Kevin Chisholm from Google's Flutter team just dropped Flutter 3.38, and it's packed with the kind of productivity wins developers have been asking for. Dot shorthands alone will save you countless lines of boi...

Sentry Nov 9, 2025

Reverse Engineering iOS to Fix SDK Crashes

Phil Niedertscheider from Sentry reverse-engineered Apple's private frameworks after iPadOS 26 broke a fundamental assumption: that successful type casts guarantee the object is actually that type.

Grab Nov 6, 2025

Grab’s Mac Cloud Exit supercharges macOS CI/CD

Grab moved 250+ Mac minis from a US cloud to a Malaysian data center. The results? 40% faster builds and $2.4M saved.

Trendyol Nov 5, 2025

Scaling Mobile UI Testing with AI

Trendyol scaled from 4,869 to 10,400 UI tests in under a year — while keeping execution under one hour. Here's how AI became their test generation engine.

Swift.org Blog Oct 31, 2025

What's New in Swift October 2025

Joe Heck and Dave Lester just dropped the first edition of a new monthly Swift digest, and it's packed with signals that Swift is expanding way beyond iOS. Server-side Swift is heating up with performance gains...

Posts on Medium Oct 25, 2025

I Tried to Reduce My App Size by 50%. Here's What Actually Worked

A 260 MB productivity app? One developer spent a week cutting it to 95 MB and learned most optimization advice is wrong.

Mercari Oct 24, 2025

Evolving Mercari's iOS codebase into a multi-product monorepo

Shingt from Mercari reveals how they transformed a single-product iOS codebase into a monorepo supporting multiple apps—without halting work for 50+ active engineers. The result? A 38.8MB binary despite 900+ mo...

Mercari Oct 22, 2025

Delivering Mobile App Updates Faster

Manoj Kumar Gubba from Mercari's iOS team reveals how they ship mobile updates in just 3-7 days. Most teams take 1-2 weeks, but Mercari's approach cuts that in half while maintaining stability.

Expo Oct 16, 2025

How to add native code to your app with Expo Modules

Jacob Clausen from Expo shows how to break free from SDK limitations. Building custom native modules doesn't mean abandoning Expo's developer experience.

Individual Author Oct 15, 2025

Advanced NavigationStack Patterns in SwiftUI

NavigationStack in SwiftUI works great until you're hunting through ten files to figure out why Settings opened the wrong screen. The coordinator pattern changes everything.

Deloitte Oct 9, 2025

A Guide to Generating Swift Code with Swift Syntax and Swift OpenAPI (Part 2)

Esraa Eid from Deloitte UK tackles Swift code generation with a deep dive into SwiftSyntax and OpenAPI. If you've ever struggled with generating type-safe models from specs, this comparison will change how you ...

Kotlin Blog Oct 9, 2025

Kotlin Multiplatform Contest 2026

Students and recent grads: JetBrains is offering free trips to Munich for building Kotlin Multiplatform projects. The 2026 contest is open now, and the bar might be lower than you think.

Very Good Ventures Oct 8, 2025

Flutter for Enterprises: Everything CTOs and Engineering Leaders Need to Know

Very Good Ventures reveals why global leaders like Disney, Toyota, and BMW are ditching fragmented native development for a single framework. The shift isn't just technical—it's transformational.

React Native Blog Oct 8, 2025

React Native Version 0.82 Release

React Native just dropped its most significant release ever. Version 0.82 completely removes the Legacy Architecture, marking what the team calls 'the start of a new era' for mobile development.

Deloitte Oct 7, 2025

A Guide to Generating Swift Code with Swift Mustache (Part 1)

Esraa Eid from Deloitte UK reveals how to make Swift code generate Swift code—no low-level languages required. She explores three powerful approaches to transform JSON schemas into production-ready Swift struct...

Swift.org Blog Oct 6, 2025

Introducing Swift Profile Recorder: Identifying Performance Bottlenecks in Production

Apple just open-sourced the profiling tool they've used for years to debug Swift services at massive scale. No special privileges, no eBPF, no system dependencies required.

Zalando Oct 3, 2025

Accelerating Mobile App Development at Zalando with Rendering Engine and React Native

Zalando is migrating 90+ screens across iOS and Android to React Native without rebuilding their entire app. Here's how they're pulling it off for 52M+ customers.

Callstack Oct 3, 2025

Cross-Platform TV Apps with React Native for tvOS, Android TV, and Tizen

Callstack just dropped their Ultimate Guide to React Native TV Development 2026. If you're building streaming apps, this changes the game for cross-platform TV.

Uber Oct 2, 2025

How Uber Standardized Mobile Analytics for Cross-Platform Insights

Uber runs 50+ mobile apps across iOS and Android. How do you get consistent analytics when every team tracks things differently?

Swiggy Sep 30, 2025

Scaling Swiggy's Mobile Ecosystem [1/n]

Tushar Tayal from Swiggy reveals the hidden complexity behind managing 6+ consumer apps (Snacc, Instamart, Toing, Dineout, Crew) in production. Spoiler: it's not just about shipping faster.

Kotlin Blog Sep 22, 2025

Compose Multiplatform 1.9.0 - Compose for Web Beta

Ekaterina Volodko and Alejandra Pedroza Marchena from JetBrains announce a game-changer: Compose Multiplatform for web just hit Beta, powered by Wasm. Your Android Compose skills now work in the browser with mi...

Swift.org Blog Sep 15, 2025

Swift 6.2 Released

Holly Borla from Apple's Swift Core Team just dropped Swift 6.2, and it's tackling the biggest pain point in modern development: making concurrent programming actually approachable. This isn't just another incr...

Airbnb Sep 6, 2025

Understanding and Improving SwiftUI Performance

The article link appears to be broken or unavailable. This SwiftUI performance piece from Airbnb Engineering isn't loading, returning a 404 error instead.

React Native Blog Aug 12, 2025

React Native Version 0.81 Release

React Native 0.81 just dropped with a game-changing performance boost: iOS builds up to 10x faster. But there's a catch that'll affect every Android developer.

Thumbtack Aug 12, 2025

Thumbtack's Journey to Swift 6

Scott Southerland from Thumbtack just shared what most iOS teams won't tell you: migrating to Swift 6 took 16+ months and broke their entire test suite. Here's the battle-tested playbook they wish they'd had.

TripAdvisor Aug 8, 2025

The evolution of native engineering at Tripadvisor: Part 2

Tripadvisor's mobile team was drowning in nearly-identical UI components. Their server-driven UI framework promised speed but delivered the opposite.

Posts on Reddit Aug 1, 2025

Our Buildkite Brings All the Devs to the Yard: (Re)Building Reddit Mobile CI in 2025

Reddit's mobile team had zero professional CI experience. Then they cut build times in half and transformed developer happiness.

Teknasyon Jul 30, 2025

Introduction to MetricKit: Are You Measuring Your App's Performance the Right Way?

Ninikvatchantiradze from Teknasyon Engineering reveals why most iOS teams are measuring performance completely wrong. Your simulator tests and CPU averages are hiding the issues that make users uninstall your a...

Teknasyon Jul 30, 2025

Measuring App Performance with MetricKit

Ninikvatchantiradze from Teknasyon Engineering reveals why most iOS developers are measuring app performance completely wrong. If you're only testing locally or tracking basic CPU metrics, you're missing what's...

Grindr Jul 29, 2025

Building Reusable Custom Views with SwiftUI

Max Roche from Grindr Engineering just solved one of SwiftUI's most annoying problems: why do custom components require massive initializers while Apple's native views stay clean and simple?

PickMe Jul 29, 2025

Revamping PickMe Driver App: From UIKit to SwiftUI — A Technical Journey

Kcrdissanayake from PickMe reveals how their team migrated an 8-year-old ride-hailing driver app from UIKit to SwiftUI while maintaining iOS 15 compatibility. The bold rewrite wasn't just about modern code—it w...

Meta Jul 28, 2025

Accelerating on-device ML on Meta’s apps with ExecuTorch

Meta just shared how they moved billions of daily users to their new on-device ML framework. The performance gains are substantial.

Thumbtack Jul 17, 2025

Debugging OOMs: SQLite Query Optimization

Brian Terczynski from Thumbtack tracked down a brutal Android OOM bug that was crashing apps at startup—and the culprit wasn't a memory leak. It was hiding in plain sight: their SQLite queries.

Duolingo Jul 10, 2025

How we used Macros to Promote MVVM architecture adoption

Duolingo's iOS team turned a boilerplate problem into a Swift Macros showcase. Their codebase grew, but developer friction didn't have to.

Airbnb Jun 24, 2025

Understanding and Improving SwiftUI Performance

Airbnb's SwiftUI features were re-rendering way more than they should. The culprit? SwiftUI's hidden diffing algorithm was working against them.

Callstack Jun 5, 2025

Cross-Platform Web3 dApps With React Native

Callstack explores how React Native is becoming the unexpected bridge between traditional mobile development and the Web3 ecosystem. Building decentralized apps just got a lot more practical.

Swift.org Blog Jun 2, 2025

Swift at Apple: Migrating Password Monitoring Service from Java

Apple's Password Monitoring team just shared something remarkable: they rewrote their entire backend service from Java to Swift and the results are staggering. This isn't a client-side migration story—it's bill...

Individual Author May 27, 2025

Microapps architecture in Swift. Scaling.

Majid Jabrayilov explores how microapps architecture can solve the scaling nightmare that plagues large iOS codebases. His approach turns monolithic apps into composable, independently testable modules.

Tinder May 23, 2025

How We Decomposed Tinder's Monolith

Maxwell Elliott and Connor Wybranowski from Tinder turned what seemed like a 12-year project into a 6-month sprint. Their secret? Letting the compiler do the heavy lifting instead of manually untangling 150,000...

TripAdvisor May 15, 2025

The evolution of native engineering at Tripadvisor: Part 1

Tripadvisor's iOS team was drowning in coordinator spaghetti. Navigation paths were impossible to trace, and even senior engineers couldn't debug their own flows.

Expo May 14, 2025

Real-time audio processing with Expo and native code

Braulio Ríos built a production-ready guitar tuner app using React Native that processes audio in real-time with near-native performance. Here's how he combined TypeScript, C++, Swift, and Kotlin to solve a pro...

Individual Author May 5, 2025

SwiftUI Scroll Performance: The 120FPS Challenge

Jacob Bartlett from Jacob's Tech Tavern puts SwiftUI scroll performance under the microscope. Can it really hit 120fps with complex infinite feeds, or does the magic come at too high a cost?

Swift.org Blog May 5, 2025

Memory Safety, Ecosystem Talks, and Java Interoperability at FOSDEM 2025

Swift just made a major statement at FOSDEM 2025, and it's not just about iOS anymore. The language is pushing hard into memory safety, embedded systems, and even Java interoperability.

PickMe Apr 5, 2025

Swift Thread Safety: NSLockThreadSafeAccess vs DispatchQueueSafeAccess

Kcrdissanayake from PickMe Engineering breaks down a critical choice every Swift developer faces: how to safely manage shared state across threads without killing performance.

Spotify Apr 1, 2025

A Behind-the-Scenes Look at How We Release the Spotify App (Part 1)

Spotify ships weekly releases to 675 million users across iOS and Android. Here's how they balance speed with quality at that scale.

Swift.org Blog Mar 31, 2025

Swift 6.1 Released

Swift 6.1 just dropped with some seriously practical upgrades. If you've been wrestling with concurrency boilerplate or data-race safety warnings, this release is for you.

IDN Media Mar 24, 2025

Using Remote Config with Property Wrappers in Swift

Timotius Leonardo Lianoto from IDN Engineering just solved a problem most iOS teams don't even realize they have: Remote Config is quietly eating memory and creating testing nightmares.

Posts on Reddit Mar 24, 2025

Can we talk about the current state of Xcode?

While web developers enjoy Claude integration and free Copilot, iOS developers are stuck with Xcode's basic code prediction. The tooling gap is getting embarrassing.

Careem Mar 22, 2025

How server-driven UI is revolutionizing mobile app experiences

Careem was losing weeks waiting for app releases just to update a banner. During Ramadan, when customer behavior shifts daily, that delay was killing their food business.

Wealthfront Mar 17, 2025

How 40 Lines of Code Sped Up iOS End to End Tests by over 50%

Wealthfront's iOS team cut E2E test time in half with just 40 lines of code. The culprit? A 1-second polling interval nobody questioned.

PickMe Mar 16, 2025

SecureStorage in Swift: A Safer Alternative to AppStorage

Kcrdissanayake from PickMe Engineering reveals why SwiftUI's AppStorage is a security risk for sensitive data. Their solution? A custom property wrapper that encrypts everything before it hits storage.

Skyscanner Mar 14, 2025

Skyscanner’s journey to effective observability

Skyscanner was drowning in observability chaos: multiple vendors, fragmented tools, and engineers losing confidence in their ability to debug production issues.

PickMe Mar 3, 2025

Revamping PickMe iOS App: From Objective-C to SwiftUI

PickMe rebuilt their entire iOS app from Objective-C to SwiftUI in just 6 months. Here's how a team that started with 1 developer scaled to 10 engineers and shipped a complete rewrite.

Callstack Feb 27, 2025

Exposing SwiftUI Views to React Native: An Integration Guide

Callstack reveals how to bridge SwiftUI's modern declarative views directly into React Native apps. This is the integration pattern brownfield teams have been waiting for.

Tinder Feb 27, 2025

How the Tinder iOS App reduced the size of our localizations by 95% using Emerge

Tinder ships their iOS app to 190+ countries in 50+ languages. That localization overhead was costing them 51MB of install size.

Square Feb 24, 2025

Mobile Payments SDK General Availability and Terminal API Features

Square just launched their Mobile Payments SDK to GA with a twist: your phone becomes the card reader. No external hardware required for contactless payments.

Callstack Feb 11, 2025

Profiling Native Code in React Native with Tracy

Profiling React Native apps just got a serious upgrade. Tracy, the real-time profiler that game developers swear by, now works seamlessly with React Native's native layer.

Pinterest Feb 11, 2025

The Quest to Understand Metric Movements

Your key metric just tanked 20%. Was it a code change? An OS update? A data pipeline bug? Pinterest built a platform to answer this question at scale.

Duolingo Feb 7, 2025

How we reduced manual regression tests by 70% using AI tools

Duolingo's QA team cut manual regression testing by 70% using AI. Here's how they made it work at scale.

Very Good Ventures Feb 4, 2025

10 Reasons To Choose Flutter for Your Mobile App

Very Good Ventures makes the case for Flutter with data that's hard to ignore: 93% developer satisfaction and 24% user growth in a single year. If you're evaluating cross-platform frameworks, this breakdown cut...

Swift.org Blog Feb 1, 2025

The Next Chapter in Swift Build Technologies

Owen Voorhees from Apple just dropped a bombshell: the build engine that powers millions of App Store apps is now open source. This changes everything for Swift developers working across platforms.

Wise Jan 29, 2025

Building 3D Animations in Mobile Apps

Yağız Gürgül from Wise Engineering reveals how they shipped interactive 3D animations in their mobile app—and crushed a 324 MB asset bundle down to just 3.7 MB. The secret? A clever web-based approach that deli...

React Native Blog Jan 21, 2025

React Native Version 0.77 Release

React Native 0.77 just dropped with over 1,061 commits from 161 contributors. The team is bringing web-standard CSS properties to mobile and making a bold move to Swift for iOS templates.

Posts on Reddit Jan 16, 2025

Is Swift dramatically better than React Native?

Swift vs React Native: the debate that never dies. But what does the data actually show?

Mercari Dec 24, 2024

Leading a project to migrate hundreds of screens to SwiftUI/Jetpack Compose from UIKit/AndroidView in Merpay

Merpay just migrated hundreds of payment screens to modern UI frameworks while keeping their app running in production. Here's how they managed a 2-year engineering transformation.

Meta Dec 18, 2024

How we think about Threads’ iOS performance

Meta's Threads hit 100M users in 5 days, then scaled to 300M monthly users. How did the iOS team keep performance from collapsing under hypergrowth?

Duolingo Dec 18, 2024

How we sped up Android and iOS builds by 68% on CI

Duolingo's engineers were stuck waiting 50 minutes for every CI build. That's hundreds of hours wasted every week across the team.

Coinbase Dec 18, 2024

Boosting App Performance: Strategies to Optimize Network Requests

Coinbase cut network requests by 64% during traffic spikes without degrading user experience. Here's how they engineered their way to massive scale.

Mercari Dec 14, 2024

Learnings About Swift Testing

Apple's Swift Testing framework is here, and Mercari's iOS team thinks it's a game-changer. If you're still on XCTest, here's what you're missing.

Lyft Dec 11, 2024

Integrating Extensions into Large-Scale iOS apps

Lyft's iOS team built an Apple Maps extension that lets users book rides without leaving Maps. But the initial version added 45MB to their app—nearly a quarter of Apple's 200MB cellular download limit.

Callstack Nov 28, 2024

Upgrading React Native in Brownfield Applications

Upgrading React Native in a brownfield app isn't just harder than a greenfield project. It's a completely different beast that most teams underestimate.

Discord Nov 27, 2024

Measuring Product Impact Without A/B Testing: How Discord Used the Synthetic Control Method for Voice Messages

Discord wanted to measure Voice Messages impact, but A/B testing would break the feature. Network effects meant users in control groups couldn't receive voice messages from treatment users.

Callstack Nov 25, 2024

Integrating React Native into Existing Applications

Callstack reveals how to add React Native to existing native apps without a full rewrite. This brownfield approach is changing how engineering teams think about cross-platform development.

Grab Nov 22, 2024

How We Reduced GrabX SDK Initialisation Time

Grab's SDK was taking 4 minutes to initialize with 400MB of config data. That's a cold start problem that kills autoscaling.

AVIV Group Nov 19, 2024

iOS 18: Apple's Translation API

activesludge breaks down iOS 18's Translation API with real-world demos that show how to eliminate copy-paste translation workflows. This is the most practical guide I've seen for implementing on-device transla...

Callstack Nov 18, 2024

Brownfield Development with React Native

Callstack reveals how brownfield React Native integration lets you modernize native apps without the dreaded full rewrite. This collection of insights shows exactly how companies like Shopify and Zalando pulled...

Very Good Ventures Nov 13, 2024

Flutter Myths: Clearing Up Common Misconceptions

Still think Flutter is too slow for production apps? Very Good Ventures just dismantled the 6 biggest myths holding teams back from adopting this cross-platform framework.

Duolingo Nov 8, 2024

How server-driven UI keeps our shop fresh

Duolingo ships UI changes in minutes, not weeks. Their server-driven UI system bypasses app store releases entirely.

Sentry Nov 4, 2024

Enabling Out Of The Box Performance Insights In The Unity SDK

Stefan Jandl from Sentry just cracked a tough problem: how do you auto-instrument performance monitoring in Unity games without asking developers to write a single line of code?

Grab Oct 30, 2024

How we reduced peak memory and CPU usage of the product configuration management SDK

Grab's configuration management SDK was crushing service performance with memory spikes and CPU throttling. 98% of services were loading 100x more data than they actually needed.

Callstack Oct 28, 2024

Enhance App Performance and Business with Real User Monitoring (RUM)

Real User Monitoring isn't just a performance tool. It's the bridge between what you think users experience and what actually happens in production.

Posts on Reddit Oct 23, 2024

SwiftUI or UIKit in 2024 & 2025?

SwiftUI or UIKit? The iOS dev community is split, and new grads are caught in the middle trying to figure out which framework will actually land them a job.

Posts on Medium Oct 22, 2024

How to use VSCode/Cursor for iOS development

What if you could ditch Xcode's sluggish editor and use VSCode/Cursor for iOS development? Turns out, you can build a surprisingly functional setup.

Mercado Libre Oct 9, 2024

Tales of Performance Engineering

Diego Parra from Mercado Libre's Performance Engineering team just shared how they slashed API response times by 60% with one strategic fix. The culprit? Regex compilations eating 40% of CPU cycles.

DoorDash Oct 1, 2024

Precision in Motion: Deep Learning for Smarter ETA Predictions

DoorDash handles 2 billion orders annually, and every ETA prediction matters. Their old tree-based models couldn't keep up with the complexity.

Sentry Sep 27, 2024

Mobile App Launch Profiling

Andrew McKnight from Sentry just solved one of mobile performance monitoring's biggest blind spots. Ever wondered what's actually happening in your app before main() even gets called?

Fullstory Sep 20, 2024

5 Mobile app optimization tips to enhance user engagement

Your mobile app's first impression isn't just important. It's everything. The Fullstory Team breaks down why most teams are optimizing blind, relying on assumptions instead of actual user behavior data.

Swift.org Blog Sep 17, 2024

Announcing Swift 6

Holly Borla from Apple's Swift Core Team announces Swift 6, bringing data-race safety from opt-in warnings to compiler-enforced guarantees. After a decade of development, Swift now targets embedded systems, ser...

Shopify Aug 23, 2024

Tophat: Crafting a Delightful Mobile Developer Experience

Shopify doubled developer productivity by turning the most tedious part of mobile development into a one-click experience.

IDN Media Aug 8, 2024

Best Practices for NotificationCenter Usage in Swift

Timotius Leonardo Lianoto from IDN Engineering admits he's not a fan of NotificationCenter—it's hard to trace, difficult to test, and can turn into spaghetti code. But he's built a protocol-based solution that ...

Just Eat Aug 7, 2024

Building VoiceOver-Friendly iOS Applications

Gennadii Tsypenko from Just Eat Takeaway reveals why VoiceOver accessibility often gets overlooked in iOS development—and shares the exact SwiftUI modifiers that fix it. Most teams skip this until it's too late...

IDN Media Aug 7, 2024

Integrating SwiftUI and UIKit Navigation: A Step-by-Step Guide

Bevan Christian from IDN Engineering tackles a problem every iOS team faces: how do you navigate between SwiftUI and UIKit without creating a maintenance nightmare?

Medium Jul 29, 2024

How the Medium iOS team works effectively with legacy code

Medium's iOS codebase is over 10 years old with code from 2013 still running in production. Instead of rewriting, they wear it as a badge of honor.

IDN Media Jul 26, 2024

Eliminating Pbxproj Conflicts with XcodeGen for iOS Project Management

Bevan Christian from IDN Media reveals how his team eliminated merge conflicts that plague every iOS team. Two weeks of sleepless nights resulted in a solution that transforms project management.

IDN Media Jul 24, 2024

Creating Custom UIButton Animations in Swift

Timotius Leonardo Lianoto from IDN Engineering tackles a common iOS pain point: UIButton animations feel lifeless compared to Android's satisfying touch feedback. His solution? A custom ripple effect that trans...

DoorDash Jul 15, 2024

App Health Through Metric-Aware Rollouts

DoorDash was shipping experiments that crashed their app and degraded performance for weeks before anyone could identify the cause. They built an automated system to catch issues before customers feel the pain.

Squarespace Jul 12, 2024

Unfold's Modern Mobile Release Process And The Subtle Art Of Making Them Boring

Alan Cooke from Squarespace reveals how Unfold turned chaotic mobile releases into boring background events. Boring is the goal, and here's why that's brilliant.

Thumbtack Jul 3, 2024

Swift Actor in Unit Tests

Abdul Moiz from Thumbtack reveals how Swift 6's concurrency checks broke their entire test suite. Their solution? A clever protocol-based pattern that makes actors mockable without sacrificing thread safety.

Zalando Jul 1, 2024

Custom Navigational Transitions in iOS

Zalando's iOS team tackled a deceptively hard problem: creating smooth screen transitions when the entire UI is driven by the backend.

Swift.org Blog Jul 1, 2024

Ready for Swift 6

Dave Verwer and Sven A. Schmidt from Swift Package Index reveal that 43% of Swift packages are already data race safe. The Swift 6 migration is happening faster than expected.

Medium Jul 1, 2024

Challenges of mixed SwiftUI and UIKit codebases in iOS Apps

Medium's iOS team has been wrestling with a codebase dating back to 2013. Migrating from UIKit to SwiftUI? It's messier than you think.

Skeelo Jun 13, 2024

Good Practices When Creating E2E Tests at Skeelo

Skeelo's QA team built a scalable E2E testing framework using Python + Appium. Here's the architecture that keeps their mobile tests maintainable as the app grows.

Skeelo Jun 11, 2024

How We Optimized Concurrency Using Node.js at Skeelo

Skeelo's engineering team achieved a 30% performance boost by rethinking one simple thing: when NOT to use await in Node.js.

Square Jun 6, 2024

What's New in the Mobile Payments SDK Beta

Square just launched the successor to their Reader SDK after 6 years, and KIOS was among the first to build with it. Their integration story reveals what's actually possible when payment SDKs are built for deve...

GitHub Jun 3, 2024

How GitHub reduced testing time for iOS apps with new runner features

GitHub's iOS team just cut their CI testing time by 60%. Here's how they did it with Apple Silicon runners and some smart architectural changes.

Zalando May 16, 2024

Transitioning to Appcraft: Evolution of Zalando’s Server-Driven UI Framework

Zalando powers 13 dynamic mobile pages without waiting for app store releases. Here's how they built a server-driven UI framework that ships changes same-day.

Revolut May 14, 2024

The Fundamentals of iOS Development at Revolut

Illia Kucheriavyi from Revolut reveals how 120+ iOS engineers ship weekly releases across 5 apps while maintaining 150,000+ automated tests. Their secret? A mono-repo with 160 shared modules and build times tha...

Airbnb May 7, 2024

Animations: Bringing the Host Passport to Life on iOS

Anne Lu from Airbnb reveals how her team built a 3D page-flipping animation that looks effortless but required solving novel iOS challenges. The Host Passport feature needed pixel-perfect timing across multiple...

Cash App May 1, 2024

Reducing the Size of Cash App for iOS

Cash App cut their iOS app size in half in one year. Here's the playbook they used to get from 245 MB to 126 MB downloads.

Uber Apr 23, 2024

DragonCrawl: Generative AI for High-Quality Mobile Testing

Uber's mobile testing was broken. Engineers spent 30-40% of their time maintaining test scripts that broke with every UI change. So they built an AI that tests apps like a human would.

Datadog Apr 18, 2024

iOS Performance Monitoring with Datadog

Yassir Ramdani and Austin Lai from Datadog built a custom SwiftUI graphing library that renders thousands of data points without lag. Here's how they debugged performance bottlenecks that most iOS developers ne...

Medium Apr 11, 2024

How to do pagination in SwiftUI

Medium's iOS team rebuilt their search feature in SwiftUI and needed infinite scroll. Here's the elegant pagination pattern they landed on after years of iteration.

Very Good Ventures Apr 10, 2024

Building AI-powered games with Gemini and Flutter

Very Good Ventures took the stage at Google Cloud Next 2024 to show how Flutter and Gemini are changing the game development playbook. Literally.

Swift.org Blog Apr 3, 2024

Get Started with Embedded Swift on ARM and RISC-V Microcontrollers

Swift just jumped from iOS apps to microcontrollers. The Swift team launched example projects showing how to write firmware for ARM and RISC-V chips using a new experimental compilation mode.

Lyft Apr 1, 2024

Crafting Seamless Journeys with Live Activities - Lyft

Lyft built Live Activities that update millions of users per week—but iOS sandboxing, 4KB payload limits, and image rendering nearly killed the project.

incident.io Mar 25, 2024

incident.io harnesses the power of native modules and CNG

Dan Kelly explores how incident.io shipped a production mobile app in months without hiring a single mobile engineer. Their secret? Leaning hard into Expo's 'golden path.'

Swift.org Blog Mar 20, 2024

Swift Performance Benchmarks

Joakim Hassila from Ordo One built a performance benchmarking tool that major Swift projects like Foundation, SwiftNIO, and SwiftPM are now using. If you're shipping Swift code without performance tests, you're...

Walmart Mar 8, 2024

Performance Measurement for Native Apps

Supriyo Mondal from Walmart reveals how they shaved 500-600ms off view rendering times by changing a single boolean flag. Sometimes the biggest performance wins come from the smallest tweaks.

Swift.org Blog Mar 7, 2024

Pack Iteration Performance in Swift

Sima Nerush from Apple's SwiftUI team just made working with Swift parameter packs dramatically simpler. What used to require error-throwing workarounds now fits in a clean for-in loop.

Duolingo Mar 1, 2024

How dogfooding helps us build a better Duolingo

Duolingo catches critical bugs before users ever see them. Their secret? 70% of employees actively use internal builds daily.

Walmart Feb 29, 2024

Mastering Page Load Time: iOS App Optimization Strategies

Pooja Krishna from Walmart Global Tech reveals why your iOS app's slow page loads are costing you users. The target? Under 2 seconds from tap to interactive content.

Cred Feb 12, 2024

Pareto Principle in Action: Boosting Performance with Smart Caching

CRED Engineering faced a nightmare: caching every query combination would require 45,768+ TB of storage. Here's how they got it down to 135 MB.

Callstack Feb 2, 2024

React Native Support for Apple Vision Pro Development

Callstack just brought React Native to Apple Vision Pro, opening spatial computing to JavaScript developers. This changes the game for cross-platform VR development.

Very Good Ventures Jan 22, 2024

Benefits of Flutter for Cross-Platform App Development

Still running separate iOS and Android teams in 2024? The economics of native development just stopped making sense. Here's why Flutter is quietly becoming the default choice for engineering leaders who need to...

Sentry Jan 17, 2024

How We Improved Performance Score Accuracy

Edward Gou from Sentry reveals why their performance scores were lying to developers. A single slow pageload could tank your entire app's score, even when 99% of users had fast experiences.

Very Good Ventures Jan 16, 2024

Learn About the Leading Multi-Platform Frameworks

Still running separate iOS and Android teams in 2024? VGV breaks down why Flutter and React Native are replacing the old playbook for multi-platform development.

Just Eat Jan 3, 2024

Scalable CI/CD Pipelines for iOS

Alberto De Bortoli from Just Eat Takeaway reveals how his team built a fully automated iOS CI system that supports 40+ developers with just 5 bare metal instances. No manual SSH. No weekend waste. Pure infrastr...

Swiggy Dec 19, 2023

Optimising the Swiggy Restaurant App

Swiggy's restaurant app was crashing under load. Their React Native app couldn't handle more than 100 orders on budget devices, and they needed to scale 10x.

Gojek Dec 8, 2023

Evolution of Bid Notifications to Courier

Gojek was sending 97-99% of driver bid notifications successfully. They rewrote the system and hit 99.9%+.

Reddit Dec 4, 2023

Reddit Recap: State of Mobile Platforms Edition (2023)

Reddit's mobile team just dropped their brutally honest take on iOS vs Android development in 2023. Spoiler: neither platform makes it easy.

Mercari Dec 4, 2023

Performance monitoring in Mercari mobile apps

Mercari rewrote their entire mobile app and faced a nightmare scenario: millions of users reporting the new version felt slower than the old one.

PhonePe Nov 29, 2023

Embracing SwiftUI: PhonePe's Journey Building ONDC-Powered Pincode

PhonePe's iOS team built their entire ONDC shopping app in SwiftUI when most considered it too risky for production. The result? 1M+ downloads and a blueprint for modern iOS development.

DoorDash Nov 28, 2023

How DoorDash Manages Mobile Releases

DoorDash ships a new iOS app version every single week. Here's how they coordinate testing, releases, and hotfixes across multiple teams without losing their minds.

DoorDash Nov 28, 2023

How DoorDash Manages Mobile Releases

Manolo Sañudo from DoorDash reveals how their iOS team ships weekly releases without breaking things. Spoiler: it's not about having more QA people.

Glance Nov 22, 2023

Distributed Job Scheduler: Zero to 20k Concurrent Jobs

Glance built a distributed job scheduler that went from zero to handling 20,000+ concurrent jobs. Here's how they did it with Redis and smart architecture.

IDN Media Nov 20, 2023

Optimizing UITableView Scrolling Performance with Prefetching

Bevan Christian from IDN Engineering tackles a problem every iOS dev knows: that janky scroll when images load in UITableView. His solution? iOS's built-in prefetching API that most developers overlook.

Flutter Blog Nov 15, 2023

Building Your Next Casual Game With Flutter

Zoey Fan from Google's Flutter team just dropped a major update to their Casual Games Toolkit—and it's packed with templates that could save you weeks of setup time. If you've been curious about Flutter for gam...

Swiggy Nov 14, 2023

Optimising Scrolling Performance with Litho

Swiggy's Android team was hitting scroll performance walls with traditional RecyclerViews. Their solution? Facebook's Litho framework, which delivered massive performance gains.

Thumbtack Nov 9, 2023

SwiftUI In Action: Prototyping An Interactive 3D Carousel Experience

Jesse Stauffer from Thumbtack built a stunning 3D carousel in SwiftUI—then convinced his team NOT to ship it. Here's why that prototype was still worth every line of code.

Swift.org Blog Nov 8, 2023

Swift 5.9 Backtraces and Debugging

Alastair Houghton from Apple's Swift runtime team just dropped a game-changer for debugging: Swift 5.9 now catches crashes and lets you inspect them interactively before your program dies.

DoorDash Nov 7, 2023

Leveraging Flink to Detect User Sessions and Engage DoorDash Consumers with Real-Time Notifications

DoorDash was sending cart abandonment notifications to users who were still actively browsing. The result? Annoying customers and missing conversion opportunities.

Just Eat Nov 7, 2023

Backend-Driven UI Architecture for Native iOS Apps

Andrea Scuderi from Just Eat reveals why backend-driven UI can be a double-edged sword. His team ships UI changes without app releases, but the testing complexity nearly broke their workflow.

Uber Nov 2, 2023

Real-Time Analytics for Mobile App Crashes using Apache Pinot

Uber deploys 11,000 code changes weekly. How do they catch crashes before users notice? They built Healthline, powered by Apache Pinot.

Spotify Nov 1, 2023

The What, Why, and How of Mastering App Size

Spotify's mobile apps generated 930+ petabytes of network traffic in 2022, equivalent to 65,000 tons of CO2 emissions. Their solution? A comprehensive app size management system that's both environmentally cons...

DoorDash Oct 24, 2023

Revamping Dasher FAQ Hub Through Server-Driven Content and WebView

DoorDash's team cracked a classic mobile dilemma: how do you push FAQ updates instantly without waiting weeks for app store approvals? Their solution cut deployment time from 2+ weeks to under 24 hours.

Gojek Oct 22, 2023

GoTransit: Unifying Our Mobility Products with Public Transportation

Gojek discovered that 11 of their top destinations in Jakarta weren't restaurants or malls. They were train stations and bus hubs.

Glance Oct 18, 2023

Scaling Glance Game Centre to Support 100 Million Daily Active Users

Glance Game Centre serves millions of daily users playing HTML5 games on their lock screens. Their leaderboard system hit a wall with a single-node MongoDB struggling under 1000 QPS.

Swiggy Oct 17, 2023

Media on Swiggy's Mobile Apps

Swiggy's mobile apps serve millions of users across wildly different devices and network conditions. How do you deliver high-quality images and videos without killing performance or burning through bandwidth co...

Cash App Oct 12, 2023

From 30 Minutes Down to 10: Taming our Monolith's CI Build Times

Cash App's monolith CI builds were taking 30 minutes at p50. Developers were stuck waiting through multiple build cycles just to get a green merge.

Instagram Oct 3, 2023

Making Direct Messages Reliable and Fast

Instagram DMs handle millions of messages per second. How do they make every send feel instant, even when your network drops mid-tap?

IDN Media Oct 3, 2023

GraphQL Integration with AWS Amplify in Swift for iOS

Bevan Christian from IDN Engineering just cut through months of AWS Amplify confusion. His approach skips 60% of the official setup steps while keeping full GraphQL power.

Swift.org Blog Sep 28, 2023

What's New in Swift 5.9 Debugging

Adrian Prantl, Augusto Noronha, and Dave Lee from Apple's Debugger Compiler Integration team just made debugging Swift apps significantly faster. If you're still using the old `p` and `po` commands the same way...

Airbnb Sep 21, 2023

Unlocking SwiftUI at Airbnb

Airbnb just replaced their entire iOS UI framework with SwiftUI. Here's how they pulled off a multi-million line codebase migration without breaking production.

Handshake Sep 21, 2023

Effortless iOS Snapshot Testing Using Emerge Tools

Handshake's iOS team just eliminated nearly 3,000 lines of testing and demo code. Their secret? Rethinking how they do snapshot testing.

Bumble Sep 20, 2023

Understanding Publishers in SwiftUI and Combine

Mike Pesate from Bumble breaks down Publishers in SwiftUI and Combine with real-world examples. If you're still confused about when to use CurrentValueSubject vs PassthroughSubject, this one's for you.

Swiggy Sep 19, 2023

Making Swiggy's Order Tracking a Magical Experience

Swiggy discovered customers were anxiously checking their order tracking screen multiple times during the 20-45 minute delivery window. Their solution? Let users track orders while doing literally anything else...

Slack Sep 12, 2023

Inside Slack: Overcoming Challenges to Craft a Seamless Mobile App

Slack's mobile team faces a unique challenge: users expect desktop-level performance while bouncing between subway tunnels and spotty cellular networks.

Amazon Sep 12, 2023

Why Mobile Application Performance Testing Is Key to App Success

Amazon's QA team just shared their playbook for mobile performance testing. Here's what separates apps that scale from those that crash.

Klarna Sep 7, 2023

Native End-to-End Testing for Mobile Apps

Joana Melo from Klarna turned a 6-month diversity program into company-wide impact by solving a pain point that had defeated multiple engineering teams before her.

Handshake Aug 25, 2023

GraphQL on iOS: How We Decided Against Apollo & Where We Went Next

Handshake chose NOT to use Apollo for GraphQL on iOS. Here's why that unconventional decision made perfect sense for their team.

Thumbtack Aug 16, 2023

Transitioning to SwiftUI

Daniel Roth from Thumbtack rebuilt their entire iOS component library from scratch in SwiftUI. The result? Faster builds, fewer bugs, and a development experience that finally lives up to the hype.

Swiggy Aug 15, 2023

Making Swiggy Buttery Smooth

Swiggy's iOS team cut their app launch time in half and reduced app size by 8MB. Here's how they did it.

IDN Media Aug 15, 2023

Improving iOS CI/CD Performance: Migrating from Azure to Codemagic

Bevan Christian from IDN Engineering cut iOS CI/CD time by 76.85% with one platform switch. Here's how a simple migration delivered results most teams only dream about.

Cash App Aug 9, 2023

Poko goes multiplatform

Drew Hamilton just took Poko, the Kotlin compiler plugin that generates equals/hashCode/toString, fully multiplatform. This solves a real API compatibility headache for library authors.

Glance Jul 20, 2023

Enhancing App Performance: A Practical Approach at Glance

Glance powers lockscreens for millions across India, Indonesia, Latin America, and Japan. Zero tolerance for lag when you're the first thing users see.

Lyft Jul 17, 2023

Being first to market with rideshare on CarPlay and Android Auto

Michael Ramdatt and the Lyft team reveal how they beat every competitor to launch the first rideshare app on CarPlay and Android Auto. The secret? Building their own mapping platform from scratch.

Meta Jul 17, 2023

Bringing HDR video to Reels

Meta just solved a problem most users never notice: making HDR video look great on billions of devices with wildly different capabilities.

Cash App Jul 12, 2023

Multiplatform image loading: Coil 3.0

Colin White reveals how Coil 3.0 is breaking free from Android to become truly multiplatform. The image loading library that powers countless Android apps is making a bold leap to iOS, web, and desktop.

Thumbtack Jul 12, 2023

Migrating to Apollo 1.0 for iOS

Scott Southerland from Thumbtack reveals how their iOS app hit a breaking point: 8-minute builds, mysterious crashes, and 80,000-line auto-generated files that finally stopped compiling altogether.

Swift.org Jul 10, 2023

Introducing Swift HTTP Types

Apple just open-sourced Swift HTTP Types, and it's about to change how iOS and server-side Swift developers handle HTTP. No more converting between URLRequest and SwiftNIO types.

Grab Jul 6, 2023

Preventing App Performance Degradation Due to Sudden Ride Demand Spikes

Grab's engineering team faced a brutal problem: rain in Southeast Asia would crash their entire ride-hailing system. When demand spiked locally, users everywhere suffered.

IDN Media Jul 4, 2023

Leveraging Alamofire Interceptors in iOS: A Real-World Case Study

Bevan Christian uncovered why users were mysteriously logged out of a major startup's iOS app for years. The culprit? A homegrown token refresh mechanism that created race conditions nobody noticed.

Flipkart Jun 28, 2023

Optimising Page Load Times in Flipkart Mobile App

Flipkart shaved 30% off page load times in their React Native app with 500M weekly visits. Here's how they did it without rewriting everything.

Meta Jun 22, 2023

Page not found - Engineering at Meta

Meta's Engineering blog just hit a 404. Sometimes even the biggest tech companies deal with broken links and content migrations.

Cash App Jun 21, 2023

Flow testing with Turbine

Cash App just open-sourced Turbine 1.0, solving one of the trickiest parts of Kotlin coroutines: testing Flows without the headache.

Swiggy Jun 20, 2023

Improving Video Cache Hits on Swiggy Apps

Swiggy was bleeding money on video bandwidth costs. The culprit? Videos being requested at 270px, 272px, 275px... you get the idea.

Glance Jun 15, 2023

Distributed Load Testing Using Locust

Glance's engineering team scaled their load testing from basic scripts to a full Kubernetes-powered distributed system. Here's how they did it with Locust.

IDN Media Jun 13, 2023

Determining Exact Photo Storage Size in Swift

Timotius Leonardo Lianoto from IDN Engineering discovered his iOS app was reporting 13 MB for a 2.8 MB photo. The culprit? A common mistake thousands of developers make when calculating image file sizes.

IDN Media Jun 11, 2023

On-Demand Resources for Lottie Animation Storage in Swift

Bevan Christian from IDN Engineering tackles a problem every mobile team faces: beautiful Lottie animations that bloat your app size. His solution? On-Demand Resources that cut initial download size while keepi...

IDN Media Jun 7, 2023

Advanced Lottie Animation Memory Management in iOS

Timotius Leonardo Lianoto from IDN Media discovered their livestream gift animations were silently eating memory with every play. Even following Lottie's official docs didn't prevent the leak.

Cash App Jun 6, 2023

Kotlin Multiplatform Money Formatter

Patrick Tyska and Terry Yiu from Cash App reveal how the same $1,000 needs to display four different ways across their app. Their solution? Kotlin Multiplatform to consolidate 10 separate money formatters into ...

Instagram Jun 6, 2023

Instant Feedback in iOS Engineering Workflows

Instagram engineers were losing hours every day waiting for code to compile. So they brought React Native's ⌘R instant refresh experience to native iOS.

DoorDash May 31, 2023

How DoorDash uses XcodeGen to eliminate project merge conflicts

Md Al Mamun and Michael Thole from DoorDash reveal how their 100+ engineer iOS team eliminated project merge conflicts entirely. The secret? A command-line tool that turns hours of painful XML debugging into se...

Datadog May 26, 2023

Network Latency Issues in Mobile Apps

Anatole Beuzon and Bowen Chen from Datadog turned what seemed like a simple deployment alert into a months-long debugging odyssey. What they uncovered reveals how deceptively complex network latency issues can ...

leboncoin May 24, 2023

Achieving Higher Test Coverage: Our Approach to UI Testing on iOS

Aliou Sarr from leboncoin reveals how shifting UI test ownership from QA to developers doubled their test count in under a year. The result? A 99.6% crash-free iOS app serving 28 million monthly users.

Swiggy May 23, 2023

How We Improved Testing Processes Using Ephemeral Environment

Swiggy was missing production deadlines because their UAT environments were constantly unstable or unavailable. Sound familiar?

Flutter May 18, 2023

The future of iOS development with Flutter

Leigha Jarett from Flutter reveals how Google's cross-platform framework is becoming a serious contender for iOS development. With over 1 million apps built and major players like BMW and WeChat on board, the i...

Robinhood May 15, 2023

How Server Driven UI is Helping Frontend Engineers Scale Impact

Robinhood was taking weeks and multiple engineers just to make minor UI tweaks. Their Server Driven UI platform cut that to hours with one engineer.

Airbnb May 10, 2023

Flexible Continuous Integration for iOS

Michael Bachand and Xianwen Chen from Airbnb rebuilt their entire iOS CI system—and cut maintenance time while running 10 million minutes of jobs quarterly. Here's how they ditched 300+ physical Macs for AWS in...

Flutter May 10, 2023

2023 Google Mobile Ads Updates for Flutter

Timothy Hoang from Google just dropped major updates to Flutter's mobile ads plugin. If you've been writing platform code just to customize native ads, that pain point is officially solved.

Uber Apr 20, 2023

Measuring Performance for iOS Apps | App Startup

Uber's iOS app startup metrics became 130% inflated overnight. The culprit? iOS 15's pre-warming feature broke their entire measurement system.

Meta Apr 11, 2023

Why xHE-AAC is being embraced at Meta

Meta serves billions of users with wildly inconsistent audio uploads. Their solution? A codec that adapts audio quality in real time without burning in compression.

Spotify Mar 31, 2023

Load Testing for 2022 Spotify Wrapped

Spotify Wrapped serves 150M+ users in a single morning. How do you load test for that kind of thundering herd?

Snapchat Mar 15, 2023

Lens Performance Toolkit

Snap's Lens Performance Toolkit has been sunset, but its replacement Mobile Monitor offers AR developers something better. Here's what changed and why it matters for your lens performance.

Snapchat Mar 15, 2023

Mobile Monitor

Snap's Lens Studio just gave AR developers a powerful weapon against performance issues. If your lenses are failing submission due to slow activation or low FPS, this tool is your answer.

Snapchat Mar 15, 2023

Mobile Lens Profiler: Case Study

Snap's engineering team just dropped a masterclass in mobile performance debugging. Ever wonder why your AR lens stutters on the first frame?

Snapchat Mar 15, 2023

Performance Optimization Guide

Snap's AR Lenses reach millions, but performance issues can kill engagement before users even see your creation. Here's how Snap ensures their AR experiences work across every device.

Lyft Mar 10, 2023

The Journey to Server Driven UI At Lyft Bikes and Scooters

Lyft Bikes & Scooters was drowning in complexity: 3 vehicle types, multiple markets, and endless switch statements. Their solution? Move the UI logic to the server.

Instagram Mar 7, 2023

App Modularization and Module Lazy Loading at Instagram and Beyond

Instagram's app was getting bloated. More engineers, more features, slower cold starts, and ballooning app size threatened the lean experience users loved.

Getir Mar 6, 2023

Building a Modern iOS Networking Library with Swift Concurrency

Emre Havan from Getir rebuilt their entire iOS networking stack from scratch. The result? A modern, async-first library that eliminated memory leaks and cut boilerplate code—but not without hitting some painful...

Gojek Feb 23, 2023

Building a Multi-Pipeline CI Setup for Running Automated Tests in GitLab

Gojek's engineering team cracked a common CI/CD headache: how do you run automated tests from a separate repo without creating pipeline chaos?

Swiggy Feb 21, 2023

Handling Multiple Caches in App

Swiggy's mobile team faced a common problem: juggling disk caches, LRU caches, and databases without creating a maintenance nightmare. Here's their elegant solution.

Meta Feb 6, 2023

The evolution of Facebook’s iOS app architecture

Meta's Facebook iOS app went from a 30-second launch time disaster to one of the most sophisticated mobile architectures in the world. Here's how they did it over 10 years.

DoorDash Jan 31, 2023

How We Reduced Our iOS App Launch Time by 60%

Filip Busic from DoorDash reveals how three targeted optimizations slashed iOS app launch time by 60%. The culprits? String operations, hashing strategies, and sneaky third-party framework initializers.

DoorDash Jan 31, 2023

How We Reduced Our iOS App Launch Time by 60%

DoorDash cut their iOS app launch time by 60%. Here's how they did it with three targeted optimizations that any mobile team can learn from.

Just Eat Jan 25, 2023

Migrating to Swift Package Manager

Victor Sarda from Just Eat Takeaway reveals how his team migrated a massive modularized iOS codebase from CocoaPods to Swift Package Manager without blocking a single developer. The secret? Supporting both depe...

Strava Jan 24, 2023

Striving for iOS App Performance

Strava's iOS app was slowing down as they scaled to 1 billion activities in 18 months. Their solution? A ruthless focus on "Time to Something Useful."

DoorDash Jan 18, 2023

How to Speed Up SwiftUI Development and Testing Using PreviewSnapshots

John Flanagan from DoorDash reveals how his team eliminated duplicate code between SwiftUI previews and snapshot tests. The solution? An open-source tool that cuts testing boilerplate to a single line.

Swiggy Jan 17, 2023

Video Stories and Caching Mechanism (iOS)

Swiggy's iOS team built Instagram-style video stories and saved 49GB of user data in just two weeks. Here's how they did it.

Posts on Reddit Jan 12, 2023

Why are app sizes so big now?

Bank of America's app is 448 MB. McDonald's is 251 MB. When did ordering fries require half a gigabyte?

Callstack Jan 11, 2023

Lottie vs Rive: Optimizing Mobile App Animation

Animations can make or break your app's performance. Choosing between Lottie and Rive isn't just about features: it's about understanding the tradeoffs that impact your users' experience.

Pinterest Jan 10, 2023

Build an end to end JSON logging system for clients apps

Liang Ma and Wei Zhu from Pinterest built a JSON logging system that catches production issues hours before traditional metrics even notice. Here's how they gave mobile teams real-time visibility into 300 billi...

Gojek Jan 5, 2023

GoTransit: Unifying Our Mobility Products with Public Transportation

The article link appears to be broken or unavailable. I cannot access the content about GoTransit's mobility integration.

Delivery Hero Dec 27, 2022

How to Stop Worrying About Image Freshness and Reduce the Image Network Traffic

Delivery Hero was burning through 9TB of image data daily. Their apps were sluggish, their network costs were astronomical, and users were waiting too long for images to load.

Strava Dec 20, 2022

Optimizing Testing for Server-Driven Mobile Development at Strava

Strava's Android team hit a wall: testing server-driven UI meant wrestling with Charles Proxy crashes, EOF errors, and 3-4 minute build times. An intern decided to fix it.

Swiggy Dec 20, 2022

Fan-tastic Search for Blazing Fast Results

Swiggy's search feature was a mess: 2,000+ lines in a single ViewModel, monolithic XML files, and performance issues. Time for a complete rewrite.

Swiggy Dec 13, 2022

Swiggy's iOS App Now Loads 12 Times Faster

Swiggy's iOS app was taking forever to launch. Their mobile team spent 3 months hunting down bottlenecks and achieved a 12x improvement in cold start time.

Reddit Dec 12, 2022

Reddit Recap: State of Mobile Platforms Edition (2022)

Reddit's mobile team just dropped their unfiltered take on iOS vs Android development in 2022. Spoiler: both platforms have some explaining to do.

Just Eat Dec 7, 2022

Scaling the Just Eat Help Centre on iOS

Andrea Scuderi from Just Eat reveals how his team tackled a 19,602-line legacy iOS module without a risky big-bang rewrite. Their 9-phase restructuring approach cut code by 23% while maintaining stability.

Sentry Dec 7, 2022

Mobile The Future Is Declarative

Lazar Nikolov explores why Android and iOS are finally catching up to React Native and Flutter. The shift to declarative UI is reshaping native mobile development.

Airbnb Dec 6, 2022

Announcing Lottie 4.0 for iOS

Airbnb just solved one of mobile animation's biggest performance problems. Lottie 4.0 eliminates the CPU overhead that was causing animations to drop frames and freeze.

Snapchat Nov 28, 2022

EfficientFormer: Vision Transformers at MobileNet Speed

Snap Research just proved that Vision Transformers can run as fast as MobileNet on actual mobile devices. Yes, really.

Swiggy Nov 22, 2022

Swiggy App on Diet

Swiggy slashed their Android app size by 22.6% in just one day. Here's how they did it without the usual complexity.

Strava Nov 15, 2022

Improving Auto Pause for Everyone

Strava's engineering team faced a deceptively hard problem: how do you automatically detect when a runner stops moving without draining their battery or showing the wrong pace?

Turo Nov 15, 2022

The New Gold Standard for iOS Releases: 99.99% Crash-Free

Turo's iOS team took their crash-free rate from 99% to 99.99% in just one year. Here's how a lean 5-engineer team achieved what most would consider impossible.

Klarna Nov 15, 2022

6 Lessons Learned from Optimizing the Performance of a Node.js Service

Klarna's A/B testing platform needed single-digit millisecond latency at 99.9%. Their Node.js service was spiking to seconds under load.

Cash App Nov 10, 2022

Announcing Multiplatform Paging

Veyndan Stuart from Cash App just open-sourced a solution to one of mobile development's most annoying problems: writing pagination logic twice for Android and iOS.

Uber Nov 3, 2022

Scaling Mobile Device Management

Uber's Client Platform Engineering team faced a massive challenge: rolling out MDM to 20,000+ employees across hundreds of global offices where standard Apple enrollment wouldn't work everywhere.

Spotify Nov 1, 2022

Strategies and Tools for Performing Migrations on Platform

Spotify migrated 2,200+ mobile components and moved their entire iOS/Android codebase to Bazel across 100+ squads. Here's how they survived the chaos.

Gojek Oct 20, 2022

Planting Trees One Ride at a Time

Gojek turned ride-hailing into climate action with a simple toggle. One developer said it best: 'For the first time in my life, writing code generated physical outputs.'

Grab Oct 20, 2022

Debugging High Latency in the Market Store

Grab's ML feature store went from 200ms to 2 second latency. The culprit? A single line of code in an async library.

Meetup Oct 18, 2022

How Meetup Scales Notification Queue Consumers

Meetup sends 8-10 million notifications daily. Their queue kept backing up, sending messages late or not at all.

Lyft Oct 17, 2022

Recovering from Crashes with Safe Mode

Lyft engineers faced a nightmare scenario: feature flags causing infinite crash loops on app launch, requiring emergency hotfixes and losing revenue. They built Safe Mode to break the cycle.

Slack Oct 12, 2022

Mobile Developer Experience at Slack

Slack's 8-person Mobile DevXp team saved $240K annually just by improving PR notifications. Most companies are massively underinvesting in developer experience.

Lyft Oct 12, 2022

Shift-Left iOS Testing with Focus Flows

Lyft's iOS tests were spending 93% of their time on steps that had nothing to do with what they were actually testing. Sound familiar?

Pinterest Oct 11, 2022

How Optimizing Memory Management with LMDB Boosted Performance on Our API Service

Pinterest's API team just freed up 4.5GB of memory per host with a clever database swap. The result? Fewer servers, happier users, and a masterclass in optimization.

Sentry Oct 6, 2022

Building A Performant iOS Profiler

Indragie Karunaratne from Sentry reveals how they built a production-ready iOS profiler that runs on millions of real user devices. Most profilers only work locally, but this one collects real-world performance...

Kasikornbank Sep 30, 2022

How to Create Dynamic Island and ActivityKit with Flutter

Amorn Apichattanakul from KBTG shows Flutter developers how to tap into iOS's Dynamic Island feature. Yes, you can build Live Activities in Flutter apps—here's the bridge you need.

Callstack Sep 21, 2022

App Performance Monitoring Strategies and Tools

Your app crashes in production and you have no idea why. Callstack breaks down the monitoring strategies that catch issues before your users do.

Expedia Sep 20, 2022

Async/Await in Swift: Modern Concurrency Patterns

Asukhija from Expedia Group shows how two simple keywords can eliminate callback hell in Swift. If you've ever drowned in nested closures, this is your lifeline.

Swiggy Sep 20, 2022

Consent Matters

Swiggy's Android team faced a UX dilemma: auto-reading OTPs felt magical to some users, creepy to others. How do you balance convenience with transparency?

Lyft Sep 13, 2022

Productionizing Envoy Mobile at Lyft

JP Simard from Lyft reveals how they replaced URLSession and OkHttp across all their mobile apps with a single networking library—and the results weren't what anyone expected.

Zomato Sep 13, 2022

How We Improved Our iOS App Compile Time by 99%

Zomato's iOS team was stuck waiting 80 seconds for every incremental build. That's developer productivity bleeding out in real-time.

DoorDash Sep 13, 2022

Adopting SwiftUI with a Bottom-Up Approach to Minimize Risk

DoorDash just proved SwiftUI is enterprise-ready. Their secret? Don't start with a rewrite.

Square Sep 12, 2022

First Annual Bazel iOS Con 2022

Jerry Marino and Square are bringing the Bazel iOS community together for the first time. If you're building iOS at scale, this conference agenda reveals where the ecosystem is heading.

iFood Aug 31, 2022

Building iFood's iOS Cart Experience

iFood's iOS team built a checkout system that handles 25+ feature plugins without turning into spaghetti code. Here's how they architected a platform that lets multiple teams ship independently.

Instawork Aug 23, 2022

How We Made Unit Testing Part of Our Engineering Culture

Instawork runs over 1 million tests daily in their CI pipeline. Here's how they made unit testing a core engineering practice, not an afterthought.

Swiggy Aug 23, 2022

Build Time Optimizations in Xcode

Swiggy's iOS team cut build times by 21% and saved developers hours of waiting. Here's their battle-tested playbook.

Revolut Aug 17, 2022

iOS Screen Navigation Engine at Revolut

Vincent Berihuete from Revolut reveals how they ditched traditional iOS navigation patterns for something far more powerful. Forget Coordinators—this is about building a custom navigation engine that eliminates...

Uber Aug 15, 2022

Building m.uber: Engineering a High-Performance Web App

Uber built a web app that loads in 3 seconds on 2G networks. Here's how they made it smaller than a typical image file.

Grab Aug 4, 2022

Performance Bottlenecks in Go Apps

Grab's engineering team discovered their Go apps were mysteriously throttling at 1.94 CPU cores but flying at 2 cores. The culprit? A sneaky interaction between Kubernetes VPA and GOMAXPROCS.

Gojek Aug 1, 2022

Introducing Skynet: Infrastructure as Code for Gojek

Gojek runs 15,000+ VMs across 250+ GCP projects serving millions of customers. How do they manage infrastructure at this scale without chaos?

DoorDash Jul 21, 2022

Programmatic Scrolling with SwiftUI ScrollView

Zoltan Lippai from DoorDash cracked a problem that stumped early SwiftUI adopters: how do you programmatically scroll when Apple didn't give you the tools? His team built their own solution for iOS 13.

Klarna Jul 19, 2022

How Removing Caching Improved Mobile Performance by 25%

Klarna's team removed their caching layer and saw a 25% performance boost. Wait, what?

Swiggy Jul 19, 2022

Automating Mobile Event Verification

Swiggy was drowning in analytics chaos. Thousands of events per session, scattered specs across docs, and manual verification eating up engineering time.

Coupang Jul 14, 2022

Improving the CI/CD pipeline for mobile app development

Johnson Li from Coupang reveals how migrating from Mac minis to AWS EC2 transformed their mobile CI/CD pipeline. Their team was drowning in 3,000+ daily builds with 1-hour wait times.

Swift.org Blog Jul 6, 2022

Swift Language Updates from WWDC22

Swift just got a massive upgrade. Feli Bernutz, Matthaus Woolard, and Natalia Panferova break down the Swift 5.6 and 5.7 releases that are reshaping how iOS teams write concurrent, type-safe code.

Tinder Jun 29, 2022

How Tinder Solves Complex Lottie Localizations with Server Driven UI

Tinder was manually creating 40+ localized Lottie animations for every campaign. Their solution? A clever architecture that reduced it to just one.

Very Good Ventures Jun 29, 2022

Build a Flutter app with Very Good CLI and Supabase

Very Good Ventures shows how to build a production-ready Flutter app with Supabase that achieves 100% test coverage. This isn't your typical Firebase clone tutorial.

Robinhood Jun 21, 2022

Removing 30% of our iOS crashes

Robinhood eliminated 30% of ALL iOS crashes by refactoring a single screen. That screen drove 30% of their revenue at the time.

Swift.org Jun 21, 2022

Exploring Swift: Property wrappers in the wild

Ting Becker and Paul Hudson curated the best property wrapper resources from the Swift community. If you're still writing boilerplate code in Swift, you're missing out on one of the language's most powerful fea...

Swiggy Jun 7, 2022

Advanced Techniques to Speed Up Compile Time in Xcode

Swiggy's iOS team was watching Xcode compile for minutes after single-line changes. They cut that time by 75%.

Mercado Libre Jun 7, 2022

Why Mobile Apps Performance Matters

Mercado Libre's mobile apps serve 4.5 billion active devices. A Galaxy A10 might take 5 seconds to load a screen—or just 1.67 seconds, depending on conditions.

Tokopedia May 30, 2022

Validating Social Media URLs in Swift

Alvin Matthew Pratama from Tokopedia tackles a deceptively complex problem: validating social media URLs when each platform has wildly different URL structures. Regex alone won't cut it.

LazyPay May 19, 2022

Faster media delivery to optimize app performance

LazyPay was serving unoptimized images directly from S3, killing app performance and burning bandwidth. Their migration to Cloudinary cut image sizes by 70%.

Robinhood May 17, 2022

How Server-Driven UI Is Helping Frontend Engineers Scale Impact

Robinhood was taking weeks and multiple engineers just to make simple UI changes. Their solution? Server-Driven UI that lets them ship to all platforms without app releases.

Uber May 15, 2022

Managing Deep Scope Hierarchies in Large Codebases

Uber rewrote their Android rider app in 2016 and made an architectural choice that most Android teams avoid: deeply nested dependency injection scopes.

Swiggy May 10, 2022

Mobile DevOps Journey: Accelerating iOS Development at Swiggy with Bitrise (Episode 2)

Swiggy's iOS team slashed build wait times by 80% and cut 8-10 minutes off every build. Here's the detailed playbook they used with Bitrise.

Etsy May 5, 2022

Improving the iOS Listing Screen with Generics

Etsy's iOS listing screen handles 16% of all app traffic. But after a decade, its monolithic architecture was slowing everything down.

Slack May 4, 2022

Scaling Slack’s Mobile Codebases: Modernization

Slack just wrapped a massive mobile refactor. The results? 68% of iOS and 92% of Android codebases modernized, with CI times slashed by over 60%.

Slack May 4, 2022

Scaling Slack’s Mobile Codebases: Modularization

Slack's mobile codebase was slowing teams down. Their solution? Break the monolith into hundreds of independent modules.

DoorDash May 3, 2022

How We Applied Client-Side Caching

DoorDash makes millions of ML predictions per second, but their Redis-based feature store was becoming a massive cost and scalability bottleneck. Could client-side caching be the answer?

Slack Apr 29, 2022

Continuous Load Testing

Slack's engineering team ran into a classic performance testing problem: spinning up load tests was so time-consuming that teams avoided doing it. Their solution? Never stop testing.

Medium Apr 26, 2022

Evolution of the Medium iOS app architecture

Medium's iOS team ditched their monolith for Swift packages and SwiftUI. A year later, they're shipping features faster than ever.

Swiggy Apr 26, 2022

Mobile DevOps Journey: Evolving Mobile Development at Swiggy (Episode 1)

Swiggy's mobile team was drowning in Jenkins bottlenecks. Build times were slow, machines crashed frequently, and manual interventions killed velocity.

Tokopedia Apr 19, 2022

Stop Wasting Time on Unit Testing: How Tokopedia Achieved 8X Faster Results | by Andrean Lay | Tokopedia Engineering | Medium

Tokopedia's iOS team was drowning in 30-minute unit test cycles with 65 developers fighting over 9 CI/CD machines. They cut that time by 8X.

Grab Apr 7, 2022

Profile-Guided Optimisation

Grab's engineering team just unlocked 30% memory savings and 38% storage reduction with a simple compiler flag. Here's how Profile-Guided Optimization (PGO) delivered massive gains with minimal code changes.

Grab Apr 1, 2022

How we improved our iOS CI infrastructure with observability tools

Grab's iOS team turned flaky CI tests into a 50% CPU reduction story. Their secret? Observability tools and some creative workarounds for Xcode 13.1's notorious Spotlight bug.

leboncoin Mar 30, 2022

Xcode Cloud Feedback from leboncoin

Pierre Abi-aad from leboncoin took Xcode Cloud for a test drive with a 28-developer iOS team. His verdict? Not ready for complex architectures, but Apple's onto something.

Swiggy Mar 29, 2022

Designing Swiggy to Be Truly Accessible (Episode 4)

Swiggy tackled mobile web accessibility and discovered that following W3C guidelines was just the starting point. The real challenge? Making a food delivery app work seamlessly for screen reader users.

Swift.org Blog Mar 24, 2022

Swift Async Algorithms

Tony Parker from Apple just dropped a game-changer for async Swift development. If you've been wrestling with time-based operations or multi-input streams, this new package solves problems you didn't know had e...

Tokopedia Mar 22, 2022

Query Hashing to Reduce GraphQL Payload Size

Tokopedia's mobile team was sending massive GraphQL queries with every API call. The network overhead was killing performance on slower connections.

Booking Mar 10, 2022

Measuring Mobile Apps Performance in Production

Booking.com discovered that standard performance monitoring tools from Apple, Google, and Firebase couldn't meet their needs. So they built their own—and just open-sourced it.

Robinhood Mar 8, 2022

Building a Thoughtful Scaling Framework for Engineering

Robinhood doubled their engineering team in a year while scaling to handle unpredictable market swings. Here's the framework that made it possible without breaking their systems or culture.

Swiggy Mar 8, 2022

Delivering a Million Downloads Every Week

Swiggy's Android team serves 1M+ downloads weekly with 52% of users updating within 5 days. That velocity could be a disaster without bulletproof automation.

Grammarly Mar 7, 2022

String Index Type Safety in Swift

Grammarly's iOS team discovered their text editing bugs weren't logic errors. They were using the wrong kind of integer.

Swiggy Feb 15, 2022

Designing the Swiggy App to Be Truly Accessible (Episode 3)

Swiggy made their food delivery app fully accessible for visually and physically challenged users. The result? A measurable increase in orders from users with disabilities.

Doist Feb 15, 2022

Continuous Deployment for iOS

Doist ships iOS updates weekly to production and daily to TestFlight. Here's how they automated their entire release pipeline.

Tokopedia Feb 15, 2022

Implementing iOS Collection View with Efficient Rendering Mechanism

Tokopedia's iOS team was crashing on UICollectionView batch updates. Their solution? Build a better abstraction inspired by Instagram and SwiftUI.

Individual Author Feb 2, 2022

Microapps architecture in Swift. Dependency Injection.

Majid Jabrayilov explores how microapps architecture can transform your Swift codebase from a monolith into modular, testable components. The secret? Getting dependency injection right from the start.

Swiggy Feb 1, 2022

Designing the Swiggy App to Be Truly Accessible (Episode 2)

Swiggy saw 5x growth in accessibility sessions after fixing one critical UX problem: their Android app treated screen reader users like robots, not humans.

Square Jan 27, 2022

Getting Square's iOS Build Ready for Apple Silicon with Bazel

Jerry Marino from Square reveals how they got their massive iOS codebase (1000+ modules) running on M1 Macs without waiting for every dependency to update. The clever workaround? Converting device binaries to r...

Individual Author Jan 26, 2022

Microapps architecture in Swift. Resources and localization.

Microapps architecture sounds great until you hit the resource bundling wall. Majid Jabrayilov tackles the messy reality of managing assets and localization across modular Swift apps.

Netflix Jan 24, 2022

Fixing Performance Regressions Before They Happen

Angus Croll from Netflix reveals how his team slashed false performance alerts by 90% while catching more real regressions. The secret? They stopped using static thresholds entirely.

Individual Author Jan 19, 2022

Microapps architecture in Swift. Feature modules.

Majid Jabrayilov explores how to break down monolithic iOS apps into independent, testable feature modules. The secret? Treating each feature as its own microapp.

Swiggy Jan 18, 2022

Designing the Swiggy App to Be Truly Accessible (Episode 1)

Swiggy ignored accessibility for years, effectively locking out millions of users with disabilities. A Change.org petition changed everything.

Slack Jan 12, 2022

Stabilize, Modularize, Modernize: Scaling Slack's Mobile Codebases

Tracy Stampfli and Bryan Stern reveal how Slack's mobile teams tackled crippling tech debt that was actively slowing product roadmaps. Their solution? A bold 6-month stabilization sprint that transformed both i...

GitHub Jan 12, 2022

How we ship GitHub Mobile every week

GitHub Mobile ships to production every single week with a tiny team. Their secret? Ruthless automation that turns a multi-day release process into a Saturday morning workflow.

Individual Author Jan 12, 2022

Microapps architecture in Swift. SPM basics.

Majid Jabrayilov explores how to break down monolithic iOS apps into modular microapps using Swift Package Manager. The secret? Treating features as independent products that can be developed and tested in isol...

Betterment Jan 4, 2022

Flutter Revitalized Our Codebase and Transformed Our Engineering Team

Sam Moore from Betterment shares how his team rewrote 85% of their mobile app in just over a year without disrupting users. The secret? A methodical approach to adopting Flutter that prioritized team buy-in ove...

Thumbtack Dec 22, 2021

Introducing Swift RunOnce

Daniel Roth from Thumbtack's iOS team just solved a problem every Swift developer has faced: ensuring code runs exactly once without the brittle boolean flags that break at scale.

Callstack Dec 20, 2021

Balancing Native and JavaScript Code in React Native

React Native's bridge can be your bottleneck or your superpower. Callstack explores the critical tradeoff between JavaScript flexibility and native performance that determines whether your app flies or crawls.

Snapchat Dec 17, 2021

Cross-Platform Messaging Experience

Snap rewrote their entire messaging system in C++ to solve a problem that plagues most mobile teams: platform inconsistency causing bugs and doubled engineering effort.

Tokopedia Dec 14, 2021

How We Revamped Tokopedia Play for iOS: So Fast & Productive

Tokopedia's iOS team rewrote their entire live streaming chat feature from scratch in record time. The reason? React Native couldn't handle the load during major promotions.

Airbnb Dec 13, 2021

Airbnb's Page Performance Score on iOS

Airbnb built a unified performance scoring system that works across all platforms. Here's how they instrumented it on iOS to track real user experience at scale.

Blibli.com Dec 5, 2021

Continuous Integration and Delivery for iOS

Jimmy Harijanto from Blibli.com shows how to stop manually building iOS releases in Xcode. His team automated the entire pipeline from code commit to TestFlight using open-source tools.

Nextdoor Dec 1, 2021

Nextdoor Notifications: Using ML to Keep Neighbors Informed

Karthik Jayasurya from Nextdoor reveals how they transformed notifications from random spam into personalized updates that neighbors actually want. The result? A 40% jump in engagement without sending more mess...

Shopify Nov 26, 2021

Building App Clips with React Native

Sebastian Ekström from Shopify built something that shouldn't exist: a React Native App Clip under 10MB. The Shop app itself is 51MB, and React Native isn't exactly known for being lightweight.

Reddit Nov 22, 2021

Mobile Developer Productivity at Reddit

Reddit's mobile team ships features 30% faster after overhauling their developer productivity infrastructure. Here's how they did it.

Airbnb Nov 18, 2021

Creating Airbnb's Page Performance Score

Airbnb ditched single-metric performance tracking and built something better. Here's how they unified web, iOS, and Android performance into one 0-100 score.

Tokopedia Nov 16, 2021

How Tokopedia Achieved 1000% Faster iOS Build Time

Tokopedia's iOS team turned 90-minute builds into 5 minutes. Yes, you read that right: a 1000% improvement.

Revolut Nov 16, 2021

Monitoring Performance of Screens in Your iOS App

Revolut's iOS team was drowning in vague performance reports. "This screen is laggy" became a detective hunt through Xcode Profiler with no clear starting point.

Spotify Nov 16, 2021

Introducing XCRemoteCache: The iOS Remote Caching Tool that Cut Our Clean Build Times by 70%

Spotify just open-sourced the tool that slashed their iOS build times by 70%. For teams drowning in long compile times, this is a game-changer.

Square Nov 4, 2021

Beyond Mobile First: Modern Mobile Development Strategy

Ryan O'Neill from Square reveals why 9 out of 10 mobile shoppers think their experience could be better. His team's solution? Stop thinking mobile-first and start thinking app-first.

Swift.org Blog Oct 28, 2021

Introducing Swift Distributed Actors

Swift is taking on distributed systems with the same elegance it brought to concurrency. The Swift team just open-sourced a complete cluster library for building distributed actor systems.

Lyft Oct 28, 2021

Mobile Performance @ Lyft

Lyft was serving 17.1M riders while their Android app launched 15-20% slower than competitors. Time to fix that.

Tokopedia Oct 19, 2021

How Do We Improve Our Most Important Page on iOS App

Tokopedia's homepage was crashing on millions of iOS devices. The culprit? React Native couldn't keep up with their scale.

Swift.org Blog Oct 13, 2021

Swift DocC Documentation Tool

Franklin Schrans from Apple's Swift-DocC team just announced something iOS developers have been waiting for: Swift-DocC is now open source and cross-platform. Documentation just got a serious upgrade.

Airbnb Oct 5, 2021

Designing for Productivity in a Large-Scale iOS Application

Airbnb's iOS codebase hit 1.5M lines of code with 75 engineers shipping weekly. Xcode was literally overheating their laptops.

Kasikornbank Oct 5, 2021

What if iOS Developers Want To Learn Flutter?

Amorn Apichattanakul, an iOS developer since the iPhone 3GS era, spent 1.8 years mastering Flutter and wishes someone had created a cheat sheet for the transition. So he built one himself.

Mercado Libre Sep 30, 2021

A Importância da Performance Para Apps Mobile

Victor Oliveira from Mercado Libre reveals a harsh truth: 53% of users uninstall apps due to performance issues. With 4.5 billion active Android and iOS devices worldwide, each performing differently, mobile pe...

Thumbtack Sep 29, 2021

Open Sourcing Thumbprint Native Design System

Mallika Potter and Kevin Beaulieu from Thumbtack reveal how they open-sourced their entire native design system—and the surprising technical challenges they had to solve first.

Grab Sep 23, 2021

Designing Resilient Systems Beyond Retries (Part 1: Rate Limiting)

Grab's engineering team learned the hard way: retries and circuit breakers aren't enough when you're running hundreds of microservices at scale.

Swift.org Blog Sep 20, 2021

Swift 5.5 Released

Ted Kremenek from Apple's Swift Core Team just dropped Swift 5.5, and it's the biggest language update in years. This release fundamentally changes how iOS developers write concurrent code.

Glovo Sep 20, 2021

Swift Code Linting and Formatting Best Practices

Cecília Saraiva from Glovo reveals how their 30+ iOS engineers maintain code consistency without the manual overhead. Spoiler: automation is doing the heavy lifting.

Doist Sep 15, 2021

Debugging the UI of Third-Party iOS Apps

Ever wonder how Twitter built their custom tab bar or how Reeder optimized their scroll performance? There's a way to peek under the hood.

Wise Sep 15, 2021

Implementing Diffable DataSource for Heterogeneous Items in iOS

Pattogató Bence from Wise Engineering tackles a problem every iOS dev faces: animating heterogeneous items in collection views without the usual headaches. His solution? A clever enum wrapper that makes UIColle...

Walmart Sep 14, 2021

Tech Modernization at scale — Blog Series

Walmart's engineering team learned the hard way: breaking up a monolith without fixing team structure just creates a distributed mess.

Revolut Sep 14, 2021

Improving Product Reliability by Imposing Constraints as a Part of CI/CD Process

Revolut built a system that automatically blocks code deployments based on security risk and bug count. Here's how they shifted security left without slowing down 165,000+ pull requests.

Shopify Sep 2, 2021

Kotlin-Style Copy Function For Swift Structs

Scott Birksted from Shopify tackles a frustrating gap between Kotlin and Swift: why can't Swift structs copy themselves as elegantly as Kotlin data classes?

React Native Blog Sep 1, 2021

Preparing Your App for iOS 15 and Android 12

New OS releases can break your app overnight. The React Native team shares critical changes in iOS 15 and Android 12 that could impact your users.

AWS Aug 31, 2021

Implementing caching for pipeline resolvers in AWS AppSync GraphQL APIs

Eric Robertson from AWS AppSync reveals how pipeline resolver caching slashed database requests by 99% for some customers. If your GraphQL API is hitting backend services too hard, this changes everything.

Square Aug 24, 2021

Kotlin Multiplatform: Shared Test Resources

Victoria Gonda from Square tackles a tricky KMP problem: Kotlin/Native doesn't support I/O, yet your shared tests need to read fixture files. Here's the workaround that makes it possible.

Grab Aug 19, 2021

Preventing Pipeline Calls from Crashing Redis Clusters

Grab lost 95% of ride bookings for a full minute when a single Redis slave node failed. Their highly available cluster with multiple replicas somehow became a single point of failure.

React Native Blog Aug 17, 2021

React Native 0.65 Release

React Native 0.65 just dropped with performance gains that'll make you rethink your mobile architecture. The Hermes engine upgrade alone is delivering 20-50% improvements on CPU-intensive workloads at Facebook.

Grab Aug 12, 2021

Project Bonsai

Grab's Android app had 4 million lines of code and was bleeding users. Google's research showed every 6MB increase costs 1% of conversions.

Revolut Jul 27, 2021

Best Practices for Unit Testing at Revolut

Revolut's iOS team ships weekly updates with minimal regression. Their secret? Making unit tests actually fun to write.

Microsoft Jul 20, 2021

Spotting Latency Regressions Ahead of Time at Teams Mobile

Microsoft Teams Mobile merges 50+ commits daily from 350+ developers. How do they catch performance regressions before users feel the pain?

Uber Jul 14, 2021

Carbon: Dual Binary Mobile App

Uber rewrote their entire driver app serving 3 million drivers. How do you ship that without breaking your business?

Airbnb Jun 29, 2021

A Deep Dive into Airbnb’s Server-Driven UI System

Airbnb ships features simultaneously across web, iOS, and Android without waiting for app store releases. Their secret? Server-driven UI.

Walmart Jun 22, 2021

ACF Automated Code Formation Engineering Excellence

Walmart's engineering team cut time-to-market for cloud self-service platforms from 26 weeks to under 2 weeks. Here's the framework that made it possible.

Tokopedia Jun 22, 2021

Getting Started with iOS App Modularization: Final Extraction and Micro-App

Tokopedia's iOS team just wrapped up their modularization tutorial series, and the final piece is a game-changer: micro apps that let you build only what you need.

Pinterest Jun 22, 2021

Trusting Metrics at Pinterest

Pinterest relies on data to drive decisions and ML models. But what happens when a metric as simple as Daily Active Users gets counted wrong?

Bumble Jun 18, 2021

Modularising the Badoo iOS app: dealing with knock-on effects

Alexander Kulabukhov from Bumble Tech reveals the hidden costs of iOS modularization that nobody warns you about. Spoiler: visualizing 50+ module dependencies looks like a tangled mess, and your CI will cry for...

Grab Jun 17, 2021

App Modularisation at Scale

Grab went from one monolithic mobile app to over 1,000 modules. Here's what they learned about scaling a superapp.

Just Eat Jun 16, 2021

iOS Monorepo CI/CD Pipelines

Alberto De Bortoli from Just Eat Takeaway reveals how they slashed their iOS CI complexity by consolidating dozens of module repos into one. The result? One PR instead of multiple, faster iteration, and smarter...

Flutter Blog Jun 14, 2021

Improving Platform Channel Performance in Flutter

Aaron Clarke from Google's Flutter team eliminated unnecessary memory copies in platform channels and achieved up to 52% performance gains. Here's how he debugged his way through Objective-C class clusters and ...

Medium Jun 8, 2021

How we build SwiftUI features in the Medium application

Medium's iOS team went all-in on SwiftUI for production features serving millions of users. Here's how they made it work in a legacy codebase.

Swift.org Blog Jun 7, 2021

Swift Package Collections

Tom Doron from the Swift Core Team just made package discovery way less painful. Swift 5.5 introduces Package Collections, turning endless search results into curated, trustworthy lists.

Grab Jun 3, 2021

Structured Logging: The Best Friend You'll Want When Things Go Wrong

Grab's logging bills were spiraling out of control. Their solution? A complete rethink of how they capture what happens in production.

Microsoft May 25, 2021

Scaling Mobile Development at Microsoft: Mental Model

Microsoft's mobile teams were drowning in duplicate code. Every app rebuilt the same file picker, calendar, and sharing experiences from scratch.

Flutter May 18, 2021

Announcing Flutter 2.2 at Google I/O 2021

Tim Sneath from Google reveals Flutter 2.2 just hit a major milestone: it's now the #1 cross-platform framework, powering 1 in 8 new Play Store apps. The momentum is undeniable.

Tokopedia May 18, 2021

Getting Started with iOS App Modularization: Extracting Catalog

Tokopedia's iOS team tackled a common scaling problem: how do you break apart a monolithic app without creating circular dependency chaos?

Medium May 12, 2021

Improving iOS Intangibles with Tactical

Medium's iOS team was scattered across product teams, causing their codebase and user experience to fragment. Their solution? A biweekly meeting format borrowed from holocracy that transformed how they ship.

BlaBlaCar May 12, 2021

Six iOS App Features Explained

Charlotte Martin and Victor Carmouze from BlaBlaCar reveal how small, often-overlooked iOS features can dramatically improve user experience. Most developers chase headline features while missing the details th...

Bumble Apr 28, 2021

Scaling iOS at Bumble (Part 3)

Bumble's iOS team hit a wall: dozens of engineers, hundreds of modules, and Xcode was buckling under the pressure. Sound familiar?

Swift.org Blog Apr 26, 2021

Swift 5.4 Released

Ted Kremenek from Apple's Swift Core Team just dropped Swift 5.4, and it's packed with performance wins that'll make your builds faster and your runtime leaner. This isn't just new syntax—it's measurable speed ...

Just Eat Apr 26, 2021

iOS Accessibility Best Practices

Adrian Russell from Just Eat Takeaway turned on Screen Curtain and tried to order food through his own app. What he discovered was shocking: over 100 accessibility failures making the app nearly impossible to u...

Expedia Apr 22, 2021

SwiftUI with UICollectionView

Kari Grooms from Expedia Group tackles a problem every iOS team faces: how do you start using SwiftUI when your app is built on UICollectionView? Her solution is clever, but comes with some surprising gotchas.

Callstack Apr 21, 2021

Hermes JavaScript Engine Performance on iOS

Callstack brings Hermes to iOS with React Native 0.64, ending Android's monopoly on this performance-focused JavaScript engine. The results challenge assumptions about cross-platform optimization.

Tokopedia Apr 20, 2021

Getting Started with iOS App Modularization: An Introduction

Tokopedia's iOS team faced a critical problem: their monolithic app took so long to build that it threatened their weekly release schedule.

Pinterest Apr 16, 2021

How We Reduced Pinterest’s iOS App Size by 30+% / 50MB

Pinterest slashed their iOS app size by 30% (50MB) and immediately saw install rates climb. The culprit? A sneaky localization bug multiplying files across app extensions.

Expedia Apr 15, 2021

Resizing Images In SwiftUI

Kari Grooms from Expedia Group's Vrbo team cracked one of SwiftUI's most frustrating puzzles: resizing images without distortion. What should be simple turns into a 10-step journey through modifier hell.

Callstack Apr 14, 2021

Bringing Hermes to iOS in React Native

Callstack just brought Hermes to iOS, and the performance gains are real. After years of Android exclusivity, React Native's lightweight JavaScript engine finally runs on Apple platforms.

Bumble Apr 14, 2021

Scaling iOS at Bumble (Part 2)

Bumble's iOS team migrated their entire codebase to Tuist in Q2 2023, choosing it over SPM and Bazel. Here's what happened after the dust settled.

Expedia Apr 8, 2021

Lessons in SwiftUI

Kari Grooms from Vrbo's iOS team discovered SwiftUI wasn't just a learning curve—it was a complete rethink of how to build mobile UIs. Her team's migration revealed surprising gotchas that most tutorials won't ...

DoorDash Apr 7, 2021

Optimizing OpenTelemetry's Span Processor for High Throughput and Low Latency

DoorDash's OpenTelemetry adoption hit a wall: 72% CPU utilization versus 56% without tracing. That's a costly tax for observability.

Swift.org Blog Apr 5, 2021

Swift Collections Library

Karoy Lorentey from Apple's Swift team just dropped three game-changing data structures that could make your Swift code faster and more reliable. Array and Dictionary aren't enough anymore.

OkCupid Apr 5, 2021

Migrating Your App to Swift Packages

Dmitri Fuerle from OkCupid reveals how their team cut clean build times to under a minute by modularizing their iOS codebase. The secret? Swift Package Manager in a monorepo setup.

Bumble Mar 31, 2021

Scaling iOS at Bumble (Part 1)

Bumble's iOS team faced a critical choice: which build system could handle hundreds of modules and future growth without crushing developer productivity?

Airbnb Mar 31, 2021

How We Enable Airbnb Team Members To Code Like A Mobile Engineer

Jaclyn Karnowski from Airbnb reveals how they transformed 45 engineers into mobile developers in just 14 days. The confidence shift? 15% to 90% ready to ship production code.

Slack Mar 24, 2021

Client Tracing: Understanding Mobile and Desktop Application Performance at Scale

"My app is slow" - every engineer's nightmare. Slack's mobile team was tired of hitting dead ends when debugging performance issues.

AWS Mar 23, 2021

CDN Caching Improvements for Better App Performance

AWS Amplify just shipped CDN caching improvements that delivered a 98% reduction in response times for static assets. Cookie handling was the culprit.

Bumble Mar 22, 2021

Modularising an iOS app: why and how we have been breaking Badoo app up into modules

Alexander Kulabukhov from Bumble reveals how his team scaled from a monolithic iOS app to 110+ modules across Badoo and Bumble. The journey wasn't just about splitting code—it was about building a sustainable p...

Cash App Mar 16, 2021

Investigating Crashes with Aardvark

Cash App open sourced a tool that solves one of iOS debugging's most frustrating problems: crashes that you can't reproduce locally.

Just Eat Mar 12, 2021

Implementing Doubly Linked Lists in Swift

Oleg Tsibulevskiy from Just Eat Takeaway breaks down why choosing the wrong data structure could be killing your iOS app's performance. Spoiler: Arrays aren't always the answer.

React Native Blog Mar 12, 2021

React Native 0.64 Release

React Native 0.64 just brought Hermes to iOS, and it's a game-changer for app performance. The team is finally closing the gap between Android and iOS optimization.

Pinterest Mar 10, 2021

How Pinterest Leverages Honeycomb to Enhance CI Observability and Improve CI Build Stability

Pinterest sends 1 million CI build events to Honeycomb daily. Here's how they turned that data into a competitive advantage for mobile development.

Walmart Mar 9, 2021

Improve Reliability with Observability Tracing in Your CI/CD Pipeline

Walmart's engineering team reveals how observability tracing transformed their CI/CD pipeline reliability. The secret? Treating data requests like package tracking.

DoorDash Mar 2, 2021

Multiple iOS Apps from a Single Codebase

David Phan from DoorDash reveals how they rebuilt two distinctly branded iOS apps from a single codebase after acquiring Caviar. The result? 90% shared code with completely different user experiences.

Lyft Mar 2, 2021

Announcing the Mobile Native Foundation

Keith Smiley from Lyft just announced something that could change how we all build mobile apps. Instead of every company rebuilding the same infrastructure in silos, major tech players are finally collaborating...

Uber Feb 26, 2021

How Uber Deals with Large iOS App Size

Uber's iOS app was bleeding users: every time it crossed Apple's download limit, they lost 10% of installations and 20% of first-time bookings.

Just Eat Feb 25, 2021

JSON Serialization Libraries Performance Comparison

Israel Abramov from Just Eat Takeaway tested 10 JSON serialization libraries across 8 scenarios. The results? Your default serializer might be costing you serious performance.

Tinder Feb 21, 2021

Tinder Swipe Animation in SwiftUI Tutorial

Gary Tokman shows how to build Tinder's signature swipe animation in SwiftUI—and it takes less than 10 minutes. No complex gesture handling, no hours of UIKit code, just declarative SwiftUI magic.

Pinterest Feb 18, 2021

How We Designed Our Continuous Integration System to Be More Than 50% Faster

Pinterest's Engineering Productivity team slashed CI build times by over 50% in one week. Here's the architecture that made it possible.

Expedia Feb 2, 2021

Solving Native Memory Leaks in Mobile Apps

Sid Rathi from Expedia Group debugged a production nightmare: KStream apps dying in an endless OOM loop. The culprit? A single unclosed iterator eating native memory.

Tokopedia Jan 14, 2021

Tokopedia iOS: Hello 2021, Rewind 2020

Samuel Edwin from Tokopedia reveals how his iOS team achieved a 10x build time reduction while shipping features that got them featured on the App Store. Despite 2020's challenges, they transformed their entire...

Snapchat Jan 6, 2021

Time to Camera Ready

Snap's engineering team obsesses over one metric: Time to Camera Ready. Miss the bear crossing the street because your app was too slow? That's exactly the problem they're solving.

Blibli.com Dec 18, 2020

Delegation Pattern in Swift

Williams Perdana from Blibli.com uses a CEO analogy to explain one of Swift's most powerful patterns. Just like a CEO delegates to department heads, your code can delegate responsibilities to keep things clean ...

Lyft Dec 17, 2020

Introducing Pulse: Envoy Mobile's stats library

Jingwei Hao from Lyft reveals how real-time stats APIs caught a production crash spike at 9:55am, enabling engineers to ship a hotfix before most users even noticed the problem.

Carousell Nov 20, 2020

Building iOS 14 Widgets for Carousell - Part 2

Jay Ang and Beemo Lee from Carousell's iOS team shipped their first iOS 14 widget in 2020. Their biggest challenge? Two singleton instances fighting each other across app targets.

Swift.org Blog Nov 19, 2020

SwiftNIO SSH Implementation

Cory Benfield from Apple's Cloud Services team just open-sourced SwiftNIO SSH, bringing programmatic SSH capabilities to Swift. Think libssh2, not openssh: this isn't a ready-made client, it's the building bloc...

Just Eat Nov 17, 2020

SwiftUI Stretchable Header View Implementation

Oleg Tsibulevskiy from Just Eat Takeaway shows how to build one of iOS's most popular UI effects with surprisingly little code. The stretchable header that zooms and stretches as users scroll? It's easier than ...

Nextdoor Nov 17, 2020

Our iOS CI/CD Journey At Nextdoor

Su Khai Koh from Nextdoor reveals why their team willingly accepted slower build times in exchange for something more valuable: stability and sanity.

Farfetch Nov 3, 2020

Mobile App Launch Performance

Gonçalo Alvarez from Farfetch drops a hard truth: 86% of users uninstall apps after one use due to poor performance. Your launch time might be costing you customers before they even see your product.

Farfetch Nov 3, 2020

Mobile App Launch Performance II

At Farfetch, a 0.1 second delay in warm app launch costs $4.2M annually. That's less time than it takes to blink.

Expedia Nov 3, 2020

Monitoring App Performance on iOS

Expedia's iOS team breaks down the complete performance monitoring toolkit every mobile team needs. Your users notice lag after just 300ms—here's how to stay ahead.

Carousell Oct 30, 2020

Building iOS 14 Widgets for Carousell - Part 1

Julia Maurer and Ha Pham from Carousell reveal how they shipped their iOS 14 widget in one sprint. Their secret? Starting with power users who open the app 300 times daily.

Lyft Oct 27, 2020

Decomposing network calls on the Lyft mobile apps

Lyft's mobile apps used to poll a single endpoint every 5 seconds for everything. That "Universal Object" became their biggest reliability nightmare.

Swift.org Blog Oct 21, 2020

Swift Service Discovery

Yim Lee from Apple's Swift team just open-sourced a game-changer for server-side Swift. If you're building microservices, this standardized approach to service discovery could save you from vendor lock-in.

Pinterest Oct 20, 2020

Pre-submit UI Tests at Pinterest

Pinterest's UI test suite was failing more than 50% of the time. Engineers were drowning in false positives, and tests had lost all credibility.

Swift.org Blog Oct 7, 2020

Swift Algorithms Library

Nate Cook from Apple's Swift team just dropped Swift Algorithms, an open-source package that could change how iOS developers write collection code. If you've ever written a gnarly nested loop to chunk data or f...

Revolut Oct 6, 2020

The Fundamentals of iOS Development at Revolut

Revolut ships 3 iOS apps weekly to millions of users. Their secret? A modular architecture that cut build times nearly in half and saves 400 engineering hours monthly.

Swift.org Blog Oct 1, 2020

Swift Atomics Library

Karoy Lorentey from Apple just dropped Swift Atomics, bringing C/C++ style low-level atomic operations directly into Swift. This changes the game for systems programmers who've been blocked from building concur...

Flutter Sep 30, 2020

Learning Flutter's new navigation and routing system

John Ryan from Flutter's team tackles one of mobile dev's messiest problems: navigation. But the solution might be more complex than the problem itself.

Swift.org Blog Sep 25, 2020

Swift System Library

Michael Ilseman from Apple's Swift team just open-sourced a library that turns error-prone C system calls into clean, type-safe Swift code. If you've ever wrestled with file descriptors and errno, this changes ...

GitHub Sep 23, 2020

GitHub Mobile and GraphQL

Hesham Salman from GitHub reveals how GraphQL eliminated over-fetching and let their mobile team ship features at warp speed. The secret? Letting the client define exactly what data it needs.

Uber Sep 18, 2020

New Rider App Architecture

Uber threw away years of code and rebuilt their rider app from scratch. Here's why that radical decision paid off.

Swift.org Blog Sep 16, 2020

Swift 5.3 Released

Holly Borla announces Swift 5.3 with performance gains that cut code size by 40% in some apps and slash heap memory to under 1/3 of previous usage. These aren't incremental improvements.

Walmart Sep 15, 2020

5 Minute DevOps Effective Testing

Walmart's DevOps team has a bold claim: if you're not testing during development, you're risking the business. Here's why your testing strategy might be fundamentally broken.

Airbnb Sep 8, 2020

Motion Engineering at Scale

Airbnb was shipping hundreds of features, but custom animations were getting cut due to complexity. Their solution? A declarative framework that reduced transition code from hundreds of lines to just a few.

Slack Aug 28, 2020

Tracing at Slack: Thinking in Causal Graphs

Slack processes 8.5 billion spans daily, but their tracing system looks nothing like traditional distributed tracing. Here's why they rebuilt it from scratch.

Cash App Aug 19, 2020

Wire Support For Swift, Part 1

Eric Firestone and Jake Wharton from Square just brought Wire's protocol buffer compiler to Swift, and their opinionated approach throws out some sacred cows. Why build yet another proto compiler when Google al...

Airbnb Aug 11, 2020

Lottie and Swift at Airbnb

Airbnb rewrote their massively popular Lottie animation library from scratch in Swift. Here's why they chose a complete rewrite over incremental updates.

Spotify Jul 22, 2020

Leveraging Mobile Infrastructure with Data-Driven Decisions

Spotify's mobile infrastructure team turned build time chaos into predictable performance. Their secret? Making every engineer a data scientist.

React Native Blog Jul 17, 2020

React Native Core Principles and Best Practices

The React Native team at Facebook just pulled back the curtain on how they decide what to build next. Spoiler: cross-platform consistency isn't their top priority.

Farfetch Jul 16, 2020

App Size Matters II

What if I told you a single 15MB increase in your app size could cost your business $1M annually? Farfetch's mobile team did the math, and the numbers are eye-opening.

Farfetch Jul 16, 2020

App Size Matters I

Gonçalo Alvarez from Farfetch drops a hard truth: your bloated app is costing you users, installs, and market share. Here's why app size is a business problem, not just an engineering one.

Dropbox Jul 15, 2020

How We Ensure Credible Analytics on Dropbox Mobile Apps

Marianna Budnikova from Dropbox reveals why your mobile analytics are probably lying to you. And it's costing you two weeks every time you get it wrong.

Swift.org Blog Jul 15, 2020

Swift Service Lifecycle

Tom Doron from Apple's Swift team just open-sourced a solution to one of server development's most error-prone challenges: managing startup and shutdown sequences safely.

React Native Blog Jul 6, 2020

React Native 0.63 Release

React Native just fixed the two biggest complaints from mobile teams: cryptic error messages and interactions that scream 'this isn't a native app.'

Slack Jun 29, 2020

Making Slack Faster By Being Lazy

Slack cut load times by 65% for large teams by doing less work, not more. Their secret? Strategic laziness.

Slack Jun 29, 2020

Making Slack Faster By Being Lazy: Part 2

Slack's desktop client was grinding to a halt as teams scaled. The culprit? An over-reliance on browser LocalStorage that seemed smart at first.

Microsoft Jun 23, 2020

App Size Reduction at Microsoft SwiftKey

Microsoft SwiftKey slashed their Android app size by 50% and boosted install conversions. Here's the playbook they used to get there.

Freeletics Jun 22, 2020

iOS Data Tracking with CoreData

Emre Havan from Freeletics ditched third-party analytics SDKs and built a custom tracking system using CoreData. The result? Full control over batching, performance, and data flow without external dependencies.

Badoo Jun 11, 2020

Using Hopper to Investigate an iOS Bug

Alexander Nikishin from Bumble's engineering team cracked open iOS 13's binary code with a disassembler to find a bug Apple couldn't fix for 8 months. What he discovered was a single misplaced bit in a keyboard...

Signal Jun 9, 2020

Your next upgrade deserves an upgrade

Signal just solved one of iOS's most frustrating problems: losing your encrypted message history when you upgrade devices. imperiopolis walks through how they built a secure, local device-to-device transfer tha...

Spotify May 28, 2020

Spotify Modernizes Client-Side Architecture to Accelerate Service on All Devices

Spotify lifted the 10,000 Liked Songs limit. But that simple feature request triggered a year-long architecture overhaul affecting 100,000 lines of code.

Grammarly May 26, 2020

Bringing the Best of SwiftUI to Our Team's UIKit Code

Victor Pavlychko from Grammarly tackles the challenge every iOS team faces: loving SwiftUI's elegance but being stuck with years of UIKit code. His solution? Reverse engineer SwiftUI's best features into their ...

Cash App May 20, 2020

Making iOS Accessibility Testing Easy

Cash App's engineering team just open-sourced their solution to one of iOS development's most frustrating problems: testing accessibility without the manual grind.

Spotify May 1, 2020

How We Gave Superpowers to Our macOS CI

Spotify cut iOS pre-merge CI times by 75% with one infrastructure change. Here's how they validated and scaled their approach.

OkCupid Apr 27, 2020

Choosing Between SwiftUI and UIKit

Joel from OkCupid's engineering team built the same login flow twice—once in SwiftUI, once in UIKit—to support millions of users across iOS versions. Here's what he learned about making them coexist.

Adobe Apr 7, 2020

Bank of America Amps Up In-App Experiences

Bank of America cut their mobile app response time in half. Here's how they did it with a simple API consolidation strategy.

React Native Blog Mar 26, 2020

React Native 0.62 Release

React Native 0.62 just shipped with Flipper debugging built in by default. This release fundamentally changes how mobile developers debug cross-platform apps.

Tokopedia Mar 24, 2020

Understanding the aspects of iOS App Launch Time | by Ravi Aggarwal | Medium

First impressions matter. For iOS apps, that means every millisecond between tap and first screen counts.

Mercari Mar 24, 2020

One Approach to Monitoring iOS Application Performance

Mercari's iOS team needed to monitor performance without building an entire infrastructure team. Here's how they did it in under a week.

Pinterest Mar 15, 2020

How a One-line Change Decreased Our Build Times by 99%

Pinterest found a single tweak that slashed their build times by a jaw-dropping 99%.

Gojek Mar 15, 2020

Reducing Our Build Time by 50%

Gojek's iOS team was bleeding 11 minutes per build. 100 engineers, 350 daily CI pipelines, and a productivity crisis that demanded action.

Thumbtack Feb 28, 2020

Building A Native Design System For iOS

Kevin Beaulieu from Thumbtack reveals how they built an iOS design system that balances strict consistency with real-world flexibility. The secret? Making standard usage effortless while keeping customization p...

Swift.org Blog Feb 27, 2020

Argument Parser Library for Swift

Nate Cook from Apple's Swift team just made building command-line tools in Swift genuinely enjoyable. The new ArgumentParser library turns 50 lines of code into a fully-featured CLI with subcommands, validation...

Netflix Feb 5, 2020

Bringing AV1 Streaming to Netflix Members’ TVs | by Netflix Technology Blog | Netflix TechBlog

Netflix just brought AV1 streaming to TVs, marking a major milestone for the royalty-free codec. The result? Measurably better streaming for millions of members.

Cash App Jan 23, 2020

Improving Animations on iOS with Stagehand

Cash App just open-sourced Stagehand, their solution to a problem that's plagued iOS developers since 2008: building animations shouldn't feel like archaeology.

Lyft Jan 21, 2020

Lyft's Journey Through Mobile Networking

Michael Rebello from Lyft reveals how they scaled from hand-written APIs to a unified networking architecture serving 500+ endpoints. The journey involved killing technical debt, slashing payload sizes by 50%, ...

Grab Dec 26, 2019

Journey to a Faster Everyday Super App: Where Every Millisecond Counts

Grab reduced their super app's startup time by 60% while shipping dozens of new features. Here's how they saved users 59,582 hours per day.

Grab Dec 26, 2019

Journey to a Faster Everyday Super App

Grab cut app startup time by 60% while shipping dozens of new features. Here's how they did it without compromising velocity.

AWS Nov 21, 2019

Improving GraphQL API performance and consistency with AWS AppSync Caching and DynamoDB Transactions support

AWS just shipped two features that solve opposite problems: making GraphQL APIs blazing fast and keeping DynamoDB writes bulletproof. Here's how they change the game for mobile backends.

React Native Blog Nov 18, 2019

React Native Doctor Diagnostic Tool

How much time does your team waste debugging React Native environment setup? The React Native Community just shipped a solution that auto-fixes your dev environment issues.

React Native Blog Sep 18, 2019

React Native 0.61 Release

React Native's hot reloading was so broken that most developers just turned it off. The 0.61 release completely reimagined it from scratch.

Dropbox Aug 14, 2019

The Not-So-Hidden Cost of Sharing Code Between iOS and Android

Eyal Guthmann from Dropbox shares a hard truth: writing code once in C++ cost them more than writing it twice in native languages. Here's why their cross-platform strategy backfired.

Uber Jul 25, 2019

Introducing Nanoscope: An Extremely Accurate Method Tracing Tool for Android Development

Uber's Android team hit a wall: their profiling tools were either too slow or too inaccurate to debug real performance issues.

React Native Blog Jul 17, 2019

Hermes JavaScript Engine for React Native

Facebook just open-sourced Hermes, a JavaScript engine built specifically for React Native on Android. This isn't just another optimization tweak. It's a ground-up rethink of how JS should run on mobile.

Revolut Jul 17, 2019

Interactive 3D Cards for Revolut iOS App

Igor Dudenkov from Revolut reveals how they built interactive 3D metal cards in iOS—without touching OpenGL or Metal frameworks. The secret? Apple's high-level SceneKit framework that made photorealistic card r...

React Native Blog Jul 3, 2019

React Native Version 0.60 Release

React Native 0.60 just dropped with changes so significant, they're calling it a migration milestone. If you're still manually linking native modules, this changes everything.

ClassPass Jun 25, 2019

Creating a Fluid Scroll Experience on iOS

ClassPass engineers faced a deceptively simple challenge: build an Apple Maps-style draggable list. The first attempt looked perfect—until users tried the continuous scroll.

Freeletics Jun 3, 2019

iOS GPS Testing and Location Services

Trevor Phillips from Freeletics built a comprehensive GPS testing framework that improved location accuracy from 7% error down to 1.68%. Here's how they systematically validated every improvement.

Callstack Jun 3, 2019

Handling Multiple Native iOS Views in React Native

Callstack tackles a common React Native challenge: managing multiple native iOS views without the usual headaches. This 2019 piece still holds valuable lessons for teams bridging native and JavaScript code.

Connected2.me May 29, 2019

A Swift Journey Episode 2: Handling Silent Notifications

Arinc Elhan from Connected2.me breaks down silent push notifications in iOS, and there's more to them than just background data delivery. Apple throttles them aggressively, and most developers don't know the li...

Shopify May 17, 2019

Mobile Release Engineering at Scale: ShipIt Mobile

Alejandro Rodriguez Salamanca from Shopify reveals how manual mobile releases were killing their velocity. The solution? A platform that cut release cycles from 3 weeks to 1 week.

LINE May 14, 2019

iOS Code Signing Best Practices

Minyoung Sim from LINE breaks down iOS code signing in forensic detail, revealing how Apple's security mechanism validates every app before execution. This isn't your typical overview.

Uber May 14, 2019

Employing QUIC Protocol to Optimize Uber’s App Performance

Uber operates across 600+ cities on 4,500+ mobile carriers. Their HTTP/2 stack was failing users in lossy wireless networks.

Square Apr 22, 2019

Developing on iOS and Android

Jesse Wilson from Square tackles a problem every mobile team knows too well: building everything twice. His solution? Stop treating iOS and Android as separate worlds.

SoundCloud Apr 3, 2019

Quality Assurance and Testing for Mobile Applications

Julio Zynger from SoundCloud reveals how they ship mobile releases every two weeks without breaking things. Their secret? A release train model that turns chaos into predictability.

Walmart Apr 2, 2019

Implementing Infinite Scrolling Efficiently

Phong Lam from Walmart Global Tech tackles a problem every mobile dev faces: infinite scroll that doesn't tank performance. His solution? Stop rendering everything and start being strategic.

Uber Apr 2, 2019

Measuring Kotlin Build Performance

Uber ran 129 experiments across 354 projects to answer one question: What's the real cost of adopting Kotlin at scale?

AWS Mar 14, 2019

Amplify Framework adds authentication features and enhancements for iOS and Android Mobile SDKs

AWS Amplify just made mobile authentication dramatically simpler. Device tracking, OAuth 2.0, and SAML federation now work out of the box for iOS and Android developers.

React Native Blog Mar 12, 2019

React Native 0.59 Release

React Native 0.59 just dropped with the biggest Android performance upgrade in years. If your app still feels sluggish compared to iOS, this changes everything.

Carousell Mar 4, 2019

Building a Dynamic UI System at Carousell (Part 1)

Siaw Young from Carousell reveals how they built a system that lets them update thousands of product categories without pushing app updates. The secret? A cross-platform markup language that operates at a highe...

Carousell Feb 26, 2019

Building a Dynamic UI System at Carousell (Part 2)

Siaw Young from Carousell reveals how they built a server-driven UI system that lets them ship features without app releases. Think HTML for mobile apps—but way more powerful.

Connected2.me Jan 28, 2019

A Swift Journey Episode 1: Generic Protocols in Action

Engin Deniz Usta from Connected2me shows how generic protocols can eliminate boilerplate code that iOS developers write dozens of times per project. No more casting, no more repetitive XIB and Storyboard initia...

Pinterest Jan 25, 2019

Introducing Inclusive Beauty Searches for Mobile

Pinterest just shipped a feature that 60% of their top beauty searches were literally asking for. Yanis Markin walks through how they combined ML with inclusive design to solve it.

Badoo Jan 17, 2019

Server-Provided Animations in iOS Apps

Valerii Che from Badoo solved a problem every mobile team dreads: waiting days for App Store approval just to update animations. His solution? Move them to the server.

Badoo Jan 17, 2019

Server-Provided Animations in iOS Apps

Valerii Che from Bumble solved a problem every mobile team faces: how do you ship new animations without waiting days for App Store approval? His solution decouples design updates from release cycles entirely.

Shopify Jan 15, 2019

iOS Application Testing Strategies at Shopify

Shopify's iOS team ships hundreds of commits weekly to a monorepo. Their testing strategy keeps quality high without slowing down velocity.

Skyscanner Jan 7, 2019

iOS CI, supercharged

Péter Adam Wiesner from Skyscanner reveals how his team slashed iOS CI queue times from 80 minutes to just 7 minutes. The secret? A private Mac cloud that scaled their build capacity 2.5x without sacrificing sp...

Uber Jan 1, 2019

Engineering Uber Lite

Uber's main app hit 60MB and struggled on older Android devices in emerging markets. So they built something radically different.

Netflix Dec 13, 2018

Performance comparison of video coding standards: an adaptive streaming perspective

Joel Sole and the Netflix encoding team reveal why codec comparison studies often contradict each other—and how they're fixing the problem. Their findings challenge conventional wisdom about H.264, H.265, and V...

Badoo Dec 12, 2018

Bundling C Library in Swift Framework

Lem from Bumble's engineering team tackles a tricky iOS challenge: how do you bundle legacy C libraries into modern Swift frameworks without breaking portability? The common approaches fail when you need to shi...

Bumble Dec 12, 2018

Bundling C Library in Swift Framework

lem from Bumble Tech tackles a tricky iOS challenge: how do you bundle legacy C libraries into modern Swift frameworks without breaking portability?

SoundCloud Nov 23, 2018

Integration Testing for Memory Leaks

Matthew Healy from SoundCloud reveals how a single integration test can catch memory leaks across an entire VIPER module. Unit tests alone won't save you from the sneaky leaks hiding in object interactions.

Skyscanner Nov 20, 2018

Hate to Wait: How Skyscanner Used Module Caching to Cut App Build Speed in Half

Skyscanner's iOS developers were waiting hours for builds to complete. Their CI/CD team cut that time in half with a clever caching strategy.

Netflix Nov 13, 2018

Consistent Caching Mechanism in Titus Gateway

Netflix's Titus container platform hit a wall: their singleton leader couldn't handle the API query load. Here's how they scaled horizontally without breaking consistency guarantees.

Airbnb Oct 30, 2018

Introducing AloeStackView for iOS

Marli Oshlack from Airbnb reveals how they slashed iOS screen development time from weeks to hours. The secret? Rethinking the entire approach to UI layout.

Uber Oct 1, 2018

Why We Decided to Rewrite Uber's Driver App

Uber rewrote their entire driver app with hundreds of engineers over 18 months. Joel Spolsky once called rewrites 'the single worst strategic mistake' a software company can make.

Badoo Sep 20, 2018

How We Tested iOS 12 Beta

Kateryna Sprynsian from Bumble's QA team shares a hard truth: when iOS 12 dropped, 60% of their users updated within weeks. Were they ready?

Bumble Sep 20, 2018

Testing iOS 12 Beta

Kateryna Sprynsian from Bumble Tech shares a hard truth: when iOS 12 launched, 60% of their users updated within 8 weeks. Were they ready? Here's how they avoided disaster.

Monzo Sep 18, 2018

iOS App Performance

Monzo's iOS app got 60% slower over time, and their team structure was partly to blame. Here's how they fixed it and prevented it from happening again.

Shopify Sep 11, 2018

Mobile Tophatting at Shopify

Pedro Piñera from Shopify reveals how they turned a 15-minute context switch into a single command. No QA team? No problem when developers can test each other's work this fast.

Discord Sep 10, 2018

How Discord Handles Two and Half Million Concurrent Voice Users Using WebRTC

Discord handles 2.6 million concurrent voice users with just 850 servers across 13 regions. Here's how they built a custom WebRTC architecture that scales.

Badoo Sep 4, 2018

Implementing Scalable UI in iOS: Better, Faster Performance

Alexis Santos from Bumble reveals how his team transformed iOS UI development from chaotic to scalable. The secret? A custom framework that cut compilation time and eliminated code duplication.

leboncoin Sep 3, 2018

What Feature Team Structure Has Changed for iOS Team at leboncoin

Amandine Cousin from leboncoin reveals how their iOS team of 9 developers ships features continuously on a single branch. No release branches, no merge chaos, just one button deploys.

React Native Blog Aug 27, 2018

WKWebView Integration in React Native

React Native just made a critical infrastructure shift that every iOS developer needs to know about. Apple's deprecation of UIWebView forced the framework to completely rebuild its WebView implementation.

Badoo Aug 23, 2018

Universal Links for Android and iOS

Konstantin Yakushev from Bumble Tech reveals the brutal truth about universal links: Apple and Google's 'simple' solution is riddled with undocumented bugs that break user experience in shocking ways.

Bumble Aug 23, 2018

Universal Links for Android and iOS

Konstantin Yakushev from Bumble reveals the brutal truth about universal links: Apple and Google's 'simple' solution is riddled with undocumented bugs that break user experience. Here's how Badoo's team catalog...

Hootsuite Aug 21, 2018

Developing Reusable Components for iOS

Tobias Carryer from Hootsuite built a reusable iOS framework during his summer internship—a sliding drawer component inspired by Apple Maps. Here's how he turned it into a production-ready, testable framework t...

Bumble Aug 15, 2018

Guide to Mobile App Autotesting Tools

Arseny Batyrov from Badoo's QA team built the mobile testing guide he couldn't find anywhere else. After combing the internet for tool comparisons and finding nothing comprehensive, he created this definitive b...

Badoo Aug 15, 2018

Guide to Mobile App Autotesting Tools

Arseny Batyrov from Badoo's QA team built the mobile testing guide he couldn't find anywhere else. His comprehensive breakdown of autotesting tools reveals which ones actually matter in 2018.

Badoo Aug 1, 2018

iOS UI Development in Badoo

Valerii Che from Badoo's iOS team reveals why they ditched Storyboards and XIBs entirely. Their code-first approach handles weekly feature releases without breaking existing functionality.

Bumble Aug 1, 2018

iOS UI Development Best Practices

Valerii Che from Bumble's engineering team reveals why they ditched Storyboards entirely. Their code-first approach handles weekly feature releases without breaking existing functionality.

Slack Jul 31, 2018

Unified Cross-Platform Performance Metrics

Slack's engineering team faced a classic scale problem: three platforms, three definitions of 'app launch,' and zero ability to compare performance meaningfully.

Skyscanner Jul 17, 2018

3 Techniques We Used to Improve Skyscanner for iOS Performance

Skyscanner's iOS team discovered their app was lagging on nearly half their user base. The culprit? Testing only on high-end devices.

Badoo Jul 4, 2018

Split Testing (A/B Testing) with Swift

Alexander shows how a simple A/B test doubled in-app currency purchases from 2% to 4% at Badoo. Here's how to build the same testing framework in Swift.

Badoo Jul 4, 2018

Split Testing (A/B Testing) with Swift

Alexander from Bumble's engineering team built a client-side A/B testing framework in Swift that takes just 1-2 minutes to implement per new test. No server infrastructure required—just protocols, generics, and...

BlaBlaCar Jun 21, 2018

RxSwift Observable Loading State Management

Martin Moizard from BlaBlaCar tackles a common RxSwift pain point: how do you elegantly track loading states without breaking reactive programming principles?

Google Play Jun 17, 2018

A New Era of Launching Mobile Games

Emily Putze from Google Play reveals why your mobile game launch strategy is probably outdated. The old playbook that worked in 2014's gold rush era is now a recipe for expensive failure.

Zalando Jun 11, 2018

Loading Time Matters

Zalando proved that every 100ms of loading time equals real money: a 0.7% revenue lift per session. When 75% of your traffic is mobile, milliseconds become millions.

Teamweek May 15, 2018

Improved Mobile Performance

Teamweek just made a bold move: they killed their native mobile apps. Instead of maintaining separate iOS and Android codebases, they bet everything on a mobile-optimized web experience.

LinkedIn Apr 20, 2018

The Mobile Crash Reporting Pipeline at LinkedIn

LinkedIn processes massive volumes of mobile crash data to keep their app stable for millions of users. Here's how they built the pipeline.

Badoo Apr 16, 2018

Swift 4.1 Introduction of CompactMap

Muhammad Shuaib Khan from Bumble Tech explains why Swift 4.1 killed off a popular method that was secretly breaking code. The culprit? A function that worked too well in the wrong places.

Bumble Apr 16, 2018

Swift 4.1: Introduction of CompactMap

Muhammad Shuaib Khan from Bumble Tech explains why Swift 4.1 killed off a popular method. The culprit? A naming confusion that was breaking code in subtle, dangerous ways.

Square Apr 12, 2018

A Massively Multi-User Datastore Synced with Mobile Clients

Tad Book from Square reveals how they built a datastore that handles massive merchant catalogs while keeping mobile devices in sync, even when offline for days. The secret? An append-only architecture that make...

React Native Blog Mar 22, 2018

Building Input Accessory View For React Native

After three years and countless '+1s' on GitHub, React Native finally solved one of iOS development's most requested features. Here's how the team built InputAccessoryView from scratch.

LINE Mar 13, 2018

Using Docker to build a testing infrastructure for web UI and mobile

LINE Engineering ditched expensive cloud testing services and built their own Docker-based infrastructure. The result? Flexible, cost-effective testing for both web and mobile.

Freeletics Feb 5, 2018

Automating Mobile App Localization

Dmytro Khmelenko reveals how Freeletics turned localization from a bottleneck into a fully automated pipeline. The results? Measurable revenue spikes in newly localized markets and zero manual translation work.

React Native Blog Jan 18, 2018

Implementing Twitter's App Loading Animation In React Native

Ever wonder how Twitter's delightful logo-to-app loading animation actually works? Eli White reverse-engineered it and the solution is counterintuitive.

Bumble Dec 19, 2017

Screen Navigation in iOS

Bohdan Orlov tackles one of iOS development's messiest problems: screen navigation that's actually testable and maintainable. Most apps get this wrong from day one.

Badoo Dec 19, 2017

Screen Navigation in iOS

Bohdan Orlov from Bumble Tech tackles one of iOS development's messiest problems: navigation architecture that doesn't turn into spaghetti code. Most apps handle screen transitions the same way Apple demos them...

Etsy Dec 11, 2017

VIPER Architecture on iOS at Etsy

Michael MacDougall from Etsy reveals how they tackled iOS architecture chaos with VIPER. The overhead was brutal, but the consistency payoff changed everything.

BlaBlaCar Dec 6, 2017

Building a Reusable Component Library on iOS

Michael Caylus from BlaBlaCar reveals how his iOS team built a component library that cut development time and unified their UI across 117 screens. The secret? Treating UI components like Lego bricks.

Badoo Dec 5, 2017

Singleton, Service Locator and Tests in iOS

Bohdan Orlov from Bumble Tech tackles one of iOS development's most controversial debates: are Singletons and Service Locators actually anti-patterns, or just misunderstood tools?

Badoo Dec 5, 2017

Singleton Service Locator Pattern and Testing in iOS

Bohdan Orlov tackles one of iOS development's most controversial debates: when Singletons and Service Locators are actually useful (and when they'll wreck your test suite).

Bumble Oct 26, 2017

UIKit Best Practices and Tips

Bohdan Orlov from Bumble challenges a core assumption in iOS development: what if fighting UIKit is the real problem? His team's approach cuts boilerplate while keeping code maintainable.

Google Oct 18, 2017

The future of multi-modal interfaces

Meta has been quietly building the foundation for interfaces that understand speech, vision, touch, and text simultaneously. The future of mobile isn't single-mode anymore.

Meta Oct 18, 2017

Efficient and healthy background data prefetching at Instagram

Instagram's background prefetching could easily drain batteries and waste data. Here's how they built a system that's both fast and responsible.

Skyscanner Sep 28, 2017

Testing React Native iOS Bridges

Szabolcs Tóth from Skyscanner reveals how they solved a critical testing gap when integrating React Native into their Objective-C iOS app. Their solution transformed flaky, hard-to-debug bridge tests into a rel...

BlaBlaCar Sep 27, 2017

RxSwift MVVM Architecture Pattern

Martin Moizard from BlaBlaCar reveals a critical MVVM pitfall that breaks when you switch from simple views to UITableViews. The culprit? How you feed inputs to your ViewModels.

Revolut Sep 25, 2017

How to Extract Analytics Data from Your iOS Application

Arsen Gasparyan from Revolut breaks down how to build an analytics system that's actually testable. Most teams bolt on tracking as an afterthought—here's the protocol-oriented approach that scales.

BBC Sep 8, 2017

Mobile Apps: iPlayer Tech On The Move

Ross Harper from BBC's iPlayer team reveals how they ship to 45+ million downloads across thousands of device variants. Their secret? A shared codebase that builds two distinct products.

React Native Blog Aug 7, 2017

React Native Performance In Marketplace

Facebook cut React Native Time to Interaction in half on low-end Android devices. The secret? They stopped trusting their testing tools and went straight to production data.

Badoo Aug 1, 2017

Mind Maps for Fast and Effective Testing

Kateryna Sprynsian from Bumble's iOS team ditched traditional test cases for something faster. With weekly releases shipping multiple features, her team needed a testing approach that could actually keep up.

Badoo Jul 12, 2017

Importing Adobe After Effects Animations into iOS Apps

Radoslaw Cieciwa from Bumble reveals why their gorgeous After Effects loading animation nearly killed iOS performance. Spoiler: trim paths and CPU rendering were the culprits.

Strava Jul 11, 2017

Strava Mobile App Versions

Jeff Remer from Strava explains why their mobile app jumped from version 5.14 to 14.0 in just four months. Spoiler: it wasn't feature bloat.

Zynga Jul 5, 2017

Zynga Geo Proxy: Reducing Mobile Game Latency

Sergey Skachkov and Ajinkya Apte from Zynga cut mobile game latency in half for global players. Their geo proxy solution turned frustrated users into retained ones.

Badoo Jul 4, 2017

Integrating React Native in an Existing Application

Guillermo Orellana from Bumble's tech team walks through the real-world pain of integrating React Native into an existing Android app. Spoiler: the official docs won't save you.

Airbnb Jul 1, 2017

Building Mixed Language iOS Projects with Buck

Brian Zhang from Airbnb's Mobile Developer Infra team cracked a problem that seemed impossible: getting Buck to build mixed Swift and Objective-C iOS projects. The payoff? 50% faster CI builds and 30% smaller a...

Pinterest Jun 23, 2017

iOS Linting at Pinterest

Michael Schneider from Pinterest built a custom linting system that catches iOS code issues at compile time, not code review. The secret? Clang plugins that hook directly into the compiler's AST.

Zalando May 10, 2017

Detecting List Items Observed by User

Zalando's engineering team faced a tricky challenge: how do you know if a user actually *saw* an item in a scrolling list, not just flew past it?

LinkedIn May 4, 2017

Mobile Crash Reporting at LinkedIn

LinkedIn built their own crash reporting system instead of using third-party tools. Here's why that decision paid off.

Airbnb May 1, 2017

Messaging Sync: Scaling Mobile Messaging at Airbnb

Zhiyao Wang and the Airbnb team tackled a massive problem: their mobile inbox was loading like a 2001 webmail client. With 100k+ messages per hour, every tap meant a network request, killing UX on slow connecti...

Shopify Apr 13, 2017

Building a Dynamic Mobile CI System

Shopify slashed their mobile CI deploy times from 2.5 hours to 15 minutes. Here's how they built a system that scales horizontally without breaking a sweat.

Zalando Apr 12, 2017

Improving Swift Compilation Times from 12 to 2 Minutes

Zalando's iOS team was bleeding 12 minutes per build. That's not just annoying, it's expensive.

Atlassian Mar 16, 2017

iOS Internationalization: Handling Plurals

Lou Franco from Atlassian admits he spent decades writing plural-unfriendly strings because Brian Kernighan tricked him. Now, scaling Trello to 21 languages forced him to confront a hard truth: English pluraliz...

React Native Blog Mar 13, 2017

Better List Views

React Native just killed ListView. The new list components solve memory leaks, stale rows, and ignored bugs that plagued mobile developers for years.

X (formerly Twitter) Mar 1, 2017

Introducing Twitter Image Pipeline iOS Framework For Open Source

Twitter open sourced their iOS image pipeline after hitting a breaking point: 2GB caches, corrupted images, and no way to clear data when users logged out. Here's how they rebuilt it from scratch.

Uber Mar 1, 2017

iOS Monorepo

Uber scaled from a dozen iOS engineers to hundreds in just a few years. Their tooling nearly collapsed under the weight.

Bumble Feb 23, 2017

Code Signing and Distributing Swift Applications

The Badoo iOS team learned the hard way: adopting Swift in 2015 meant navigating undocumented code signing nightmares that crashed enterprise apps at runtime. Here's what broke and how they fixed it.

React Native Blog Feb 14, 2017

Using Native Driver For Animated

Your React Native animations are probably running on the wrong thread. Here's how one config flag can eliminate frame drops when JavaScript gets blocked.

Badoo Feb 13, 2017

Mobile App Testing Tips and Tricks

Alexander Khozya from Bumble's mobile QA team shares battle-tested strategies that caught critical bugs before millions of users did. His team's approach to testing saved them from costly re-submissions and use...

Klarna Jan 12, 2017

Four Load Testing Mistakes Developers Love to Make

Klarna Engineering found that developers' optimism about their own code creates predictable load testing blind spots. Here are the four mistakes that keep biting teams before Black Friday.

Bumble Dec 12, 2016

iOS Location Tracking Implementation

Bohdan Orlov from Bumble reveals why iOS location tracking is way harder than most PMs think. Spoiler: you can't just set a timer and call it a day.

React Native Blog Dec 5, 2016

Easier Upgrades

React Native upgrades used to be a nightmare of merge conflicts and lost changes. The React Native team just changed that with a clever Git-based solution.

Uber Dec 1, 2016

Engineering the Architecture Behind Uber’s New Rider App

Uber completely rewrote their rider app from scratch. Here's why they threw away years of code and started over.

Etsy Nov 4, 2016

Crashcan: Building a Better Mobile Crash Analytics Platform

Etsy built Crashcan, their own mobile crash analytics layer on top of a third-party provider. Why not just use the vendor's dashboard?

React Native Blog Oct 25, 2016

React Native 0.36: Headless JS, Keyboard API, and More

React Native 0.36 just dropped with game-changing background task support. If you've been waiting to run JavaScript while your app sleeps, this is your moment.

Atlassian Sep 14, 2016

iOS Internationalization: Designing for Translators

Lou Franco from Atlassian learned the hard way: internationalizing Trello's iOS app wasn't just about code. The translation files themselves became a critical UX layer that could make or break the entire locali...

Instacart Sep 12, 2016

Offline First: Introducing TrueTime for Swift and Android

Instacart shoppers were losing minutes in grocery store dead zones. The culprit? You can't trust device clocks when every second counts.

Allegro Aug 9, 2016

The iOS Bug Chase

An Allegro engineer spent weeks hunting a MapKit bug so elusive it disappeared and reappeared randomly across devices. The investigation went from Swift code to assembly to a conversation in San Francisco.

Twitch Aug 8, 2016

Improving Chat Rendering Performance

Twitch was dropping frames like crazy. Chat messages were taking 200ms to render when they had just 16.667ms to work with for smooth 60fps video.

Thumbtack Aug 2, 2016

Adopting Swift: Migrating to Frameworks on iOS

Felipe Cypriano from Thumbtack reveals how migrating iOS apps to frameworks nearly derailed their Swift adoption—until they discovered a clever workaround for binary dependencies.

Zalando Jul 15, 2016

Dynamic App Content: An Introduction to Truly Native Apps

Zalando faced an impossible triangle: daily content updates, premium native UX, and distributed teams without native experience. Their solution? Server-driven UI before it was cool.

Meta Jul 13, 2016

The Mobile Device Lab at the Prineville Data Center

Facebook built a 2,000-device testing lab inside a data center. The journey from tangled cables to custom EMI racks is a masterclass in scaling mobile performance testing.

Zalando Jul 7, 2016

Proper Use of CellForRowAtIndexPath and WillDisplayCell

Zalando's iOS team challenges a widely-cited performance myth about UITableView that's been misleading developers for years.

Slack Jul 5, 2016

Getting to Slack Faster with Incremental Boot

Slack was making 4.2 million users wait through loading screens every single day. Time to fix that.

Cloudflare Jun 7, 2016

Supporting The Transition To IPv6-Only Networking Services For iOS

Dragos Bogdan from Cloudflare tackles Apple's 2016 bombshell: all iOS apps must support IPv6-only networking. Here's why most developers were caught off guard by a protocol that's been around since 1998.

Meta Apr 13, 2016

Automatic memory leak detection on iOS

Meta tackled one of iOS development's most painful problems: memory leaks that crash apps and kill performance. They automated the entire detection process.

Meta Apr 13, 2016

React Native: A Year in Review

Martin Konicek reveals how a 2013 hackathon project became a framework that changed mobile development forever. One year after open-sourcing, React Native hit 30,000 GitHub stars and attracted 650+ contributors...

React Native Blog Apr 13, 2016

React Native: A Year in Review

One year after open sourcing React Native, Facebook dropped a bombshell at F8: Microsoft and Samsung are bringing the framework to Windows, Xbox, and SmartTVs. The mobile-first framework just became platform-ag...

LinkedIn Apr 7, 2016

3x3: iOS Build Speed and Stability

LinkedIn's iOS team set an audacious goal: ship to production three times daily, with just three hours from commit to release. Here's how they actually pulled it off.

React Native Blog Mar 28, 2016

Dive Into React Native Performance

The React Native team made their app startup twice as fast. Here's how they tackled one of mobile's most critical performance challenges.

React Native Blog Mar 24, 2016

Introducing Hot Reloading

React Native just solved one of mobile development's most frustrating problems: losing your app state every time you make a code change. Their new Hot Reloading feature keeps your app running while injecting up...

Skyscanner Feb 24, 2016

Failing Fast with Reliable and Actionable System-Level Tests

Skyscanner's test suite had a 99% pass rate. Sounds great, right? Wrong. Those false failures were costing hours of productivity and masking real production issues.

Skyscanner Feb 23, 2016

Solving the Problem of One Billion Computations

Skyscanner needed to store 1.6 billion weights to rank hotel prices. Their in-memory approach couldn't scale, so they turned to AWS.

Skyscanner Feb 9, 2016

Transitioning From Objective C to Swift in 4 Steps

Gergely Orosz from Skyscanner reveals how his team went from 0% to 100% Swift adoption in just 8 months—without rewriting a single line of working Objective-C code. Here's their battle-tested playbook.

LinkedIn Feb 3, 2016

3x3: Speeding Up Mobile Releases

LinkedIn went from monthly releases to shipping mobile code 3x per day. Here's how they automated their way out of a month-long release cycle.

Quora Feb 1, 2016

Mobile A/B Testing at Quora

Tommy MacWilliam from Quora reveals how they A/B test mobile UX without waiting weeks for App Store approval. The secret? A hybrid architecture that lets them iterate at web speed.

React Native Blog Nov 23, 2015

Making React Native Apps Accessible

Facebook's Ads Manager app demonstrates how React Native's Accessibility API makes mobile apps usable for everyone, including people with vision loss. Here's how they built it.

Meta Nov 20, 2015

Optimizing Facebook for iOS start time

Meta's iOS team achieved multi-second improvements in Facebook app startup by rethinking when work actually needs to happen.

Squarespace Nov 1, 2015

Functional Reactive Programming On Mobile: A Rosetta Stone

Nick Tinsley from Squarespace shows how the same reactive programming patterns work across iOS, Android, and React Native. Think Excel formulas, but for your entire mobile app.

Meta Aug 24, 2015

Reducing FOOMs in the Facebook iOS app

Meta's iOS team faced a silent killer: crashes that left no trace, no stack trace, no clue. Just frustrated users and a mystery to solve.

Pinterest Jul 10, 2015

Discover Pinterest Mobile Engineering and Design

Pinterest engineers rebuilt their mobile onboarding experience and saw engagement metrics jump across the board. With 80% of users on mobile, they had to get this right.

Hootsuite Apr 24, 2015

Swift Guild

Taylor Ledingham from Hootsuite reveals how their iOS team mastered Swift in just 90 minutes per week. When Apple dropped a completely new language in 2014, most developers panicked—but Hootsuite's Guild system...

Meta Apr 10, 2015

Mobile Performance: Tooling Infrastructure at Facebook

Facebook processes thousands of mobile code changes weekly. How do they catch performance regressions before users feel the pain?

React Native Blog Mar 26, 2015

React Native: Bringing Modern Web Techniques to Mobile

Facebook reveals why React Native emerged from a simple realization: the principles that made React successful on web could transform mobile development. This 2015 post captures the pivotal moment when declarat...

AWS Mar 24, 2015

Crittercism: Solving Mobile Performance Issues for One Billion Users | AWS Startups Blog

Crittercism handles more traffic than Google Search (50K vs 40K requests/second) with just 3 DevOps engineers. How do they pull this off?

Zillow Feb 9, 2015

High Performance WebViews

John Bito from Zillow reveals how they cut home listing load times in half while making it easier to ship features across iOS, Android, and web. The secret? Rethinking how WebViews work in native apps.

Duolingo Jan 7, 2015

Real World Swift

Duolingo shipped their first Swift app in 2015 and achieved a 0.2% crash rate. Here's what they learned building a high-stakes testing app where crashes cost users real money.

Allegro Dec 12, 2014

Swift Method Dispatching Mechanisms

Ever wonder why Swift is faster than Objective-C? The answer lies in how it dispatches method calls, and the difference is more dramatic than you might think.

Dropbox Oct 27, 2014

Building Carousel Part III: Drawing Images on Screen

Tina Wen from Dropbox tackles a deceptively hard problem: how do you render tens of thousands of photos at 60fps without turning your app into a slideshow of gray squares?

Dropbox Aug 20, 2014

The Tech Behind Dropbox's New User Experience on Mobile - Part 2

Viraj Mody from Dropbox reveals how they built a mobile-to-desktop onboarding flow so seamless that users in testing didn't even notice the magic happening. Zero password typing required.

Dropbox Aug 12, 2014

Building Dropbox's New User Experience for Mobile Part 1

Kat from Dropbox discovered that slowing down their signup flow actually increased conversions. Counter-intuitive? Here's why it worked.

Dropbox Aug 6, 2014

Building Carousel Part II: Speeding Up the Data Model

Dropbox engineers faced a brutal reality: reading 5,000 photos from SQLite took a full second on a Nexus 5. For users with 100,000+ photos, the standard approach would be unusable.

Dropbox Apr 14, 2014

Building Carousel Part I: How We Made Our Networked Mobile App Feel Fast and Local

Dropbox's Carousel team faced a brutal truth: their photo app was slower than local galleries, and users noticed. No one wants to wait for network requests just to delete a photo.

LinkedIn Apr 8, 2014

Garbage Collection Optimization: High Throughput and Low Latency Java Applications

LinkedIn Engineering cut their tail latency by 75% through systematic garbage collection tuning. Here's their playbook for high-performance Java apps.

SoundCloud Mar 8, 2014

CocoaPods Sponsorship and iOS Dependency Management

Erik Michaels-Ober from SoundCloud announced something that would shape iOS development for years: corporate sponsorship of open source dependency management. Back in 2014, this was a novel approach to sustaini...

LinkedIn Jan 27, 2014

Mobile A/B Testing at LinkedIn: How Members Shape Our Apps

LinkedIn ships a single mobile binary but runs dozens of A/B tests simultaneously. Here's how they pulled it off without constant app releases.

X (formerly Twitter) Dec 19, 2013

CocoaSPDY: SPDY For iOS and OS X

Twitter just made mobile apps 30% faster with a single line of code. Here's how they did it and why they're giving it away for free.

Twitch Dec 13, 2013

Service Update Major Video System Update and Prague is Online

Twitch rebuilt their entire video infrastructure while serving millions of concurrent viewers. Here's how they pulled off a zero-downtime migration.

Spotify Nov 4, 2013

Shaving off 50% Waiting Time from the iOS Edit-Build-Test Cycle

The article content couldn't be loaded (404 error), so I'm unable to provide an accurate summary of Spotify's iOS build optimization work.

Etsy Sep 11, 2013

Improving Etsy for iOS with server-based logging

Etsy's iOS team faced a dilemma: their safety net for preventing crashes was quietly hiding logic bugs across the entire codebase.

Etsy Aug 9, 2013

Etsy's Device Lab

When mobile traffic jumped from 25% to 40% in six months, Etsy knew they had a problem. Their engineers were testing on personal iPhones while users browsed on dozens of different devices.

X (formerly Twitter) Aug 6, 2013

Login Verification On Twitter For iPhone And Android

Twitter built a 2FA system where your private keys never leave your phone and the server stores no persistent secrets. Here's the engineering behind it:

X (formerly Twitter) May 30, 2013

Mobile App Development: Catching Crashers

Twitter's iOS team shipped beta builds to employees and discovered crashes that would never show up in testing. The culprit? Jailbroken devices and unprefixed Objective-C categories.

Dropbox Feb 6, 2013

Introducing the Dropbox Sync API for Mobile Developers

Brian Smith from Dropbox introduced an API in 2013 that promised to make cloud sync feel like working with local files. Developers loved it, but there's a twist.

Shopify Jan 16, 2013

Introducing the Super Debugger: Wireless Real-Time Debugging for iOS

Jason Brennan from Shopify just open-sourced a debugger that lets you tweak iOS UI properties and watch them update in real-time on your device. No recompiling, no breakpoints, just instant visual feedback.

X (formerly Twitter) Dec 21, 2012

Right To Left Support For Twitter Mobile

Christine Tieu from Twitter's Mobile Web Team reveals how they flipped their entire mobile UI for Arabic and Farsi without drowning in duplicate CSS rules.

Instagram Apr 10, 2012

Keeping Instagram Up with Over a Million New Users in Twelve Hours

Instagram's Android launch brought 1 million new users in 12 hours. Here's how their infrastructure team kept the lights on during hypergrowth.

LinkedIn Dec 1, 2011

Blazing Fast Node.js: 10 Performance Tips for LinkedIn Mobile

LinkedIn Engineering discovered that one synchronous file write operation tanked their Node.js throughput from thousands of requests per second to just dozens.

SoundCloud Aug 22, 2011

Mobile Proxy Architecture at SoundCloud

SoundCloud's mobile team hit a wall: their API-first approach broke down when browsers couldn't handle CORS redirects properly. Their solution? A proxy architecture that evolved from nginx to Node.js.

SoundCloud Jan 1, 2011

iOS App Sharing Implementation

Gernot Poetsch breaks down how iOS apps can leverage SoundCloud's connection API to share content across social networks without managing tokens yourself. This 2011 guide still offers valuable lessons on delega...