The brief.
A UAE marketplace for pre-loved fashion runs an iOS and Android app where people buy and sell clothing, shoes and accessories. The platform handles pickup, door-to-door delivery, secure escrow-style payments and buyer protection, so buyers and sellers never have to meet. That promise depends on the mobile app, the backend and the cloud infrastructure working together, every time.
The company needed one developer to build and maintain all of it: cross-platform apps in Flutter, responsive web interfaces in Bootstrap, server-side applications and APIs in Node.js, and deployment and monitoring on AWS (EC2, Lambda, S3, RDS and more), working alongside product and design. The role was remote and full-time, Monday to Saturday, 10 AM to 7 PM.
In practice it was three jobs in one: mobile developer, backend developer and cloud engineer, on a consumer product where payments, orders and deliveries cannot fail. The developer would be employed through our managed EOR, so the client could direct the work without setting up payroll, compliance or HR for a team member abroad.
- Proven cross-platform app development in Flutter
- Bootstrap and responsive web design
- Node.js for backend and API development
- Hands-on AWS: EC2, S3, Lambda, RDS, API Gateway and others
- Relational and NoSQL databases (PostgreSQL, MySQL, MongoDB, DynamoDB)
- Git/GitHub, clean and documented code, debugging and upgrading live applications
- Attention to security, scalability and performance across services
- 3+ years of experience, and the independence to work as the main engineer
- Good to have: CI/CD, Docker/Kubernetes, GraphQL or REST API design, Agile
The funnel.
The problem.
Breadth was the first problem. The brief combined Flutter, Bootstrap, Node.js and AWS in one person, and most developers are strong in one or two of those. Many list all four. Plenty of Flutter developers had never built or deployed a backend, and plenty of Node.js developers had never published a mobile app. A keyword scan cannot tell someone who used AWS for a side project from someone who has deployed, monitored and secured production services, so the funnel narrows hardest between initial screening (837) and résumé evaluation (220), where we asked for evidence in every area.
Production ownership was the second. A marketplace moves money, orders and parcels, so a bug costs a buyer or a seller something real. The developer had to think about security, scalability and performance, not only about getting screens working. We wanted people who had owned a live system: debugged an incident in production, handled payment or order flows, deployed through a proper pipeline and run the cloud underneath. Candidates who could talk about those things fluently but had never been the one responsible were filtered out in technical conversation.
The terms were the third. A remote role, a six-day week and a fixed salary range, as the main engineer on the product, did not suit everyone who cleared the technical bar. Many strong full-stack developers expect a five-day week, a permanent role elsewhere or a higher salary, and some did not want to be the only engineer on a product. That is why the pass rate dips again at the second internal round, from 86 to 19, where expectations were confirmed in live conversation.
What we did.
Before sourcing, we split the brief into must-haves and good-to-haves so the rubric reflected this product rather than a generic full-stack checklist. We sourced 1,119 profiles across Flutter, Node.js and full-stack mobile backgrounds and screened to 837. Résumé and background evaluation then took that to 220, keeping only candidates with shipped work across mobile, backend and AWS rather than a single strength.
86 reached our first internal round, which checked range across Flutter, Node.js, AWS, databases and Git workflows against the must-haves. 19 cleared a second round, held as a live conversation, on communication, independence, production experience and comfort with the schedule and terms. Technical depth and fit were scored separately at both rounds, so neither could carry the other.
Nine candidates reached the client, three made its final round, and one was hired. We then onboarded the developer on our managed EOR: we hold the employment contract, payroll, statutory compliance, benefits and HR, and the client directs the day-to-day work.
What changed.
The client hired a developer with working depth across Flutter, Node.js and AWS, and the independence to be the main engineer on a live consumer product: from the screen a seller lists on, through the APIs that handle orders and payments, to the cloud services underneath.
The developer joined on our managed EOR in late October 2025 and is still on the product a year later. When the client needed testing capacity, it added a part-time QA engineer through the same setup in February 2026, at 20 hours a week for the first two weeks and 10 hours a week after that.
Out of 1,119 profiles, one cleared every filter, about 0.1% of the pool. The client's team met nine candidates and ran a final round with three to find them.
What it was worth.
What the same engagement would mean for a product company that needs one engineer to own the whole stack.
Flutter app, Node.js APIs and AWS infrastructure owned by one engineer, in a role that usually takes three.
Joined in October 2025 and still on the product a year later, with employment, payroll and HR handled by us.
The client met nine candidates and ran a final round with three. We screened the rest.
A second hire, a part-time QA engineer, added on the same managed setup and scaled down after two weeks.
How we ran it.
Brief and calibration
Weighted the rubric to proven work in Flutter, Node.js and AWS, production ownership, and comfort with a remote, six-day arrangement.
Source and screen
1,119 profiles to 837, then 220 with evidence of shipped work across mobile, backend and cloud, not just one.
Technical and fit rounds
86 tested on Flutter, Node.js, AWS, databases and Git. 19 cleared a live round on production ownership, communication and the terms.
Client rounds, then EOR
Nine reached the client, three made the final round, and one was hired and onboarded on managed EOR.
What made this work.
In a three-in-one role, every candidate is strong somewhere. The risk is letting that strength stand in for the rest: a fine Flutter developer who has never deployed a backend, or a solid Node.js engineer who has only touched mobile. Asking for shipped evidence in each area at résumé evaluation is what took 837 profiles to 220, and it is why the nine the client met could each own the whole stack.
Production ownership is the filter that matters most for a marketplace. Building features is common; being the person who fixes a failed payment on a live app is not. Together with the terms, that conversation is what separated the 19 from the 86.