Iain Smith is a seasoned software engineer with 12 years of experience specialising in mobile development, currently focused on Flutter and previously active in Xamarin and native iOS work. Based in Edinburgh, he blends a strong attention to UX and design details with practical problem-solving—shipping features across consumer apps, wearable platforms, and cross-platform frameworks. He has contributed to the well-known MvvmCross open-source project, improving iOS table view expand/collapse behaviour and navigation support, demonstrating both framework-level thinking and hands-on UI implementation. At companies from WeeWorld to Cherrypick he has led mobile teams, delivered multiple App Store releases, and migrated legacy apps while handling backend integrations and performance tuning. Outside work he keeps fit by running, reflecting a steady, disciplined approach to both code and life.
11 years of coding experience
14 years of employment as a software developer
Meng Computer & Electronic Systems Engineering, Meng Computer & Electronic Systems Engineering at University of Strathclyde
Tutorials and samples for MvvmCross: The .NET MVVM framework for cross-platform solutions.
Role in this project:
Mobile Developer (iOS)
Contributions:15 commits, 2 PRs, 6 comments in 2 years 9 months
Contributions summary:Iain primarily contributed to the iOS side of the MvvmCross samples repository. Their work focused on implementing the expandable collection feature, including the creation of custom table view sources and cell implementations. They also updated the project to use navigation service and updated MvvmCross dependencies.
The .NET MVVM framework for cross-platform solutions, including Android, iOS, MacCatalyst, macOS, tvOS, WPF, WinUI
Role in this project:
Mobile Developer (iOS)
Contributions:20 commits, 4 PRs, 12 comments in 2 years 7 months
Contributions summary:Iain primarily focused on modifying the `MvxExpandableTableViewSource` within the MvvmCross framework. Their initial commit exposed the `ItemSource` property to ensure updates to the `_isCollapsed` variable, which manages the expanded/collapsed state of table sections. This change was subsequently reverted, indicating an issue or need for adjustment. Later commits included merging branches related to the iOS support and modifications to the `MvxBaseViewController`, demonstrating activity in iOS-specific view management and support within the MvvmCross ecosystem.
maccatalystmvvmmauimvxc-sharp
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.