Our Xamarin developers specialize in building efficient, cross-platform applications that perform flawlessly on iOS, Android, macOS, and Windows. Leveraging Xamarin’s capabilities, they deliver cost-effective mobile and desktop solutions with rich features, optimized user experiences, and consistent functionality across devices.
Kyle is a software developer and AWS Amplify engineer with six years of industry experience. He launched an open-source Amplify Flutter library at AWS that provides cloud components for connecting Flutter apps to AWS analytics, storage, and auth. Kyle led and organized Voodoo Paris' mobile SDK team from two to eight developers.
Joseph is a professional with strong leadership skills, highly experienced in software engineering, and specializing in mission-critical systems in aerospace, defense, and telecommunications. He has over two decades of experience designing and developing sophisticated enterprise web applications using various technologies, most recently with ASP.NET MVC.
Brett is an expert hands-on architect who specializes in the Microsoft suite of technologies: C#, .NET, Azure, SharePoint, and Xamarin. He has a proven record of solving problems for 12+ years in the software space. He is passionate about making fast, significant impacts for his clients. With a clear and direct communication style, Brett partners to solve your most difficult challenges across many facets; architectural design, integration, custom development, and team process, to name a few.
Andy is a full-stack developer with 20 years of experience in software. He is an expert in the .NET stack, from gathering requirements to SQL database design, web, Windows, and mobile back and front end, and deployed system monitoring and maintenance. His top skills include Xamarin Forms, conversational bots accessible via Amazon Alexa, Google Home, text messaging, and the full .NET stack in web or Windows applications. He enjoys solving problems that make the lives of his clients better.
Dinis is a senior software developer with 13 years of experience, currently focusing on mobile development with Xamarin and MAUI. In the past, he has also done native and hybrid mobile development as well as web development. Dinis has served as the team lead of small development teams throughout the last few years and has helped managers and companies with key technology decisions.
Alex is a senior Xamarin developer with 9+ years of experience in mobile app development. He specializes in creating cross-platform mobile apps using C# and Xamarin.Forms—handling the entire development process, from software design to application distribution on app stores. Most notably, Alex has worked on an AI-powered app for an Irish healthcare provider, doubling market reach and generating revenue, and improved mobile UX for a Dutch healthcare provider, doubling their active users.
Giorgi is a software developer with more than a decade of experience. He works mainly with C#, ASP.NET Core, REST, GraphQL, MAUI, Xamarin, Entity Framework Core, AWS, Azure, and SQL Server. He has also worked with many other frameworks and systems, such as ASP.NET MVC, ASP.NET Web API, WCF, Avalonia, WinForms, Oracle, and many more. Giorgi is an open-source author and contributor on GitHub, a Microsoft MVP, and a member of the .NET Foundation.
Vladimir is a dedicated and results-oriented .NET developer who likes to be part of a successful and productive community. He has worked on a variety of projects, from image manipulation to CMS feature development and more. He's always looking to expand his skills and work with new and interesting projects.
As a veteran full-stack developer, John's great breadth and depth of experience include cryptocurrency, IoT, blockchain, and mobile projects. His foundation is in C and C++, with many years of experience in .NET. His work experience up until 2009 was in the NYC and NYC area. Since 2009, he's been living abroad and working remotely. John has a personal research project in the background, involving blockchain and deep neural networks.
Ali is a master's degree qualified, technically skilled, and results-driven senior software developer with 15+ years of experience in building enterprise applications, including analyzing, designing, developing, testing, implementing, and successfully delivering complex .NET, mobile, and Azure applications.
From studying AI and vision processing at university to a 20-year career in software development, Matthew has amassed a vast range of full-stack experience and product management expertise that he has also applied to his own startup. He started out developing with Cobol, Java, and Oracle before moving on to the Microsoft .NET stack. Regardless of the project, Matthew knows how to balance technical know-how and business needs.
Xamarin developers build cross-platform applications (e.g., Android, iOS, macOS, Windows) using their mobile, .NET, and C# skills. This hiring guide offers insight into the skill requirements, job description tips, and interview questions that connect you to the right experts.
... allows corporations to quickly assemble teams that have the right skills for specific projects.
Despite accelerating demand for coders, Toptal prides itself on almost Ivy League-level vetting.
Our clients
Creating an app for the game
Leading a digital transformation
Building a cross-platform app to be used worldwide
Drilling into real-time data creates an industry game changer
Testimonials
Tripcents wouldn't exist without Toptal. Toptal Projects enabled us to rapidly develop our foundation with a product manager, lead developer, and senior designer. In just over 60 days we went from concept to Alpha. The speed, knowledge, expertise, and flexibility is second to none. The Toptal team were as part of Tripcents as any in-house team member of Tripcents. They contributed and took ownership of the development just like everyone else. We will continue to use Toptal. As a startup, they are our secret weapon.
Brantley Pace
CEO & Co-Founder
I am more than pleased with our experience with Toptal. The professional I got to work with was on the phone with me within a couple of hours. I knew after discussing my project with him that he was the candidate I wanted. I hired him immediately and he wasted no time in getting to my project, even going the extra mile by adding some great design elements that enhanced our overall look.
Paul Fenley
Director
The developers I was paired with were incredible -- smart, driven, and responsive. It used to be hard to find quality engineers and consultants. Now it isn't.
Ryan Rockefeller
CEO
Toptal understood our project needs immediately. We were matched with an exceptional freelancer from Argentina who, from Day 1, immersed himself in our industry, blended seamlessly with our team, understood our vision, and produced top-notch results. Toptal makes connecting with superior developers and programmers very easy.
Jason Kulik
Co-founder
As a small company with limited resources we can't afford to make expensive mistakes. Toptal provided us with an experienced programmer who was able to hit the ground running and begin contributing immediately. It has been a great experience and one we'd repeat again in a heartbeat.
Stuart Pocknee
Principal
How to Hire Talent Through Toptal
1
Talk to One of Our Client Advisors
A Toptal client advisor will work with you to understand your goals, technical needs, and team dynamics.
2
Work With Hand-selected Talent
Within days, we'll introduce you to the right talent for your project. Average time to match is under 24 hours.
3
The Right Fit, Guaranteed
Work with your new developer for a trial period (pay only if satisfied), ensuring they're the right fit before starting the engagement.
EXCEPTIONAL TALENT
How We Source the Top 3% of Xamarin Developers
Our name “Toptal” comes from Top Talent—meaning we constantly strive to find and work with the best from around the world. Our rigorous screening process identifies experts in their domains who have passion and drive.
Of the thousands of applications Toptal sees each month, typically fewer than 3% are accepted.
The first step of the screening process is a comprehensive English language and communication evaluation. We also assess personality traits, seeking only those who are passionate and fully engaged in their work.
STEP 2
In-depth Skill Review
7.4% of applications pass
We test each applicant’s technical knowledge and problem-solving ability through various assessments. Every member of the Toptal network is an expert in their domain, and we typically only advance candidates with exceptional results in this phase.
STEP 3
Live Screening
3.6% of applications pass
Toptal screeners, who are experts in their functional domain, interview each Xamarin developer. Our screeners provide specific live exercises, looking for problem-solving ability, depth of experience, communication ability, and creativity.
STEP 4
Test Project
3.2% of applications pass
Each candidate is assigned a test project to evaluate whether they can “walk the walk.” Test projects take 1-3 weeks and are comprehensive and provide real-world scenarios for candidates to demonstrate their competence, thoroughness, professionalism, and integrity.
STEP 5
Continued Excellence
Top 3.0% of Xamarin developers
As a quality-first company, we demand the best from our talent, so they can deliver the best to our clients. This principle permeates every Toptal engagement and delivered project. Only the top 3% of developers can consistently perform at this level.
Capabilities of Xamarin Developers
Toptal’s programmers create high-performance, cross-platform mobile applications using a single codebase to deliver native-like experiences on iOS, Android, and Windows devices.
Cross-platform Mobile App Development
Xamarin enables efficient creation of multiplatform mobile applications using a shared C# codebase. Toptal’s developers build high-performance apps for iOS and Android simultaneously, reducing development time and costs while maintaining consistent functionality across platforms.
Native Performance
Achieving native-like performance is crucial for the success of a mobile app. Toptal developers leverage native bindings to access platform-specific APIs, which seamlessly integrate device features such as cameras, GPS, and sensors for optimal performance and user experience.
User Interface Design with Xamarin.Forms
Xamarin.Forms facilitates the creation of consistent, responsive interfaces across platforms. Our developers utilize this tool to build user-friendly UIs that maintain consistency while respecting platform-specific design elements for intuitive and visually appealing apps.
Back-end Integration and APIs
Modern mobile applications require seamless connectivity with back-end systems. Toptal’s programmers excel at integrating apps with various APIs and back-end services, implementing real-time data synchronization and secure communication with cloud-based infrastructure.
Custom Plugins and Third-party Integrations
Extending app functionality often necessitates custom solutions. To meet specific business needs, Toptal’s developers create bespoke plugins and integrate third-party libraries, enhancing mobile app capabilities and leveraging new technologies for improved functionality.
Cross-platform Testing and Quality Assurance
Applications need to have consistent performance across devices. Toptal developers employ automated testing tools like Xamarin Test Cloud to rigorously evaluate applications on multiple platforms and devices, identifying and resolving issues before deployment to guarantee smooth user experiences.
Performance Optimization and Memory Management
The performance of a mobile app has a direct impact on user satisfaction. By efficiently managing memory, minimizing load times, and ensuring smooth operation across diverse devices, our programming experts ensure that applications are optimized for responsiveness and resource efficiency.
Offline Functionality and Data Synchronization
In mobile-first environments, downtime or network interruptions have a significant impact on user experience. Toptal’s developers implement robust offline capabilities so users can access and manipulate data without an internet connection—complete with automatic synchronization once connectivity is restored.
Push Notifications and In-app Messaging
Effective user engagement requires not only an intuitive user interface, but also clear and meaningful interactions. Our developers implement push notifications and in-app messaging using services like Firebase Cloud Messaging and Apple Push Notification Service, delivering timely and relevant communications to keep users informed and engaged.
App Store Submission and Compliance
Navigating app store requirements can be complex. Toptal’s developers manage the entire submission process, verifying applications meet all guidelines for Google Play and Apple’s App Store to ensure quick approval and streamline the path to market.
FAQs
What is Xamarin?
Xamarin is a cross-platform app development framework that enables developers to build applications for Android, iOS, and Windows using a single codebase. As part of the Microsoft ecosystem, it integrates seamlessly with Visual Studio, providing a comprehensive development environment for building native apps written in C#. Xamarin has been superseded my .NET MAUI, however. Keep this in mind when selecting a framework for new app development.
What is Xamarin used for?
Xamarin is used to develop cross-platform applications that can run on Android, iOS, and Windows with a single codebase. It allows developers to create native user interfaces and access platform-specific APIs. Its ability to share and reuse code across multiple platforms significantly reduces development time and costs.
How does Xamarin increase ROI?
Xamarin increases ROI by significantly reducing the time and resources required for development and maintenance. With its cross-platform development capabilities, Xamarin minimizes the need for separate development teams for each platform, accelerating time to market. It uses established technologies, C# and the .NET framework, enabling companies to tap into a large talent pool of skilled developers, reducing training costs and streamlining the development process.
Is Xamarin good for app development?
While Xamarin is well suited for app development, it has been superseded by .NET MAUI. The two frameworks share many similarities, with both being capable of cross-platform development. Both frameworks boast tight integration with Visual Studio and the .NET framework. Xamarin remains a very capable and performant technology, but if you are starting a new project, .NET MAUI is the better and more future-proof choice.
How much does it cost to hire a Xamarin developer?
The cost of hiring a skilled a Xamarin developer varies depending on factors like the preferred talent location, the experience level of the talent, and the complexity of the project. In the US, for example, Glassdoor’s reported average total annual pay for Xamarin developers is $143,000 as of January 2025. Toptal’s talent matchers can help you understand the cost of talent, and match you with developers who have the right skills and experience level for your needs. To get started, schedule a call with us—it’s free, and there’s no obligation to hire with Toptal.
How quickly can you hire with Toptal?
In general, a Toptal engineer can be hired in 48 hours. Timelines may vary for larger teams or Managed Delivery. Toptal’s talent matchers are skilled in the fields they are matching in, so they’ll work with you to understand your business goals, technical needs, and team dynamics before matching you with the right candidate from our global network of vetted talent. Our matching process has a 98% trial-to-hire rate and you’ll have a no-risk trial period to ensure they’re the perfect fit.
How are Toptal developers different?
At Toptal, all of our talent is thoroughly vetted; of the more than 200,000 people who apply to join the Toptal network each year, fewer than 3% make the cut. Candidates are screened not only for technical skills, but language and interpersonal skills as well. When you hire with Toptal, you’ll always work with world-class, custom-matched Xamarin developers ready to help you achieve your business goals.
Can you hire developers on an hourly basis or for project-based tasks?
Developers can be hired on an hourly, part-time, or full-time basis. Toptal can also manage the entire project from end-to-end with Managed Delivery. When working with Toptal, you’ll have the flexibility to scale your team up or down as your needs evolve. If you have a talent gap or simply need an extra hand, our developers can be seamlessly integrated into your in-house team.
What is the no-risk trial period?
Each engagement starts with a no-risk trial period of up to two weeks, giving you time to establish a working relationship. If you’re satisfied with the result, you’ll be billed for the time and can continue the engagement for as long as you’d like. If you’re not completely satisfied, you won’t be billed and if you choose to stay with Toptal, we’ll provide you with another skilled developer who may be a better fit, and the no-risk trial period will begin anew.
Vanclei is a software developer, consultant, and systems analyst with more than 17 years of experience. He specializes in .NET technologies and has co-authored a book about C # with two Microsoft Brazil employees. Vanclei has worked on Xamarin and .NET projects at Fortune 500 companies, including ExxonMobil, Sony, The Weather Group, and Work & Co.
Growing Cross-platform Development Necessitates Skilled Xamarin Engineers
We live in a mobile-obsessed world—the mobile app market is estimated to have a CAGR of 13.9% from 2023 to 2030—where any modern business must have a strong presence on phones and tablets. With the need to accommodate a wide variety of devices, it can be challenging to develop applications that reliably provide a good user experience. As a result, cross-platform development is growing to meet these needs, boasting a high CAGR of 16.8%. Xamarin is a popular option among available mobile frameworks, and demand for these skilled developers remains robust.
However, hiring a specialist comes with unique challenges—whether you plan to maintain an existing app or migrate to .NET or .NET MAUI. Finding developers versed in mobile app development (Android and iOS) and the Microsoft ecosystem can be difficult and time-consuming.
This hiring guide breaks down the critical skills to look for in top engineers, provides tips for writing a compelling job description, and suggests interview questions to help you identify the top candidates.
What Attributes Distinguish Quality Xamarin Developers From Others?
Before starting the hiring process, defining clear goals and project requirements is essential to finding the right developer for your needs. Begin by understanding your target users and the platforms your app will support—whether smartphones, tablets, desktops, or wearables—and whether it needs to run on iOS, Android, Windows, or all of them.
Next, consider the scope and complexity of the app. Define the features and functionalities you want, from simple tasks to advanced integrations, which will give you a sense of the skills required.
Finally, establish a realistic timeline and budget. These factors will directly influence the type of developer or team you need. A well-defined timeline and budget also help set expectations and ensure alignment with your chosen developer’s capabilities.
Whether you’ve chosen the platform to develop a new product or have an existing app that requires specialized expertise, you should define your skills gap at the start of the hiring process. These questions will help inform the skill requirements and developer level that best suits your needs:
How complex is the project and its core business logic?
What other technologies does the team use?
Does your app require data collection or advanced API integrations?
Does your project have large tech debt or existing bugs?
With that information in hand, you should aim to find a developer with the following skills:
Mobile or app development: Candidates must be familiar with automated testing, architectural patterns, and UI/UX development for platforms like iOS, Android, macOS, and/or Windows.
C#: Xamarin apps are built using C#, an object-oriented programming language common among .NET applications. A strong foundation of C# experience enables developers to navigate the Xamarin ecosystem effectively and build successful apps.
.NET: Xamarin is part of .NET, extending it with cross-platform tools and capabilities. As such, developers must have a solid understanding of the .NET framework, its most helpful features, and its latest versions.
Visual Studio: Microsoft’s Visual Studio offers an integrated development environment (IDE) and equips an app developer with vital tools for development, deploying, debugging, and testing. (It has replaced tools such as Xamarin Studio and Xamarin Test Cloud.)
APIs: Xamarin programmers must master APIs because cross-platform apps rely on external data processing, which is critical for consistent performance across platforms. Skilled API integration allows developers to create smooth, responsive apps by connecting to services, databases, and backend systems seamlessly. Tools like cURL and Postman are essential for testing these integrations, ensuring reliable communication and resolving data flow issues.
Though many developer skills overlap with the requirements for .NET or app development, Xamarin engineers are experts in developing code that is shared among operating systems and have specialized experience in building custom, reusable code solutions. Code reusability differentiates a developer who may know C# from an expert.
Another important aspect to consider is soft skills. Strong communication, teamwork, and problem-solving abilities complement specialized technical expertise and enable developers to integrate smoothly with a team and collaborate effectively.
How Can You Identify the Ideal Developer for You?
Selecting the right developer involves several key considerations that can significantly impact your project’s cost, development speed, quality, and management overhead. You’ll need to assess the seniority level of the developer—based on the complexity of your project and the skills gap you aim to fill—choose an appropriate engagement model and determine whether to hire freelancers or partner with outsourcing companies.
Deciding on a Junior, Mid-level, or Senior Developer
Any engineer with a solid C# background can be regarded as a junior developer and can deliver results quickly on smaller projects (e.g., a simple form app). However, be prepared to allocate extra time and resources while they learn the fundamentals of the framework, which is not ideal if development time is your priority.
Mid-level developers are familiar with the nuances of the framework and the most-used patterns and objects. These include concepts like the Model-View-ViewModel (MVVM) design pattern, the Command class, .NET Standard Library (or its predecessor PCL), and .NET MAUI or its predecessor, Xamarin.Forms. Engineers at this level should be able to develop an app from scratch.
Senior developers are highly skilled experts who can make architectural decisions. They should know how to implement native Android or iOS solutions, use advanced debugging techniques, and identify and prevent memory issues on different operating systems. Senior engineers know the differences between operating systems and devices and can effectively deploy a product to various targets.
Hiring a mid-level or senior developer may pay off in the long term for most projects. Typically, the main goal of using a multiplatform development technology is to share most—if not all—of the code. Hiring someone without experience in designing efficient architecture and developing reusable, innovative solutions can lead to tech debt that will compound over time.
Hiring Models for Xamarin Developers
There are several engagement models to consider when hiring developers, each with its own benefits and payment structures:
Dedicated team model: A team of developers works exclusively on your project. This approach provides a high level of control over the development process as the team becomes familiar with your project’s specific needs and objectives. The developers are fully committed to your project, which can lead to increased efficiency and better alignment with your goals. The payment structure usually involves a fixed monthly fee for each team member, allowing for predictable budgeting and resource planning.
Controlled Agile: The controlled agile model is a hybrid engagement approach that combines the flexibility of agile development methodologies, where projects are broken down into smaller, more manageable iterations or sprints, with the predictability of controlled budgeting. This model is ideal for projects where requirements may change or evolve during development. It allows for adjustments as the project progresses, ensuring that the final product meets your expectations. Payments are typically made based on agreed-upon milestones or deliverables, balancing cost certainty and adaptability.
Time and Material: The time and material model involves paying for the actual time and resources spent on the project. This approach offers the greatest flexibility to alter the project scope, making it ideal for complex projects with uncertain or evolving requirements. You pay for the developers’ time based on hourly or daily rates, plus the cost of any materials used. While this model allows you to adjust priorities and requirements as needed, it may make budgeting more challenging due to the variable costs involved.
Freelancers vs. Outsourcing Companies
When deciding how to staff your project, you might consider hiring freelancers or partnering with an outsourcing company. Each option has its advantages and trade-offs.
Freelancers often have lower overhead costs than agencies or companies. They can be hired on a project-by-project basis, offering flexibility and scalability to suit your specific needs. However, working with freelancers requires direct management and communication, which can be time-consuming. The quality and reliability of freelancers can vary greatly; therefore, thorough vetting is necessary to ensure they possess the required skills and are dependable.
Outsourcing companies are typically more expensive due to company overhead and their comprehensive services. They often provide vetted teams with a proven track record, ensuring higher quality and reliability. These companies can quickly assemble teams to accelerate development timelines, which is advantageous if speed is a priority. Additionally, outsourcing companies require less direct management, as project managers often handle coordination and oversight, reducing the management overhead on your part.
Considering Xamarin Versus Flutter Developers
Flutter is a growing cross-platform development framework backed by Google. You may wonder which framework will best suit your project needs.
Xamarin developers often best serve enterprise mobile applications because it is a more mature technology heavily integrated with the entire Microsoft ecosystem (e.g., Visual Studio, Office, Azure). Flutter developers, on the other hand, excel in creating visually appealing and high-performance apps with a rich widget library and seamless design integration.
In general, it makes sense to choose Xamarin experts for the fast development of enterprise mobile applications if you already have a dedicated C# team.
How to Write a Job Description for Your Project
A well-crafted job description that offers relevant details about your company, the role, and the project will attract top talent to apply for your posting. Start with a clear description of your project and application:
What platforms are you targeting (e.g., is the project targeting only smartphones, including desktops, or tailored toward a niche platform like tvOS)?
Will the app need to integrate with any external app, API, or system?
Are you building an app from scratch or revamping an existing solution?
What technology stack will be used, and what resources are available (e.g., mock-ups, storyboards)?
When hiring, it is essential to clearly define the role’s responsibilities and technical requirements since its developers need a broad, specialized skill set in mobile development, .NET, and C#.
What Are the Most Important Xamarin Interview Questions?
Preparing practical interview questions in advance will prepare you for success and allow you to complete the hiring process quickly. A good candidate may be fielding several offers, and you may lose out on their expertise if you take too long to decide.
The following questions and answers offer insight into the thought processes and problem-solving approach developers should take during an interview. Detailed, clear answers demonstrate that a candidate has relevant experience.
This list is not exhaustive, and you should tailor your questions toward your application platform and technology stack. For example, include questions about mobile, C#, and/or .NET as appropriate.
What strategies do you use to optimize Xamarin applications for performance across multiple platforms, and how do you handle platform-specific requirements?
Experienced developers understand that creating a performant cross-platform application often requires platform-specific optimizations. Key strategies might include minimizing memory usage by avoiding unnecessary object instantiation, using async/await for smoother UI, and effectively managing resource-intensive tasks. Skilled developers can also discuss techniques such as custom renderers to create optimized, native UI components on different platforms and dependency injection for streamlined platform-specific services.
Additionally, candidates should be able to explain how they handle platform-specific requirements without compromising the shared codebase. This may involve using dependency services, custom renderers, or platform-specific projects to maintain performance and consistency.
What is XAML? Can you create a Xamarin Page without XAML?
XAML (eXtensible Application Markup Language) is a markup language that defines user interfaces in Xamarin, separating UI from code. XAML is preferred for building views in Xamarin.Forms, allowing for a clear and maintainable code structure. While XAML is similar to XML, it includes specific elements and syntax for defining UI properties, such as data bindings, property elements, and attached properties.
Creating a Page without XAML is possible by writing UI in C#, but using XAML provides productivity tools like XAML Hot Reload, which lets developers see UI changes in real-time without rebuilding, helping teams work more efficiently.
How does Xamarin increase an application’s ROI?
In general, it increases ROI by achieving development for multiple platforms with a single codebase. With the resources needed for one app, a team can cover various target operating systems, including iOS, Android, macOS, and Windows. Developers of all levels should be able to articulate the platform’s fundamental value proposition.
However, when hiring advanced consultants or architects, expect candidates to answer this question with a detailed plan specific to your project; they might suggest specific performance optimization solutions or code architecture changes.
Why Do Companies Hire Xamarin Developers?
As Microsoft’s open-source technology for cross-platform mobile application development, Xamarin offers substantial benefits during the development process. The framework facilitates a singular codebase that can be compiled and function across different operating systems. A cross-platform approach also translates into faster development and cost savings.
Though popular competing cross-platform frameworks exist (e.g., Flutter or React Native), Xamarin uses C# as its programming language. Because C# is so widely used, companies already working with C# or using a Microsoft environment can quickly leverage their existing knowledge and resources to develop apps.
Moreover, the platform has the added benefits of powerful tooling and Microsoft integrations. For example, software engineers can use Xamarin Profiler to evaluate an app’s performance on different mobile platforms. And Visual Studio, Microsoft’s IDE, offers robust solutions for deploying and debugging applications.
Whether starting a Xamarin/.NET app from scratch, expanding your existing Microsoft ecosystem, or adding developers to support a mature app, hiring the right experts will boost your team’s speed and efficiency.
The technical content presented in this article was reviewed by John Puddifoot.