LocalFix
Greece's missing home services marketplace — built from zero.
Most platforms force 8+ steps, demand upfront auth, and bury pricing. Drop-off hits 60% before payment. I designed LocalFix end-to-end: a two-sided marketplace with escrow-based payments that protect both parties, a 4-step booking flow, and a soft account system that personalizes return visits without a single login screen.
One product. Two audiences. Every design decision had to work for both.


Greece has a €2.7B home services market. Most of it is cash under the table.
54% of Greek transactions happen in cash. The shadow economy is 36% of GDP — the largest in the EU. When something breaks, most people post in a Facebook group and pay whoever shows up. No contract. No receipt. No recourse.
"Looking for a plumber in Kifissia — recommendations? Don't want to get ripped off again." 40+ replies. All personal referrals. Zero verified credentials. No payment protection discussed.
— Typical Athens neighbourhood Facebook group| Platform | Tech keeps | Payment | Upfront price | Greek UX | Protection |
|---|---|---|---|---|---|
| LocalFix | 85% | Escrow → IBAN | ✓ Firm quote | ✓ Greek-first | ✓ Escrow |
| TaskRabbit | ~78% | Weekly hold | Hourly only | ✗ Not localised | Partial |
| Helpling | 61–75% | 25–39% cut | Opaque | ✗ Not localised | ✗ None |
| Facebook/Phone | 100% cash | Cash on door | None | ✓ Greek | ✗ None |
→ Nobody solves both sides at once. LocalFix does.
LocalFix is the only option where the technician earns more AND the customer is protected. Every other path forces a trade-off.
Sources: Cognitive Market Research 2024 · ECB SPACE 2024 · CEPR / GreekReporter 2025 · Reuters Institute DNR 2025 · TaskRabbit support docs · Helpling via Glassdoor / Unbias The News
8 Steps. 12 Minutes. 60% Quit.
I audited 5 existing Greek home-service platforms. Same task each time: book a plumber, leaking pipe, central Athens, tomorrow morning. The same pattern appeared on every platform — over-engineered flows built to collect data, not to help people book.
Registration wall at step 3. Hourly rates only — no fixed quote.
Not a booking. A lead form. 'We'll call you back within 2 hours.'
60% of Greeks use this. No written confirmation. No recourse.
25–39% commission. Partial Greek. 'From €X/hour' — no job quote.
Every interview surfaced the same moment: the technician quotes €80 on the phone. Arrives. Looks around. 'Έχει και κάτι άλλο εδώ…' Final bill: €180. No receipt. No escrow. No recourse. This isn't an edge case — it's the dominant experience.
12 Interviews. 2 Weeks. 1 Clear Pattern.
6 customers · 6 technicians · 5 competitor audits · market analysis
"I posted in the Kifissia Facebook group. Within an hour I had 12 recommendations. All 'I know a guy.' I called the most recommended one. He didn't pick up."
"It asked me to register, verify my email, fill in my address... by the time I got to a technician profile I'd given up twice already."
"Tell me the price before I give you my card. That's it. If it's fixed and I can cancel if something goes wrong, I'd use it every time."
Two people. One product.
Every screen had to work for both Maria and Dimitris simultaneously. Competing needs. No cop-outs.

"I don't have time to interview three plumbers. Just send me someone good, tell me what it costs, and let me get back to work."

"I've been doing this for 12 years. I don't need a platform to tell me what to charge. I need them to guarantee I get paid."
3 insights that shaped the product.
Transparent pricing ≠ fixed pricing
Customers hate 'from €50' pricing — it feels like a trap. But technicians can't commit to a fixed price without seeing the job.
The Smart Quote System. Customer answers 3–4 questions, gets a realistic range. Technician can adjust ±15% after inspection.
83% of customers said they'd book immediately if the price was 'within €10–20 of this estimate'
Escrow is trust, not just payment
Customers fear paying upfront for bad work. Technicians fear doing work and not getting paid. Someone has to go first.
Auth-based escrow. €20 deposit is an authorisation hold. The remainder is authorised but not captured until the customer confirms completion.
All 12 technicians said payment uncertainty was a bigger problem than commission rate
Nobody wants a wallet. They want direct money.
Most gig platforms trap earnings in an in-app wallet. Technicians manually cash out. Platforms profit from float.
Weekly SEPA payouts direct to verified IBAN. Every Tuesday, LocalFix batches earnings and deposits to the technician's bank.
10 of 12 technicians said this alone would make them switch from their current platform
Every decision traces to a signal.
No intuition-only calls. Each major product decision maps directly to a data point from research.
| 01 | 4-step booking (not 8) | Competitors avg 8–12 steps · 60% drop-off rate |
| 02 | Default 'next available' tech | 80% of users don't browse alternatives |
| 03 | No sign-up wall | Auth screens cause 24% pre-booking abandonment |
| 04 | 15% platform fee | Competitor benchmark 25–30% · technicians switching |
| 05 | Weekly SEPA payouts | 10/12 technicians cited wallet delays as #1 frustration |
| 06 | €20 deposit model | Technicians: ghost bookings without deposit = deal-breaker |
| 07 | Smart quote range | 9/12 customers: price ambiguity = primary reason not to book |
Every friction point removed. Every default set. Every screen simplified. Each one traces to a real signal from competitive research, community analysis, or usability testing.
Sources: Baymard Institute 2025 · BrightLocal 2025 · ServiceTitan 2025 · Housecall Pro 2026 · IMF Informality in Greece 2024 · ECB SPACE Survey 2024
7 features. 1 cohesive system.
Every feature exists because research demanded it. Each one is documented with the debate that shaped it — not just the decision, but the thinking that got there.
Four steps. No account wall. No surprises.
The booking flow is the product's core promise: from problem to confirmed booking without ever creating an account. Every step earns its place. Nothing is optional that wasn't already required.

Neither side trusts the other first. They trust the system.
The escrow model is the trust architecture. The €20 deposit makes the booking real. The €95 authorization hold exists on the customer's card but doesn't transfer until they confirm the work is done. When they do, escrow releases instantly.

No notification spam. The update happens where your attention already is.
The 5-step timeline is the core of the post-booking experience. When the technician marks a status, the customer's screen animates to the next step in real time. The escrow lock icon pulses until both parties confirm completion.

The second visit is worth more than the first. We designed for it.
The first visit is about conversion. Every visit after is about habit. The returning hero isn't a UI detail — it's a CLV strategy. Pre-filled address, saved card, past technician surfaced. From landing to booking: under 60 seconds.

€80–€120, based on 142 similar jobs' converts. 'Call for a quote' does not.
The Smart Quote engine pulls the assigned technician's onboarding rates and minimum charges, computes a firm total, and surfaces it to both sides with full transparency. Pricing disputes are eliminated before the job starts.

No wallet. No manual cash-out. Direct to their IBAN.
Every Tuesday, LocalFix batches Available Earnings and deposits them directly to the technician's verified IBAN via SEPA. No app. No bank transfer request. No wait. The weekly cadence is a retention lever — technicians who know exactly when they get paid stay longer.

The operational layer most portfolios skip. This one doesn't.
The Admin Command Center is architecturally separate from the user apps — no role bleeding, no cluttered routing. When a customer submits an Issue Report, the system automatically generates a Dispute (DIS-ID), freezes the escrow payment, and triggers a mandatory response window for the technician via their Support portal. The Admin UI aggregates both perspectives into a single, chronological thread, eliminating the need to switch between different tools to understand the context. The dispute flow makes evidence mandatory (filters bad-faith claims), shows both statements in one thread, and logs every resolution for audit.

Traditional platforms protect customers only. LocalFix protects both.
The trust system runs in four phases: verification before the first job, escrow and tracking during service, evidence-based recourse after completion, and a two-sided reputation system that self-cleans supply quality over time.
By requiring photo evidence from both the customer and the technician, we eliminate "he said/she said" scenarios. A customer who loses a dispute but feels the process was fair will book again. The system's integrity is the product's trust.
Designing for Trust: How Money Moves Through LocalFix
LocalFix acts as the orchestration layer. Stripe Connect handles funds movement and compliance. The design challenge: abstract a 5-step payment system into a seamless experience where neither side feels the complexity.
Card authorized. Not charged.
When a customer books, their card is authorized — not captured. The hold appears as 'Payment Secured' in the JobTracking UI. Both sides know funds are committed but haven't moved. Customers can cancel before work starts for a full refund.
Completion captures and splits instantly.
Customer confirms work done. Backend captures the authorized amount and splits immediately: 85% to technician Available Earnings, 15% platform fee. The earnings dashboard surfaces this math transparently — no hidden deductions.
No wallet. Direct to IBAN every Tuesday.
Digital wallets trigger EU e-money regulations. By batching SEPA transfers directly to verified IBAN every Tuesday, LocalFix acts as a payment facilitator — not a bank. Same model as Uber, Bolt, and all major Stripe Connect platforms.
UI shows 'Verification Pending' — blocks payout setup until approved. Prevents the jarring experience of attempting a transfer that fails silently.
Below every major competitor while covering Stripe processing (~2.5%), customer acquisition (~5%), operations (~3%), and ~4.5% margin.
The 15% fee is visible in the earnings dashboard — not hidden. Transparency prevents 'I didn't know about the fee' disputes. Every decision here — auth not capture, direct bank not wallet, visible not hidden fee — is a trust decision, not just a technical one.
One source of truth. Every pixel accountable.
LocalFix's design system was built so any new screen assembles in minutes. Tokens define everything. Components consume tokens. Screens consume components. The hierarchy never breaks.
Confirmed
Preparing
On the Way← live
In Progress
Completed
24px border-radius.
Backdrop-filter: blur(8px).
Used for: Booking · Payment · Review
Every token in designSystem.ts flows to every component. Change primary once — all 29 screens update. That's the system working. That's the point.
2 Tests. 11 Missions. 4 Critical Fixes.
Two separate Maze tests — one for customers, one for technicians — run as unmoderated website tests on desktop. Each test was designed to validate a specific side of the marketplace independently, using real task scenarios drawn from primary research.
Internal simulation controls (used to advance job states during development) were disabled for all Maze missions. Every success reflects a real user finding the correct UI element — not a developer shortcut.
"the site looks like it's one-time transactional... i see many stuff that i'd assume i need an account for. kinda confusing for a web app"
Small samples surface real friction. 7 customers and 4 technicians gave us more actionable signal than any assumption could. The 0% rebook rate alone reshaped how the soft account concept surfaces post-job.
3 Lessons from Designing a Dual-Sided Marketplace
Marketplaces live or die on trust architecture.
The hardest part wasn't designing screens — it was designing the trust model. Customers need to trust the price. Technicians need to trust they'll get paid. Every UX decision had to serve both sides equally, or the marketplace collapses.
I built the dispute flow, but it currently dumps unstructured text into a human support queue. I'd add time-bound SLAs — if neither side responds within 24 hours, the system auto-releases escrow to the technician. A malicious actor can currently ignore a dispute and the funds stay locked indefinitely. I'd also add a pre-dispute warning state when a technician tries to charge significantly more than the quoted estimate, triggering an automatic prompt for the customer to approve the extra cost before it hits their card.
'No feature' is a valid design decision.
I deliberately scoped down full backend-reliant features for this web case study. Features like in-app chat and recurring bookings exist in the prototype, but they rely on local state instead of real database persistence to keep the demo focused.
I'd document these as 'Phase 2 Features' in a roadmap appendix. Deliberately simplifying for the prototype and considering the actual architecure in production — proves strategic discipline better than just building everything at once.
"Cutting a feature you already coded is painful. But a focused prototype proves the concept better than a buggy full build."
Backend understanding is a design superpower.
Understanding Stripe Connect, escrow flows, and state management made me a better designer. I didn't just design a 'Pay Now' screen — I designed around payment realities.
I relied heavily on localStorage for session continuity to make the demo seamless. In production, I'd spend more time designing the state hydration layer — what happens when a user returns on a new device? How do we sync the active job state without a real-time websocket? These edge cases don't matter for a case study, but they break real products.
Designing LocalFix taught me that the best marketplace design isn't about screens — it's about removing the reasons people don't trust each other. Every screen I cut, every flow I simplified, and every edge case I over-engineered traces back to that one insight.
Where LocalFix goes from here
A 6-month validate-and-expand roadmap, followed by a year-2 differentiation layer — built around organic growth, operational efficiency, and a system that scales horizontally without rebuilding core infrastructure.
Validate Core Loop
Expand & Optimise
Differentiate & Scale
Most marketplaces die from operational complexity, not product design. Every decision below was made in the UX from day one — not bolted on after launch.
The verbatim feedback hinted at maps, leaderboards, and video tutorials. But before adding features, the next sprint is pure infrastructure.
Greece's home services market is ripe for disruption. International platforms extract 30% fees and don't localise. Local competitors lack trust infrastructure. LocalFix sits in the gap: fair fees, transparent pricing, Greek-first UX, and a payment architecture that protects both sides.