# Livefront
> Since 2001, Livefront has helped companies grow by designing, building, and scaling digital products people love.
## Pages
- [About Livefront](/about.md)
- [Adaptive Retail Services](/adaptive-retail.md)
- [AI & Automation](/ai-automation.md)
- [AI Strategy Workshop](/healthcare-ai.md)
- [AI Strategy Workshops](/ai-strategy-workshop.md)
- [All Insights](/insights/all.md)
- [Analytics & Optimization Services](/analytics-optimization.md)
- [AR, VR & Mixed Reality Experiences](/ar-vr-mixed-reality.md)
- [Automotive Apps](/automotive.md)
- [Bridge](/bridge.md)
- [Chimney](/chimney.md)
- [Clap Back](/showcase/clap-back.md)
- [Connected TV Apps](/connected-tv.md)
- [Contact Livefront](/contact.md)
- [Cross-Platform Mobile Apps](/cross-platform-mobile.md)
- [Data & Analytics](/data-analytics.md)
- [Design System Services](/design-systems.md)
- [Digital Accessibility Services](/accessibility.md)
- [Digital Bubbles](/showcase/bubbles.md)
- [Digital Engineering](/digital-engineering.md)
- [Digital Health & Wellness Solutions](/health-wellness.md)
- [Digital Nonprofit Solutions](/nonprofits.md)
- [Digital Sports & Fitness Solutions](/sports-fitness.md)
- [Digital Startup Solutions](/startups.md)
- [Digital Travel & Hospitality Solutions](/travel-hospitality.md)
- [Download Slides](/download.md)
- [Download Slides](/download-slides.md)
- [Duvet](/duvet.md)
- [E-commerce Solutions](/e-commerce.md)
- [Education & Edtech Solutions](/education.md)
- [Emerging Healthcare Trends](/emerging-healthcare-trends.md)
- [Experience Design](/experience-design.md)
- [Figma Plugins](/figma-plugins.md)
- [Final Pass](/final-pass.md)
- [Finance & Fintech Solutions](/financial-services.md)
- [Finding Home AI](/showcase/real-estate.md)
- [Growth Marketing & Optimization Services](/growth-marketing.md)
- [Gson Kotlin Adapter](/gson-kotlin-adapter.md)
- [Immersion Lab](/showcase/immersion-lab.md)
- [IoT & Embedded Software Solutions](/iot-embedded-software.md)
- [Kiosks & Digital Signage Solutions](/kiosks-digital-signage.md)
- [Livefront](/index.md)
- [Livefront + Zeal](/livefront-and-zeal.md)
- [Livefront Brewing](/brewing.md)
- [Livefront Careers](/careers.md)
- [Livefront Community](/community.md)
- [Livefront Expertise](/expertise.md)
- [Livefront Insights](/insights.md)
- [Loupe](/loupe.md)
- [Loyalty & Membership Services](/loyalty-membership.md)
- [Lumos](/showcase/lumos.md)
- [Media & Entertainment Solutions](/media-entertainment.md)
- [MESH](/mesh.md)
- [Mobile Apps](/mobile-apps.md)
- [Pentimento](/pentimento.md)
- [Pragmatic AI in Healthcare](/pragmatic-ai-in-healthcare.md)
- [Privacy Policy](/privacy.md)
- [Process Killer](/process-killer.md)
- [Restaurants & QSR Solutions](/restaurants.md)
- [Retail & Consumer Goods Solutions](/retail-consumer-goods.md)
- [Scale better teams](/scale.md)
- [Sealed Enum](/sealed-enum.md)
- [See your ambition](/see.md)
- [Shape your future](/shape.md)
- [Ship better software](/ship.md)
- [Shroud](/shroud.md)
- [Smart Factory](/smart-factory.md)
- [Social Platform Solutions](/social.md)
- [Strategy & Product](/strategy-and-product.md)
- [Technology Solutions](/technology.md)
- [Terms of Use](/terms.md)
- [Thank You](/event-confirmation.md)
- [Thank You](/thankyou.md)
- [The Livefront Way](/livefront-way.md)
- [Twin Cities Hack Night](/twin-cities-hack-night.md)
- [Voice Apps](/voice.md)
- [Web Apps](/web-apps.md)
- [Xcode Tools](/xcode-tools.md)
- [Yes, Chef!](/showcase/yes-chef.md)
## Team
- [Adam May - Director, Engineering](/team/adam-may.md)
- [Adrian Missy - Solutions Architect](/team/adrian-missy.md)
- [Al Wold - Software Engineer](/team/al-wold.md)
- [Alec Rippberger - Software Engineer](/team/alec-rippberger.md)
- [Alex Constancio - Software Engineer](/team/alex-constancio.md)
- [Ali Joaquin - Director, Design](/team/ali-joaquin.md)
- [Andrew VanderLeest - Software Engineer](/team/andrew-vanderleest.md)
- [Ben Kimball - QA Analyst](/team/ben-kimball.md)
- [Ben Tribble - Commercial Strategy Director](/team/ben-tribble.md)
- [Ben Wood - Director, Design](/team/ben-wood.md)
- [Brian Yencho - Director, Engineering](/team/brian-yencho.md)
- [Brooke Thies - Product Designer](/team/brooke-thies.md)
- [Bryan Lindsey - Software Engineer](/team/bryan-lindsey.md)
- [Caleb Derosier - Software Engineer](/team/caleb-derosier.md)
- [Chris Fry - Software Engineer](/team/chris-fry.md)
- [Chris Sessions - Software Engineer](/team/chris-sessions.md)
- [Chris Wodicka - Product Designer](/team/chris-wodicka.md)
- [Christian Spaulding - Product Designer](/team/christian-spaulding.md)
- [Corey Fleitz - Recruiter](/team/corey-fleitz.md)
- [David Perez - Software Engineer](/team/david-perez.md)
- [Diana Flotten - Product Strategist](/team/diana-flotten.md)
- [Emily Dziak - Product Designer](/team/emily-dziak.md)
- [Forrest Tracy - Director, Engineering](/team/forrest-tracy.md)
- [Garrett Schafer - Software Engineer](/team/garrett-schafer.md)
- [Inge Chiles - Software Engineer](/team/inge-chiles.md)
- [Jack Cunningham - Director, Product Management](/team/jack-cunningham.md)
- [Jared Hoerr - Software Engineer](/team/jared-hoerr.md)
- [Jarin Schmidt - VP, Client Partnerships](/team/jarin-schmidt.md)
- [Jennifer Morgan - Product Manager](/team/jennifer-morgan.md)
- [Joe Sonka - Chief of Staff](/team/joe-sonka.md)
- [John Caplinger - QA Analyst](/team/john-caplinger.md)
- [John Cavalieri - Software Engineer](/team/john-cavalieri.md)
- [Joseph Schlichting - Product Strategist](/team/joseph-schlichting.md)
- [Jubie Alade - Software Engineer](/team/jubie-alade.md)
- [Kagan Riedel - Software Engineer](/team/kagan-riedel.md)
- [Livefront Team](/team.md)
- [Lucas Kivi - Software Engineer](/team/lucas-kivi.md)
- [Luke Cich - QA Analyst](/team/luke-cich.md)
- [Mason O'Neil - Software Engineer](/team/mason-o'neil.md)
- [Matt Czech - Software Engineer](/team/matt-czech.md)
- [Matt Schraan - VP, Product Management](/team/matt-schraan.md)
- [Megan Fischer - Software Engineer](/team/megan-fischer.md)
- [Mike Bollinger - Founder & CEO](/team/mike-bollinger.md)
- [Mike Faber - Product Manager](/team/mike-faber.md)
- [Nathan Ansel - Software Engineer](/team/nathan-ansel.md)
- [Nick Krantz - Software Engineer](/team/nick-krantz.md)
- [Noah Cusimano - Software Engineer](/team/noah-cusimano.md)
- [Olivia Rudd - Product Designer](/team/olivia-rudd.md)
- [Paige Keane - Product Strategist](/team/paige-keane.md)
- [Paul Cramer - VP, Business Development](/team/paul-cramer.md)
- [Paul Himes - Software Engineer](/team/paul-himes.md)
- [Paul McAleer - Product Strategist](/team/paul-mcaleer.md)
- [Pete Jones - Software Engineer](/team/pete-jones.md)
- [Phillip Johnson - VP, Business Development](/team/phillip-johnson.md)
- [Phylicia Flynn - Product Designer](/team/phylicia-flynn.md)
- [Rob Abbott - Software Engineer](/team/rob-abbott.md)
- [Robin Marquardt - Product Designer](/team/robin-marquardt.md)
- [Sam Kirchmeier - VP, Engineering](/team/sam-kirchmeier.md)
- [Samuel Carter - Recruiter](/team/samuel-carter.md)
- [Sean Ephraim - Solutions Architect](/team/sean-ephraim.md)
- [Sean Weiser - Principal Software Engineer](/team/sean-weiser.md)
- [Sergio Najera - Software Engineer](/team/sergio-najera.md)
- [Shalanah Dawson - Software Engineer](/team/shalanah-dawson.md)
- [Shannon Draeker - Software Engineer](/team/shannon-draeker.md)
- [Sonia Merten - QA Analyst](/team/sonia-merten.md)
- [Steve Horn - Director, Engineering](/team/steve-horn.md)
- [Tyler Johnson - Software Engineer](/team/tyler-johnson.md)
- [Yatharth Garg - AI Solutions Engineer](/team/yatharth-garg.md)
## Partners
- [Livefront + Anthropic](/partners/anthropic.md)
- [Livefront + AWS](/partners/aws.md)
- [Livefront + Databricks](/partners/databricks.md)
- [Livefront + LangChain](/partners/langchain.md)
- [Livefront + Microsoft Azure](/partners/azure.md)
- [Livefront + OpenAI](/partners/openai.md)
## Talks
- [☠️😈 A Developer's Guide to Making Project Setup As Difficult As Possible 😈☠️ at Minnebar (2023)](/speaks/-a-developers-guide-to-minnebar-april-2023.md)
- [🌐 WWW: What in the world is happening on the web? at Minnebar (2023)](/speaks/-www-what-in-the-minnebar-april-2023.md)
- [🎯 The Kano Model: A (mostly) useful framework for prioritizing product features 🎯 at Minnebar (2023)](/speaks/-the-kano-model-a-minnebar-april-2023.md)
- [🐬 Flipper Zero: The Hacking Multi-Tool Making a Splash on TikTok at Minnebar (2023)](/speaks/-flipper-zero-the-hacking-minnebar-april-2023.md)
- [🪄 SwiftUI Magic: Advanced Techniques for Complex Interfaces. at Minnebar (2023)](/speaks/-swiftui-magic-advanced-techniques-minnebar-april-2023.md)
- [25 interviews with 25 Minnesota digital leaders in 25 minutes at Twin Cities Startup Week (2020)](/speaks/25-interviews-with-25-minnesota-twin-cities-startup-october-2020.md)
- [A look at the business side of a UX project at Prime Digital Academy (2019)](/speaks/a-look-at-the-business-prime-digital-academy-july-2019.md)
- [A RADICL Sprint: Getting Product Alignment in Just One Day at ProductWorld (2024)](/speaks/a-radicl-sprint-getting-product-productworld-february-2024.md)
- [A RADICL Sprint: Getting Product Alignment in Just One Day at Twin Cities Startup Week (2023)](/speaks/a-radicl-sprint-getting-product-twin-cities-startup-september-2023.md)
- [Accessibility Testing 101: Native App Manual Testing at Minnebar (2024)](/speaks/accessibility-testing-101-native-app-minnebar-april-2024.md)
- [Agentic AI in Practice: Building an AI Agent with Evereve & Livefront at MnTech Tech Connect (2026)](/speaks/agentic-ai-in-practice-building-mntech-tech-connect-april-2026.md)
- [AI Sucks at Minnebar (2026)](/speaks/ai-sucks-minnebar-may-2026.md)
- [An Introduction to HealthKit at Twin Cities iPhone Developers Meetup (2019)](/speaks/an-introduction-to-healthkit-twin-cities-iphone-august-2019.md)
- [An Introduction to iOS Development at Mpls Jr Devs (2019)](/speaks/an-introduction-to-ios-development-mpls-jr-devs-february-2019.md)
- [Android Vision: Detecting everything from barcodes to faces at Minnebar (2016)](/speaks/android-vision-detecting-everything-from-minnebar-april-2016.md)
- [Android Vision: Detecting everything from faces to barcodes at DevFest (2016)](/speaks/android-vision-detecting-everything-from-devfest-february-2016.md)
- [Android Wear Development at Google Developers Group (2014)](/speaks/android-wear-development-google-developers-group-november-2014.md)
- [App Clips 101 at Minnebar (2020)](/speaks/app-clips-101-minnebar-october-2020.md)
- [App Personalization Made Easy: Unleashing the Power of Native Technologies at Twin Cities Startup Week (2023)](/speaks/app-personalization-made-easy-unleashing-twin-cities-startup-september-2023.md)
- [Assistive Tech Is for Everyone (They Just Don't Know It Yet) at Minnebar (2025)](/speaks/assistive-tech-is-for-everyone-minnebar-may-2025.md)
- [Back to the : A Brief History of Web Development at Minnebar (2025)](/speaks/back-to-the-future--minnebar-may-2025.md)
- [Beyond Notifications: Creating Apps for Android Wear at DevFest (2015)](/speaks/beyond-notifications-creating-apps-for-devfest-march-2015.md)
- [Beyond Notifications: Creating Apps for Android Wear at Minnesota Developers Conference (2015)](/speaks/beyond-notifications-creating-apps-for-minnesota-developers-conference-september-2015.md)
- [Beyond Notifications: Creating Apps for Android Wear at Mobile March (2015)](/speaks/beyond-notifications-creating-apps-for-mobile-march-march-2015.md)
- [Beyond REST: Web Services Designed for Mobile at Minnebar (2015)](/speaks/beyond-rest-web-services-designed-minnebar-may-2015.md)
- [Beyond REST: Web Services Designed for Mobile at Minnesota Developers Conference (2015)](/speaks/beyond-rest-web-services-designed-minnesota-developers-conference-september-2015.md)
- [Beyond REST: Web Services Designed for Mobile at Mobile March (2015)](/speaks/beyond-rest-web-services-designed-mobile-march-march-2015.md)
- [Beyond Tapping on Glass: What Mobile Means Now at MobCon (2015)](/speaks/beyond-tapping-on-glass-what-mobcon-november-2015.md)
- [Bluetooth LE, Core Bluetooth, and a Glimpse into your Near Future at Minnebar (2013)](/speaks/bluetooth-le-core-bluetooth-and-minnebar-april-2013.md)
- [Building Efficient & Resilient Engineering Teams at Minnebar (2025)](/speaks/building-efficient-resilient-engineering-minnebar-may-2025.md)
- [Building High Performance Engineering Teams at Beta MN Operators Workshop (2018)](/speaks/building-high-performance-engineering-teams-beta-mn-operators-may-2018.md)
- [Building High Performance Engineering Teams at Beta MN Operators Workshop (2018)](/speaks/building-high-performance-engineering-teams-beta-mn-operators-september-2017.md)
- [Building High Performance Engineering Teams at Beta MN Operators Workshop (2019)](/speaks/building-high-performance-engineering-teams-beta-mn-operators-february-2019.md)
- [Building High Performance Teams at SCPD Conference (2017)](/speaks/building-high-performance-teams-scpd-conference-june-2017.md)
- [Building HTML5 Tablet Apps for iOS & Android at Minnesota Developers Conference (2012)](/speaks/building-html5-tablet-apps-for-minnesota-developers-conference-september-2012.md)
- [Building HTML5 Tablet Apps for iOS & Android at MinneWebCon (2012)](/speaks/building-html5-tablet-apps-for-minnewebcon-april-2012.md)
- [Building HTML5 Tablet Apps for iOS & Android at Twin Cities Software Engineers (2012)](/speaks/building-html5-tablet-apps-for-twin-cities-software-july-2012.md)
- [Building seamless workflows at UXPA Minnesota (2025)](/speaks/building-seamless-workflows-uxpa-minnesota-march-2025.md)
- [Comp Sci in MN Public High Schools: Successes + Failures from an Educator and a Student at Minnebar (2018)](/speaks/comp-sci-in-mn-public-minnebar-april-2018.md)
- [Computer Vision on iOS: Detecting Logos at Minnebar (2020)](/speaks/computer-vision-on-ios-detecting-minnebar-october-2020.md)
- [Core Bluetooth Applications at Mobile March (2013)](/speaks/core-bluetooth-applications-mobile-march-march-2013.md)
- [Creating Loyalty in Uncertain Times at Nostos Events (2020)](/speaks/creating-loyalty-in-uncertain-times-nostos-events-november-2020.md)
- [Custom iOS Controls at Minnesota Developers Conference (2011)](/speaks/custom-ios-controls-minnesota-developers-conference-september-2011.md)
- [Designing Dynamic Prototypes: Simulate Real App Experiences with Figma Variables at Minnebar (2025)](/speaks/designing-dynamic-prototypes-simulate-real-minnebar-may-2025.md)
- [Designing for Emotion in Mobile at General Mills - Private Event (2014)](/speaks/designing-for-emotion-in-mobile-general-mills--october-2014.md)
- [Designing for Emotion in Mobile at Minnebar (2014)](/speaks/designing-for-emotion-in-mobile-minnebar-april-2014.md)
- [Designing for Emotion in Mobile at MobCon (2013)](/speaks/designing-for-emotion-in-mobile-mobcon-november-2013.md)
- [Designing for Emotion in Mobile at Morsekode - Private Event (2014)](/speaks/designing-for-emotion-in-mobile-morsekode-private-april-2014.md)
- [Designing for Platforms at MHTA Spring Conference (2014)](/speaks/designing-for-platforms-mhta-spring-conference-may-2014.md)
- [Designing for Platforms at Midwest Mobile Summit (2014)](/speaks/designing-for-platforms-midwest-mobile-summit-may-2014.md)
- [Designing for Platforms at Mobile March (2014)](/speaks/designing-for-platforms-mobile-march-march-2014.md)
- [Designing with Developers in Mind (and Vice Versa) at DeveloperWeek (2025)](/speaks/designing-with-developers-in-mind-developerweek-february-2025.md)
- [Designing with Developers in Mind (and Vice Versa) at Minnebar (2023)](/speaks/designing-with-developers-in-mind-minnebar-april-2023.md)
- [Developing for Apple Vision Pro at Minnebar (2024)](/speaks/developing-for-apple-vision-pro-minnebar-april-2024.md)
- [DevTool Diamonds: Power Features You Didn't Know Existed at Minnebar (2025)](/speaks/devtool-diamonds-power-features-you-minnebar-may-2025.md)
- [Digital Accessibility As Strategy, Not Compliance at SXSW (2025)](/speaks/digital-accessibility-as-strategy-not-sxsw-march-2025.md)
- [Digital Accessibility Is Strategy, Not Compliance at ProductWorld (2025)](/speaks/digital-accessibility-is-strategy-not-productworld-february-2025.md)
- [Digital Accessibility Is Strategy, Not Compliance at Twin Cities Startup Week (2024)](/speaks/digital-accessibility-is-strategy-not-twin-cities-startup-september-2024.md)
- [Digital Health is Not Just an App on Your Phone at MobCon Digital Health (2016)](/speaks/digital-health-is-not-just-mobcon-digital-health-april-2016.md)
- [Discover 3D Photography at Minnebar (2022)](/speaks/discover-3d-photography-minnebar-june-2022.md)
- [Don't Just Write Code, Design It at DevFest (2019)](/speaks/dont-just-write-code-design-devfest-february-2019.md)
- [Don't Let Your Journey Map Lead Your Product Team Astray! at Minnebar (2025)](/speaks/dont-let-your-journey-map-minnebar-may-2025.md)
- [Everybody Hates Nougat at DevFest (2018)](/speaks/everybody-hates-nougat-devfest-february-2018.md)
- [Everybody Hates Nougat at Minnebar (2018)](/speaks/everybody-hates-nougat-minnebar-april-2018.md)
- [Everything in Time: The Ultimate Guide to Android Date and Time Programming at Minnebar (2026)](/speaks/everything-in-time-the-ultimate-minnebar-may-2026.md)
- [Executive Panel: Building Minnesota's Brightest Tech Future Together at MnTech Tech Connect (2026)](/speaks/executive-panel-building-minnesotas-brightest-mntech-tech-connect-april-2026.md)
- [Experimenting with a fresh take on roadmaps at ProductCamp (2024)](/speaks/experimenting-with-a-fresh-take-productcamp-october-2024.md)
- [Exploring NFC on Android at Minnebar (2014)](/speaks/exploring-nfc-on-android-minnebar-april-2014.md)
- [Exploring Stateless UIs in Swift at Minnebar (2016)](/speaks/exploring-stateless-uis-in-swift-minnebar-april-2016.md)
- [Finger Painting - Advanced Canvas and Touch Handling at DevFest (2017)](/speaks/finger-painting-advanced-canvas-devfest-february-2017.md)
- [Finger Painting : Using a Canvas in Android at Minnebar (2017)](/speaks/finger-painting-using-a-minnebar-march-2017.md)
- [From Prototype to MVP at Beta Operators Workshop (2020)](/speaks/from-prototype-to-mvp-beta-operators-workshop-april-2020.md)
- [Generating API Documentation For Your Kotlin or Java Library at Minnebar (2024)](/speaks/generating-api-documentation-for-your-minnebar-april-2024.md)
- [Good App Development at Apple Store Uptown (2013)](/speaks/good-app-development-apple-store-uptown-june-2013.md)
- [Gradle tips and tricks to improve your Android build experience at Minnebar (2023)](/speaks/gradle-tips-and-tricks-to-minnebar-april-2023.md)
- [Harnessing the Power of Nondeterminism for Software Engineering at DevFestMN (2025)](/speaks/harnessing-the-power-of-nondeterminism-devfestmn-december-2025.md)
- [How does accessibility drive growth? at GDS Group Podcast (2025)](/speaks/how-does-accessibility-drive-growth-gds-group-podcast-march-2025.md)
- [How To Build A Computer in Minecraft (And Other Games) at Minnebar (2022)](/speaks/how-to-build-a-computer-minnebar-june-2022.md)
- [How To Direct a Software Team When You Have No Idea What They're Talking About at Minnebar (2025)](/speaks/how-to-direct-a-software-minnebar-may-2025.md)
- [How to Protect Your MVP and Your Sanity and Still Meet Your Deadlines at MnTech Tech Connect (2026)](/speaks/how-to-protect-your-mvp-mntech-tech-connect-april-2026.md)
- [How to use design to trick people into thinking your app is faster than it is at DevFest (2019)](/speaks/how-to-use-design-to-devfest-february-2019.md)
- [Humans in the Loop: Hiring Software Engineers in the AI Era at DevFestMN (2025)](/speaks/humans-in-the-loop-hiring-devfestmn-december-2025.md)
- [Humans in the Loop: Hiring Software Engineers in the AI Era at Open Source North (2026)](/speaks/humans-in-the-loop-hiring-open-source-north-may-2026.md)
- [iOS AutoLayout at CocoaHeads (2013)](/speaks/ios-autolayout-cocoaheads-september-2013.md)
- [iOS Training Part 2 at Mobile March (2012)](/speaks/ios-training-part-2-mobile-march-march-2012.md)
- [Job Hunting During the Holidays at MinneAMA (2023)](/speaks/job-hunting-during-the-holidays-minneama-december-2023.md)
- [Kotlin at 60fps - Write Hot Code Without Losing Your Cool at Minnebar (2020)](/speaks/kotlin-at-60fps-write-minnebar-october-2020.md)
- [Let's Animate! An Introduction to RIVE.APP at Minnebar (2026)](/speaks/lets-animate-an-introduction-to-minnebar-may-2026.md)
- [Lightning Talks at DevFest (2019)](/speaks/lightning-talks-devfest-february-2019.md)
- [Matters of Life and Death: Truly Understanding the Android Application Lifecycle at DevFest (2016)](/speaks/matters-of-life-and-death-devfest-february-2016.md)
- [Matters of Life and Death: Truly Understanding the Android Application Lifecycle at Minnebar (2016)](/speaks/matters-of-life-and-death-minnebar-april-2016.md)
- [Meaningful Motion : Make the Transition! at DevFest (2017)](/speaks/meaningful-motion-make-the-devfest-february-2017.md)
- [Meaningful Motion : Make the Transition! at Minnebar (2017)](/speaks/meaningful-motion-make-the-minnebar-march-2017.md)
- [Mike Bollinger: Explorer & Entrepreneur at MESA - Private Event (2013)](/speaks/mike-bollinger-explorer-entrepreneur-mesa-private-february-2013.md)
- [MinneAMA: Coding Exercises at MinneAMA (2022)](/speaks/minneama-coding-exercises-minneama-july-2022.md)
- [Mobile App Accessibility at GMI Agency Summit (2022)](/speaks/mobile-app-accessibility-gmi-agency-summit-november-2022.md)
- [Motivation Leadership at Pollen LikeABoss (2015)](/speaks/motivation-leadership-pollen-likeaboss-march-2015.md)
- [Physics-Based Interfaces with UIKit Dynamics at Minnebar (2014)](/speaks/physics-based-interfaces-with-uikit-dynamics-minnebar-april-2014.md)
- [Physics-Based Interfaces with UIKit Dynamics at Minnesota Developers Conference (2014)](/speaks/physics-based-interfaces-with-uikit-dynamics-minnesota-developers-conference-september-2014.md)
- [Physics-Based Interfaces with UIKit Dynamics at Mobile March (2014)](/speaks/physics-based-interfaces-with-uikit-dynamics-mobile-march-march-2014.md)
- [Politiclaw: Building a Local-First Political Co-Pilot With Openclaw at Minnebar (2026)](/speaks/politiclaw-building-a-local-first-political-minnebar-may-2026.md)
- [Preppers & Comrades Unite: Building a Decentralized Mesh Network for Resilient Communication at Minnebar (2026)](/speaks/preppers-comrades-unite-building-minnebar-may-2026.md)
- [Product Folk: A Community for Product Managers at Twin Cities Startup Week (2023)](/speaks/product-folk-a-community-for-twin-cities-startup-september-2023.md)
- [Radical Sabbatical - How I structured one year of creative web-dev at Minnebar (2025)](/speaks/radical-sabbatical-how-i-minnebar-may-2025.md)
- [RESTful Android at Gluecon (2012)](/speaks/restful-android-gluecon-may-2012.md)
- [RESTful Android at Minnebar (2012)](/speaks/restful-android-minnebar-april-2012.md)
- [RESTful Android at Mobile March (2012)](/speaks/restful-android-mobile-march-march-2012.md)
- [Room Persistence Library: Using Android components to easily persist data at DevFest (2018)](/speaks/room-persistence-library-using-android-devfest-february-2018.md)
- [Scaling a Codebase Beyond the Initial Build at Open Source North (2024)](/speaks/scaling-a-codebase-beyond-the-open-source-north-june-2024.md)
- [Secrets of High Performing Product Teams at MinneAMA (2021)](/speaks/secrets-of-high-performing-product-minneama-january-2021.md)
- [Secrets of High Performing Product Teams at MN Tech Connect (2021)](/speaks/secrets-of-high-performing-product-mn-tech-connect-june-2021.md)
- [Smart Watches and what they mean for Mobile Experience Design at Midwest Mobile Summit (2015)](/speaks/smart-watches-and-what-they-midwest-mobile-summit-may-2015.md)
- [Smart Watches and what they mean for Mobile Experience Design at MIMA Summit (2014)](/speaks/smart-watches-and-what-they-mima-summit-october-2014.md)
- [Smart Watches and what they mean for Mobile Experience Design at Minnebar (2015)](/speaks/smart-watches-and-what-they-minnebar-may-2015.md)
- [Smart Watches and what they mean for Mobile Experience Design at MobCon (2014)](/speaks/smart-watches-and-what-they-mobcon-november-2014.md)
- [Smart Watches and what they mean for Mobile Experience Design at Mobile March (2015)](/speaks/smart-watches-and-what-they-mobile-march-march-2015.md)
- [Static Code Checks for Android at Minnebar (2020)](/speaks/static-code-checks-for-android-minnebar-october-2020.md)
- [Supercharging Your Design Workflow with Nested Symbols in Sketch at Minnebar (2017)](/speaks/supercharging-your-design-workflow-with-minnebar-march-2017.md)
- [Table of Experts: AI panel discussion at Minneapolis-St. Paul Business Journal Panel (2024)](/speaks/table-of-experts-ai-panel-minneapolis-st-paul-business-february-2024.md)
- [Talk to the Hand: Making Your App Accessible with VoiceOver at Minnebar (2017)](/speaks/talk-to-the-hand-making-minnebar-march-2017.md)
- [Taming the Chaos: Mastering Swift Concurrency at Minnebar (2025)](/speaks/taming-the-chaos-mastering-swift-minnebar-may-2025.md)
- [Testing Products for Accessibility: Why Manual and Automated Testing Go Hand-in-Hand at axe-con (2025)](/speaks/testing-products-for-accessibility-why-axe-con-february-2025.md)
- [Testing Products for Accessibility: Why Manual and Automated Testing Go Hand-in-Hand at Minnebar (2025)](/speaks/testing-products-for-accessibility-why-minnebar-may-2025.md)
- [The Composable Architecture Meet-and-Greet at Minnebar (2022)](/speaks/the-composable-architecture-meet-and-greet-minnebar-june-2022.md)
- [The Future of Customer Experience at Healthcare Event - Private (2018)](/speaks/the-future-of-customer-experience-healthcare-event--july-2018.md)
- [The Language of Motion : Touch Handling in Android at Minnebar (2017)](/speaks/the-language-of-motion--minnebar-march-2017.md)
- [The Preflight Checklist: Lessons learned the hard way so you can ship your app the easy way at Minnebar (2019)](/speaks/the-preflight-checklist-lessons-learned-minnebar-april-2019.md)
- [The Process & Practice of Mobile UI Design at Atomic Playpen - Private Event (2013)](/speaks/the-process-practice-of-atomic-playpen--april-2013.md)
- [The Process & Practice of Mobile UI Design at Medtronic - Private Event (2013)](/speaks/the-process-practice-of-medtronic-private-january-2013.md)
- [The Process & Practice of Mobile UI Design at Midwest Mobile Summit (2013)](/speaks/the-process-practice-of-midwest-mobile-summit-april-2013.md)
- [The Process & Practice of Mobile UI Design at MIMA Summit (2013)](/speaks/the-process-practice-of-mima-summit-october-2013.md)
- [The Process & Practice of Mobile UI Design at MinneWebCon (2013)](/speaks/the-process-practice-of-minnewebcon-april-2013.md)
- [The Process & Practice of Mobile UI Design at MobCon (2012)](/speaks/the-process-practice-of-mobcon-november-2012.md)
- [The Process & Practice of Mobile UI Design at Mobile March (2013)](/speaks/the-process-practice-of-mobile-march-march-2013.md)
- [The Process & Practice of Mobile UI Design at Zeus Jones - Private Event (2013)](/speaks/the-process-practice-of-zeus-jones--march-2013.md)
- [The Startup Game Show at Minnebar (2020)](/speaks/the-startup-game-show-minnebar-october-2020.md)
- [Thriving in the Great Resignation Era: How to Build and Retain Amazing Teams at Twin Cities Startup Week (2022)](/speaks/thriving-in-the-great-resignation-twin-cities-startup-september-2022.md)
- [UI Design Trickery That Makes Software Faster at Open Source North (2023)](/speaks/ui-design-trickery-that-makes-open-source-north-may-2023.md)
- [Using design to trick people into thinking your app is faster than it is at Minnebar (2019)](/speaks/using-design-to-trick-people-minnebar-april-2019.md)
- [Using design to trick people into thinking your app is faster than it is at MN Tech Connect (2020)](/speaks/using-design-to-trick-people-mn-tech-connect-september-2020.md)
- [Using design to trick people into thinking your app is faster than it is at Twin Cities Startup Week (2019)](/speaks/using-design-to-trick-people-twin-cities-startup-october-2019.md)
- [UX-Driven Code: Building with the User in Mind at UXDX (2025)](/speaks/ux-driven-code-building-with-the-uxdx-june-2025.md)
- [Value-Oriented Programming at Twin Cities iPhone Developers Meetup (2018)](/speaks/value-oriented-programming-twin-cities-iphone-october-2018.md)
- [Voice is The Interface: UX Lessons Learned Designing for Voice at Fahren Voice UX Event (2018)](/speaks/voice-is-the-interface-ux-fahren-voice-ux-october-2018.md)
- [What Mobile Means Now at Mobile Twin Cities (2018)](/speaks/what-mobile-means-now-mobile-twin-cities-september-2018.md)
- [What Mobile Means Now at US Bank InQ (2017)](/speaks/what-mobile-means-now-us-bank-inq-august-2017.md)
- [What Mobile Means Now: Beyond Tapping on Glass at Blue Cross Blue Shield - Private Event (2016)](/speaks/what-mobile-means-now-beyond-blue-cross-blue-january-2016.md)
- [What Mobile Means Now: Beyond Tapping on Glass at Delta Dental - Private Event (2016)](/speaks/what-mobile-means-now-beyond-delta-dental--february-2016.md)
- [What Mobile Means Now: Beyond Tapping on Glass at Duluth Trading Company - Private Event (2016)](/speaks/what-mobile-means-now-beyond-duluth-trading-company-april-2016.md)
- [What Wall Street Thinks of Your Brand at MAMA2 (2016)](/speaks/what-wall-street-thinks-of-mama2-january-2016.md)
- [What's a Transformer at DevFestMN (2023)](/speaks/whats-a-transformer-devfestmn-december-2023.md)
- [What's a Transformer? Understanding the Innovation That Changed Artificial Intelligence at Minnebar (2024)](/speaks/whats-a-transformer-understanding-the-minnebar-april-2024.md)
- [When *NOT* to Speak to Users: Determining If Unmoderated User Research Can Scale Your Efforts 🧐 at Minnebar (2023)](/speaks/when-not-to-speak-to-minnebar-april-2023.md)
- [When will it be done? How bad questions give you bad software (and what to ask instead) at Minnebar (2019)](/speaks/when-will-it-be-done-minnebar-april-2019.md)
- [When will it be done? How bad questions give you bad software (and what to ask instead) at productDNA (2019)](/speaks/when-will-it-be-done-productdna-june-2019.md)
- [Why I built this: Ignite talks from 5 emerging startups at Minnebar (2019)](/speaks/why-i-built-this-ignite-minnebar-april-2019.md)
- [Why you should (or shouldn't) do A/B testing. at Minnebar (2022)](/speaks/why-you-should-or-shouldnt-minnebar-june-2022.md)
- [Why You Should De-Google Your Online Data and Start Self Hosting at Minnebar (2024)](/speaks/why-you-should-de-google-your-minnebar-april-2024.md)
- [You're Not Leading. You're Reacting. at Minnebar (2026)](/speaks/youre-not-leading-youre-reacting-minnebar-may-2026.md)
- [Your Future Mobile Strategy at Club-E (2016)](/speaks/your-future-mobile-strategy-club-e-may-2016.md)
- [Your Future Mobile Strategy at MHTA Spring Conference (2016)](/speaks/your-future-mobile-strategy-mhta-spring-conference-april-2016.md)
- [Zero Tech Debt: Building a High-Standards Engineering Culture in the Age of AI at Tech Connect (2025)](/speaks/zero-tech-debt-building-a-tech-connect-may-2025.md)
- [Zero Tech Debt: How to Build an Engineering Culture of No Deferred Work at DeveloperWeek Management (2024)](/speaks/zero-tech-debt-how-to-developerweek-management-may-2024.md)
- [Zero Tech Debt: How to Build an Engineering Culture of No Deferred Work at DevFestMN (2024)](/speaks/zero-tech-debt-how-to-devfestmn-december-2024.md)
- [Zero Tech Debt: How to Build an Engineering Culture of No Deferred Work at Minnebar (2024)](/speaks/zero-tech-debt-how-to-minnebar-april-2024.md)
- [Zero Tech Debt: How to Build an Engineering Culture of No Deferred Work at Twin Cities Startup Week (2024)](/speaks/zero-tech-debt-how-to-twin-cities-startup-september-2024.md)
- [Zero to One with Mobile: What You Need to Know Before Bringing Your First Mobile App to Market at Twin Cities Startup Week (2022)](/speaks/zero-to-one-with-mobile-twin-cities-startup-september-2022.md)
## Videos
- [3D on the Web: Using React and Three.js](/teaches/3d-on-the-web-using-april-2025-82921e353e.md)
- [5 Things We've Learned from Running a North Star Workshop](/teaches/5-things-weve-learned-from-december-2023-b01cbf85d9.md)
- [7 ways cat people make better UX designers](/teaches/7-ways-cat-people-make-march-2025-cb6a4857b6.md)
- [Best Practices When Responding to App Store Reviews](/teaches/best-practices-when-responding-to-november-2021-f7a8214add.md)
- [Beyond Aesthetics - How metrics transform design into business strategy](/teaches/beyond-aesthetics-how-metrics-september-2025-b11705efbf.md)
- [Breaking Bad (Habits) of designing for the web](/teaches/breaking-bad-habits-of-designing-november-2024-fc10987bb8.md)
- [Character Development: Bringing your App mascot to life](/teaches/character-development-bringing-your-app-march-2024-473c6c8717.md)
- [Continuous Delivery & Automation at Livefront](/teaches/continuous-delivery-automation-at-june-2023-e84e16b4c5.md)
- [Creating Apps for Everyone: A Guide to Mobile App Accessibility](/teaches/creating-apps-for-everyone-a-march-2023-889e1b523e.md)
- [Creating Custom SF Symbols](/teaches/creating-custom-sf-symbols-june-2025-32fa9b734b.md)
- [Customizing Your API Docs With Dokka](/teaches/customizing-your-api-docs-with-march-2024-24fe88fc84.md)
- [Debugging Mobile Apps with Loupe](/teaches/debugging-mobile-apps-with-loupe-june-2023-bffb8119ec.md)
- [Design Audits: Taking the Red Pen into the Dev Process](/teaches/design-audits-taking-the-red-october-2023-582141697f.md)
- [Diamonds in the DevTools](/teaches/diamonds-in-the-devtools-december-2025-f387137cf9.md)
- [Do I need a hypothesis for my UX research study?](/teaches/do-i-need-a-hypothesis-may-2024-284b26a9f0.md)
- [Don't Sweat the Small Stuff: Improving pull request workflow through automation](/teaches/dont-sweat-the-small-stuff-december-2024-f18eeeb2be.md)
- [Enforce Correctness Through API Design](/teaches/enforce-correctness-through-api-design-december-2021-d399bb127e.md)
- [Error States, Your New Bestie](/teaches/error-states-your-new-bestie-may-2023-37a516fba5.md)
- [Generative AI for iOS Unit Testing](/teaches/generative-ai-for-ios-unit-february-2024-b1b4d58321.md)
- [Gson Deserialization: Three Tips I Wish I Knew](/teaches/gson-deserialization-three-tips-i-december-2021-d2d93e1ee4.md)
- [Hiring: The Livefront Way](/teaches/hiring-the-livefront-way-december-2025-9002c1923e.md)
- [How To Be An Expert (At Not Being An Expert)](/teaches/how-to-be-an-expert-november-2021-0b3d2c8f67.md)
- [How to Navigate App Store Review](/teaches/how-to-navigate-app-store-april-2023-7d2c28a1bf.md)
- [How to Transition to the Small Screen](/teaches/how-to-transition-to-the-november-2021-1c1c6464da.md)
- [Implementing Dark Theme for Android](/teaches/implementing-dark-theme-for-android-april-2023-c032988d94.md)
- [Introduction to Product Led Growth](/teaches/introduction-to-product-led-growth-december-2024-a2883517ea.md)
- [iOS Tips from Gandalf (Halloween Special)](/teaches/ios-tips-from-gandalf-halloween-october-2025-b0da4c94ab.md)
- [JavaScript to WebAssembly](/teaches/javascript-to-webassembly-may-2023-d81921de3c.md)
- [Localizing Xcode String Catalogs with LangChain](/teaches/localizing-xcode-string-catalogs-with-august-2025-1343c60ef5.md)
- [Measuring Android Build Times](/teaches/measuring-android-build-times-november-2023-8827049625.md)
- [Metrics that Matter, Measuring Product Impact the Right Way](/teaches/metrics-that-matter-measuring-product-december-2024-ccbff561db.md)
- [My Second Least Favorite Football Team...](/teaches/my-second-least-favorite-football-november-2021-27dac339c3.md)
- [Natural Intelligence A forward thinking approach to AI](/teaches/natural-intelligence-a-december-2023-993822720a.md)
- [One Repo to Rule Them All](/teaches/one-repo-to-rule-them-december-2024-94a5f8c3ff.md)
- [Opening the Digital Front Door with iOS 18](/teaches/opening-the-digital-front-door-february-2025-d9f6406aa7.md)
- [React to React Native](/teaches/react-to-react-native-june-2023-825b908b81.md)
- [Roku is a Bizarre Platform](/teaches/roku-is-a-bizarre-platform-december-2021-0c00970c3e.md)
- [Scan to Win: How to elevate your mobile app with QR codes](/teaches/scan-to-win-how-to-december-2025-952765822a.md)
- [SQLCipher & the Swift Package Manager](/teaches/sqlcipher-the-swift-package-december-2023-1423001bd6.md)
- [Sticky Footers in SwiftUI](/teaches/sticky-footers-in-swiftui-april-2023-25779d001d.md)
- [Superhuman Programming; Using AI to Unlock Limitless Potential](/teaches/superhuman-programming-using-ai-to-september-2024-608c2d12e4.md)
- [SwiftUI Custom Alignment](/teaches/swiftui-custom-alignment-december-2024-4741134684.md)
- [Telling Your Code's Story With Commits](/teaches/telling-your-codes-story-with-august-2023-c17154529f.md)
- [Testing: Mocks vs Fakes](/teaches/testing-mocks-vs-fakes-may-2023-f02c98ce10.md)
- [The Day You Learned Shortcuts](/teaches/the-day-you-learned-shortcuts-november-2021-bf122931bd.md)
- [The Screen Reader Experience](/teaches/the-screen-reader-experience-september-2023-a469f60436.md)
- [The State of Compose: An overview of Jetpack Compose](/teaches/the-state-of-compose-an-december-2024-73656d95a0.md)
- [The UX of a Developer](/teaches/the-ux-of-a-developer-november-2021-1f16ef552e.md)
- [Tips for Nailing a Video Interview in Digital](/teaches/tips-for-nailing-a-video-april-2024-70be101c56.md)
- [Translating Common XML TalkBack Solutions to Compose](/teaches/translating-common-xml-talkback-solutions-november-2023-17dba4d485.md)
- [Unidirectional Data Flow](/teaches/unidirectional-data-flow-december-2023-67a3bcd360.md)
- [Using Adobe's Delivery API to get A/B Test Data](/teaches/using-adobes-delivery-api-to-august-2024-9b6e873d92.md)
- [Version Catalogs - A one stop shop for dependencies](/teaches/version-catalogs-a-one-september-2025-ae91cc3a47.md)
- [Vestigial Design - Investigating Instagram's Hidden Appendage](/teaches/vestigial-design-investigating-instagrams-november-2021-01bbe22bc2.md)
- [Write Better Unit Tests](/teaches/write-better-unit-tests-november-2021-b73034d62c.md)
- [XCTestCase Lifecycle Management](/teaches/xctestcase-lifecycle-management-december-2023-4bdf35f32d.md)
- [Your Strategy is a Garden](/teaches/your-strategy-is-a-garden-july-2025-ee79affe01.md)
- [Zero to One with Mobile. Lesson 1: Draft a quarterback you trust](/teaches/zero-to-one-with-mobile-december-2023-7cfc745768.md)
- [Zero to One with Mobile. Lesson 2: Ask yourself why should this product exist](/teaches/zero-to-one-with-mobile-december-2023-099cb0fd4b.md)
- [Zero to One with Mobile. Lesson 3: Emphasize themes over features](/teaches/zero-to-one-with-mobile-december-2023-9eb8c54b25.md)
- [Zero to One with Mobile. Lesson 4: As for technical debt, practice frugality](/teaches/zero-to-one-with-mobile-december-2023-7c836bf785.md)
- [Zero to One with Mobile. Lesson 5: Understand technology choice implications](/teaches/zero-to-one-with-mobile-december-2023-21d750bea6.md)
- [Zero to One with Mobile. Lesson 6: Build feedback loops into every stage](/teaches/zero-to-one-with-mobile-december-2023-5aceb442e0.md)
- [Zero to One with Mobile. Lesson 7: Bring your organization along for the ride](/teaches/zero-to-one-with-mobile-december-2023-80ab193cc1.md)
## Writing
- ["Yeah, no": Using Claude Code to Write Concise PR Descriptions](/writing/yeah-no-using-claude-code-to-write-concise-pr-descriptions.md)
- [10 Swift Extensions We Use at Livefront](/writing/10-swift-extensions-we-use-at-livefront.md)
- [10 Tips to Spice Up Your Fresh-Grad Portfolio](/writing/10-tips-to-spice-up-your-fresh-grad-portfolio.md)
- [3 Insights From My Budding UX Career](/writing/3-insights-from-my-budding-ux-career.md)
- [4 hard-won lessons from working on a professional software engineering team](/writing/4-hard-won-lessons-from-working-on-a-professional-software-engineering-team.md)
- [4 tips for using Carthage](/writing/4-tips-for-using-carthage.md)
- [5 Tips to Surviving a Remote Internship](/writing/5-tips-to-surviving-a-remote-internship.md)
- [8 Steps to Finding a Successful Product Development Partner](/writing/8-steps-to-finding-a-successful-product-development-partner.md)
- [A Case for Alphabetization](/writing/a-case-for-alphabetization.md)
- [A Core Location Abstraction Layer with Combine and SwiftUI](/writing/a-core-location-abstraction-layer-with-combine-and-swiftui.md)
- [A Practical Guide to Type-Safe Image Handling in React Native](/writing/a-practical-guide-to-type-safe-image-handling-in-react-native.md)
- [A Product Manager's Guide to Roku Beta Testing Programs.](/writing/a-product-managers-guide-to-roku-beta-testing-programs.md)
- [A Selectable, Expanding List in SwiftUI](/writing/a-selectable-expanding-list-in-swiftui.md)
- [A win for you: The Developer Tax Saga Continues](/writing/a-win-for-you-the-developer-tax-saga-continues.md)
- [Accessibility Dos and Don'ts for Interactive Cards](/writing/accessibility-dos-and-donts-for-interactive-cards.md)
- [Adapting Gson to Kotlin](/writing/adapting-gson-to-kotlin.md)
- [Advanced Android Edge-to-Edge (Part 1): Keyboard Transitions with MotionLayout](/writing/advanced-android-edge-to-edge-part-1-keyboard-transitions-with-motionlayout.md)
- [Advanced Android Edge-to-Edge (Part 2): BottomSheetDialogFragment](/writing/advanced-android-edge-to-edge-part-2-bottomsheetdialogfragment.md)
- [Adventures in iOS Dev Automation](/writing/adventures-in-ios-dev-automation.md)
- [Agent vs. Assistant: What Makes Agentic AI Fundamentally Different from Generative AI Chatbots](/writing/agent-vs-assistant-what-makes-agentic-ai-fundamentally-different-from-generative-ai-chatbots.md)
- [Alarming technique for letting your user rearrange objects](/writing/alarming-technique-for-letting-your-user-rearrange-objects.md)
- [All eyes on me](/writing/all-eyes-on-me.md)
- [Android Static Code Checks -- Keep Your Codebase Tidy With Detekt](/writing/android-static-code-checks-keep-your-codebase-tidy-with-detekt.md)
- [Animating font size in UILabels](/writing/animating-font-size-in-uilabels.md)
- [Applying Design Concepts to Code](/writing/applying-design-concepts-to-code.md)
- [Applying Design Concepts to Code -- Part II](/writing/applying-design-concepts-to-code-part-ii.md)
- [Applying Design Concepts to Code -- Part III](/writing/applying-design-to-software-part-iii.md)
- [Automate everything -- and keep iterating with Apple Shortcuts](/writing/automate-everything-and-keep-iterating-with-apple-shortcuts.md)
- [Bad Dates with DatePicker](/writing/bad-dates-with-datepicker.md)
- [Basic Continuous Integration with Jenkins, Xcode, and GitHub](/writing/basic-continuous-integration-with-jenkins-xcode-and-github.md)
- [Basic Intelligent Recomposition in Android Compose](/writing/basic-intelligent-recomposition-in-android-compose.md)
- [Best practices when responding to App Store reviews](/writing/best-practices-when-responding-to-app-store-reviews.md)
- [Beyond Anecdotes: Balancing Qualitative and Quantitative Data for Smarter Product Decisions](/writing/beyond-anecdotes-balancing-qualitative-and-quantitative-data-for-smarter-product-decisions.md)
- [Building Better Tests with Compose Semantics](/writing/building-better-tests-with-compose-semantics.md)
- [Building Insights with Product Usage Data](/writing/building-insights-with-product-usage-data.md)
- [Cast Aside](/writing/cast-aside.md)
- [Charting a Course from Android Compose Nav2 to Nav3: Manually Inject Navigation Arguments](/writing/charting-a-course-from-android-compose-nav2-to-nav3-manually-inject-navigation-arguments.md)
- [Charting a Course from Android Compose Nav2 to Nav3: Rework Bottom Sheet Navigation Destinations](/writing/charting-a-course-from-android-compose-nav2-to-nav3-rework-bottom-sheet-navigation-destinations.md)
- [Charting a Course from Android Compose Nav2 to Nav3: Use Metadata for Transition Animations](/writing/charting-a-course-from-android-compose-nav2-to-nav3-use-metadata-for-transition-animations.md)
- [Charting a Course from Android Compose Navigation 2 to Navigation 3](/writing/charting-a-course-from-android-compose-navigation-2-to-navigation-3.md)
- [Coroutine Misconceptions: Whose Context Is It Anyway?](/writing/coroutine-misconceptions-whose-context-is-it-anyway.md)
- [Cover up your users' sensitive data -- it's private.](/writing/cover-up-your-users-sensitive-data-it-s-private.md)
- [Crafting Accessible Components in Compose](/writing/crafting-accessible-components-in-compose.md)
- [Crafting your Product AI Principles: Taking Cues from Apple & Google on the Themes of Reliability](/writing/crafting-your-product-ai-principles-taking-cues-from-apple-google-on-the-themes-of-reliability.md)
- [Creating a Dynamic Draggable ScrollView with UIKit for SwiftUI](/writing/creating-a-dynamic-draggable-scrollview-with-uikit-for-swiftui.md)
- [Creating a Service Layer in Swift](/writing/creating-a-service-layer-in-swift.md)
- [Creating Custom SF Symbols](/writing/creating-custom-sf-symbols.md)
- [Dagger Hilt: Testing injected Android components with code coverage](/writing/dagger-hilt-testing-injected-android-components-with-code-coverage.md)
- [Design Audits: Adding One More Hat to the Product Design Haberdashery](/writing/design-audits-adding-one-more-hat-to-the-product-design-haberdashery.md)
- [Ditch the Extra Plugin: A Simple Way to Render SVGs in React Native](/writing/ditch-the-extra-plugin-a-simple-way-to-render-svgs-in-react-native.md)
- [Documenting Design Workflows](/writing/documenting-design-workflows.md)
- [Does Your Team Need a Product Manager?](/writing/does-your-team-need-a-product-manager.md)
- [Don't Live with Regret. Build a Kill Switch into your Mobile App](/writing/dont-live-with-regret-build-a-kill-switch-into-your-mobile-app.md)
- [Don't Make Your Code Predict the Future](/writing/dont-make-your-code-predict-the-future.md)
- [Embracing the Distance: Strategies for Successful Unmoderated User Research](/writing/embracing-the-distance-strategies-for-successful-unmoderated-user-research.md)
- [Enhancing Brand Harmony through Design Systems](/writing/enhancing-brand-harmony-through-design-systems.md)
- [Error States, Your New Bestie](/writing/error-states-your-new-bestie.md)
- [Exploring Memoization in Swift](/writing/exploring-memoization-in-swift.md)
- [Exploring the Benefits of Git Worktree](/writing/exploring-the-benefits-of-git-worktree.md)
- [Five Reasons To Write Unit Tests](/writing/five-reasons-to-write-unit-tests.md)
- [Fixing Issues with Codable Identifiers](/writing/fixing-issues-with-codable-identifiers.md)
- [Flight School:
3 Key UX/UI principles you might not have learned in your graphic design program](/writing/flight-school.md)
- [From Phone Trees to AI Agents: Building Trust in Natural Language Systems](/writing/from-phone-trees-to-ai-agents-building-trust-in-natural-language-systems.md)
- [From Zero to UX Hero: Navigating the Bootcamp Journey](/writing/from-zero-to-ux-hero.md)
- [Higher-Order Code Smells](/writing/higher-order-code-smells.md)
- [Higher-Order Code Smells (Part 2)](/writing/higher-order-code-smells-part-2.md)
- [Home improvement insights that will make you a better designer.](/writing/home-improvement-insights-that-will-make-you-a-better-designer.md)
- [How (Programming) Languages Shape Problem-Solving](/writing/how-programming-languages-shape-problem-solving.md)
- [How Learning UX Made Me a Better Developer](/writing/how-learning-ux-made-me-a-better-developer.md)
- [How to add a dynamic Swift framework to a Command Line Tool](/writing/how-to-add-a-dynamic-swift-framework-to-a-command-line-tool.md)
- [How to change the Toolbar font on Android](/writing/how-to-change-the-toolbar-font-on-android.md)
- [How to Choose a Digital Product Partner: A Complete Guide for 2025](/writing/how-to-choose-a-digital-product-partner-a-complete-guide-for-2025.md)
- [How to connect your Android emulator to a local web service](/writing/how-to-connect-your-android-emulator-to-a-local-web-service.md)
- [How to customize the style of your Dokka documentation](/writing/how-to-customize-the-style-of-your-dokka-documentation.md)
- [How to debug background fetch events on iOS](/writing/how-to-debug-background-fetch-events-on-ios.md)
- [How to Design a Successful A/B Test](/writing/how-to-design-a-successful-a-b-test.md)
- [How to get featured on the App Store by making Apple look good](/writing/how-to-get-featured-on-the-app-store-by-making-apple-look-good.md)
- [How to lead a software team when you have no idea what they're talking about](/writing/how-to-lead-a-software-team-when-you-have-no-idea-what-theyre-talking-about.md)
- [How to Level Up Your Technical Acumen as a Non-Technical Person](/writing/how-to-level-up-your-technical-acumen-as-a-non-technical-person.md)
- [How To Sabotage Your Project Using Inconsistency](/writing/how-to-sabotage-your-project-using-inconsistency.md)
- [How to Stop Text Overflow in React Native](/writing/how-to-stop-text-overflow-in-react-native.md)
- [I Ditched User Personas -- And Here's Why You Should Too](/writing/i-ditched-user-personas-and-heres-why-you-should-too.md)
- [Identity Crisis](/writing/identity-crisis.md)
- [If You Want To Design Good APIs, Start Thinking Like A Designer](/writing/if-you-want-to-design-good-apis-start-thinking-like-a-designer.md)
- [Implementing a Flight Recorder: Keeping Your Application in the Clear](/writing/implementing-a-flight-recorder-keeping-your-application-in-the-clear.md)
- [Improve Android build-times by using resConfigs](/writing/improve-android-build-times-by-using-resconfigs.md)
- [Integrating Your Roku Channel With Roku Pay](/writing/integrating-your-roku-channel-with-roku-pay.md)
- [Intro to Polymorphism with Kotlinx.Serialization](/writing/intro-to-polymorphism-with-kotlinx-serialization.md)
- [Introduction to SwiftPoet](/writing/introduction-to-swiftpoet.md)
- [Is an App Clip Right For Your App?](/writing/is-an-app-clip-right-for-your-app.md)
- [It's Alive! Turning design mock-up into reality](/writing/its-alive.md)
- [It's All About Customer Behavior](/writing/its-all-about-customer-behavior.md)
- [Jurassic Markup: Surviving Custom Email Template Development](/writing/jurassic-markup-surviving-custom-email-template-development.md)
- [Keep Your iOS Tests Quick by Removing Artificial Delays](/writing/keep-your-ios-tests-quick-by-removing-artificial-delays.md)
- [Kotlin @ 60FPS](/writing/kotlin-60fps.md)
- [Kotlin for Java: Part I -- Constructors & Builders](/writing/kotlin-for-java-part-i-constructors-builders.md)
- [Kotlin: A tale of cyclical static initialization](/writing/kotlin-a-tale-of-static-cyclical-initialization.md)
- [kotlinx.serialization: (de)serializing JSON's nullable, optional properties](/writing/kotlinx-serialization-de-serializing-jsons-nullable-optional-properties.md)
- [Leveling Up as a Product Designer](/writing/leveling-up-as-a-product-designer.md)
- [Lies, Damn Lies, and Semantic Versioning](/writing/lies-damn-lies-and-semantic-versioning.md)
- [Migration: Gson to Kotlinx.Serialization](/writing/migration-gson-to-kotlinx-serialization.md)
- [Minnesota Nice Pull Requests: Writing Better PR Descriptions](/writing/minnesota-nice-pull-requests-writing-better-pr-descriptions.md)
- [Mistakes to Avoid When Switching from Graphic Design to Product Design](/writing/mistakes-to-avoid-when-switching-from-graphic-design-to-product-design.md)
- [Moderated vs. Unmoderated User Testing and the Goldilocks Method That's Just Right](/writing/moderated-vs-unmoderated-user-testing-and-the-goldilocks-method-thats-just-right.md)
- [My Favorite Design Patterns: State](/writing/my-favorite-design-patterns-state.md)
- [Native Android Libraries Gone Bad](/writing/native-android-libraries-gone-bad.md)
- [Niche Doesn't Mean Small](/writing/niche-doesnt-mean-small.md)
- [Optimism is not assurance](/writing/optimism-is-not-assurance.md)
- [Optimize Your Product Strategy Efforts: The Art of Harnessing Unmoderated User Research](/writing/the-art-of-harnessing-unmoderated-user-research.md)
- [Padding vs Content Margins: A Discreet VoiceOver Nuance](/writing/padding-vs-content-margins-a-discreet-voiceover-nuance.md)
- [Part 2: Key Features of Successful Retail Mobile Apps](/writing/part-2-key-features-of-successful-retail-mobile-apps.md)
- [Part 3: Integrating In-Store and Offline Channels through Mobile Apps](/writing/part-3-integrating-in-store-and-offline-channels-through-mobile-apps.md)
- [Part 4: Future Trends and Innovations in Retail Mobile Apps](/writing/part-4-future-trends-and-innovations-in-retail-mobile-apps.md)
- [PDF Pitfalls in Xcode](/writing/pdf-pitfalls-in-xcode.md)
- [Personalization (But Not Creepy)](/writing/personalization-but-not-creepy.md)
- [Pick the Process, Pick the Culture](/writing/pick-the-process-pick-the-culture.md)
- [Practical Dynamic Type](/writing/practical-dynamic-type.md)
- [Practical Dynamic Type, Part 2: Testing](/writing/practical-dynamic-type-part-2-testing.md)
- [Practical Dynamic Type, Part 3: Attributed Text](/writing/practical-dynamic-type-part-3-attributed-text.md)
- [Put me in coach (marks)](/writing/put-me-in-coach-marks.md)
- [QA Quonversations: AI's Place in Software Testing](/writing/qa-quonversations-ais-place-in-software-testing.md)
- [RecyclerView Trick: Selectively bind ViewHolders with Payloads](/writing/recyclerview-trick-selectively-bind-viewholders-with-payloads.md)
- [RESTful API Design Tips for Digital Products](/writing/restful-api-design-tips-for-digital-products.md)
- [Rethinking the Product Roadmap: Bring Back the Utility and Practicality](/writing/rethinking-the-product-roadmap-bring-back-the-utility-and-practicality.md)
- [Screening Your Code For Risks: Lessons From a Minnesota Porch](/writing/screening-your-code-for-risks-lessons-from-a-minnesota-porch.md)
- [sealed-enum: Replacing Enums in Kotlin](/writing/sealed-enum-replacing-enums-in-kotlin.md)
- [Second Drafts](/writing/second-drafts.md)
- [Selling in your mobile app? Let's save you some money!](/writing/selling-in-your-mobile-app-lets-save-you-some-money.md)
- [Spacial Orientation for Developers in a Hurry](/writing/spacial-orientation-for-developers-in-a-hurry.md)
- [Staying Focused in a Mass Market](/writing/staying-focused-in-a-mass-market.md)
- [Stop Putting State In Your View Models](/writing/stop-putting-state-in-your-view-models.md)
- [Strengthening Collaboration Between Product & Brand](/writing/strengthening-collaboration-between-product-brand.md)
- [Suppressing annoying Kotlin compiler warnings](/writing/suppressing-annoying-kotlin-compiler-warnings.md)
- [Suspending Lambdas in Kotlin](/writing/suspending-lambdas-in-kotlin.md)
- [Swift expected nil, not ](/writing/swift-expected-nil-not-nil.md)
- [Swift Macro Client Testing](/writing/swift-macro-client-testing.md)
- [Swift Macro Expansion Testing](/writing/swift-macro-expansion-testing.md)
- [Swift Macro Unit Testing](/writing/swift-macro-unit-testing.md)
- [SwiftUI Custom Alignment](/writing/swiftui-custom-alignment.md)
- [SwiftUI's Missing onLayout Modifier](/writing/swiftuis-missing-onlayout-modifier.md)
- [Take More Shortcuts](/writing/take-more-shortcuts.md)
- [Talkback Ordering in Android Jetpack Compose](/writing/talkback-ordering-in-android-jetpack-compose.md)
- [Temporal: Getting a Second Date](/writing/temporal-getting-a-second-date.md)
- [The (best) way to perform online user testing with Principle](/writing/the-best-way-to-perform-online-user-testing-with-principle.md)
- [The Art of Presenting Your Designs Effectively](/writing/the-art-of-presenting-your-designs-effectively.md)
- [The Best Features Mean Nothing without a Clear Product Strategy](/writing/the-best-features-mean-nothing-without-a-clear-product-strategy.md)
- [The Evolution of Digital Product Teams -- A CXO's Perspective](/writing/the-evolution-of-digital-product-teams-a-cxos-perspective.md)
- [The First 2 Commits Every Android Project Should Have](/writing/the-first-2-commits-every-android-project-should-have.md)
- [The Hidden Dangers of AI Note-Taking Assistants: What Leaders Need to Know](/writing/the-hidden-dangers-of-ai-note-taking-assistants-what-leaders-need-to-know.md)
- [The importance of