Back

Post a job

Describe it once. We will show you verified pros nearby who can take it on.

Trade
How soon?

No address yet — we will match from Ciudad de México.

Budget (optional)

You will sign in on the next step. Nothing you have typed is lost.

Linkdr

Hire a tradesperson the way you swipe

A mobile marketplace connecting customers with verified local trades. Post a job, swipe through pros who cover your area, agree a price in chat, book the slot and review each other afterwards.

Try it yourself

Sign in on the phone to the left. The whole product runs in there.

Mobile+525500000000
Code000000

What it does

Swipe to hire
— Send a job with one gesture.
Real distance
— PostGIS ranks by metres, not postcodes.
Verified pros
— ID, insurance and licence checked first.
Chat per job
— Private, with photos and receipts.
Quote to booking
— Agree a price, book the slot, confirm.
Blind reviews
— Hidden until both sides have written.

Built with

One codebase, two stores. The customer product is mobile only and ships to the App Store and Google Play wrapped in Capacitor — one thing to build and one thing to fix, rather than two native apps drifting apart.

MobileCapacitoriOSAndroid
AppNext.js 15React 19TypeScriptTailwind v4Motion
APItRPC v11Zodbetter-auth
DataDO Managed PostgresPostGISDrizzle ORMDO Managed Redis
ServicesDO Spaces (S3)Cloudflare AccessMapboxTwilioResendSentry
ToolingTurborepopnpmVitest

Architecture

Two ways in, and only one of them is a browser. Customers only ever reach this as an installed app, so there is no public website — which is why trust has to come from the store listing and the verification badge rather than from a web address. The browser is for your staff: it opens the admin dashboard behind Cloudflare Access, where a person proves who they are before their request reaches the server.

Nothing in the blue box is a server we look after. DigitalOcean runs it — certificates, domain, health checks, scaling — and the app, the API and sign-in live in one service instead of three.

CUSTOMERSADMIN DASHBOARDiOSCapacitorAndroidCapacitorMobile only — the product ships to the app stores and nowhere else.Admin dashboardbrowser · staff onlyCloudflare AccessZero Trust — identity checked before the request reaches usHTTPSDigitalOcean App PlatformTLS · domain routing · health checks · scaling — all managedAPPLICATIONNext.js 15React 19 · SSRtRPC v11Zod · superjsonbetter-authOTP · OAuthDATADO Managed PostgresPostGIS · Drizzle ORMDO Managed Redissessions · queuesEXTERNALDO SpacesS3MapboxgeocodeTwilioSMSResendemailSentryerrorswe run itsomeone else does

Still to decide

Everything below already has a behaviour. These are the ones worth choosing deliberately rather than inheriting.

Money

  • Do we hold the money until the job is done, or do customers pay the pro directly?

    Today: Nothing is charged. Quotes and bookings work; no payment is taken at any point.

  • What is the commission, and who pays it — the customer, the pro, or split?

    Today: Set to 15% in config, applied nowhere.

  • Deposit up front, or the whole amount on completion?

    Today: Neither. The slot is booked on a promise.

  • A customer cancels the day before — what do they owe?

    Today: Free up to 24h before, then 25%. The rule is written and tested; no money moves.

Scheduling

  • Do pros publish real availability, or is a time agreed in the chat?

    Today: Agreed in chat. The customer picks any date and time when accepting a quote.

  • Should the system stop a pro being double-booked?

    Today: No check. Two customers can book the same pro for the same hour.

  • If a customer never confirms the work is finished, should it auto-confirm?

    Today: It waits forever. A 72-hour rule is written but nothing runs it.

Trust and safety

  • Should we block phone numbers and emails in chat?

    Today: Anything can be sent. Two people can agree to take the job off the platform.

  • What happens when the two sides disagree about finished work?

    Today: A disputed state exists in the model. Nothing can reach it.

  • ID checks — automated, or a person reviewing documents?

    Today: A person. Documents are uploaded and reviewed by hand in the admin queue.

  • A pro’s insurance expires. Do they come off the platform automatically?

    Today: The expiry date is stored. Nothing checks it.

Launch

  • How many trades do we open with — and who recruits the pros for them?

    Today: Fifteen are live. The other thirty-five are hidden rather than listed empty, so a customer is never offered a trade nobody can do. Widening the list means recruiting the supply first.

  • One city, or several from the start?

    Today: One. The city is a setting, so a second is configuration rather than a rebuild.

  • Which events are worth an SMS, given each one costs money?

    Today: A pro is texted about a new job and an answer. Messages and bookings are silent.

Delivery and cost

To build and launch

$4,400–6,000

One-off. Where it lands depends on the answers above.

Timeline

6–10 weeks

Six if the open questions are settled early, ten if they are not.

Hosting, per month

  • Managed PostgresThe database, with PostGIS$15
  • Managed RedisSessions, caching, job queue$15
  • App PlatformRuns the app itself$24
  • SpacesPhotos and documents$5
  • Total$59/mo

You pay DigitalOcean directly. This is not part of our fee and there is no markup on it — the account is yours, so you can see the bill and change the plan without going through us.

DigitalOcean is the quote, not the requirement. What runs is a container and a Postgres database, so it runs just as well on AWS, Google Cloud, Hetzner or whatever you already have an account with — only the figures above change. We price DigitalOcean because it is the cheapest of the managed options at this size and its bill is legible.

$59 is the smallest tier of each. Enough to launch on and to run while the platform is finding its first customers.

Costs rise with use, unevenly. The database is the first thing that will need a larger plan; storage creeps up slowly as photos accumulate; the app itself can stay where it is for a long time.

Services it calls

  • TwilioPer message

    No monthly fee, but every sign-in code and job alert is a few cents, plus a rented number. The only one that costs money from day one.

  • MapboxFree to start

    Free up to tens of thousands of address lookups a month. Climbs with searches, not with customers.

  • ResendFree to start

    Free for the first few thousand emails a month, about $20 after that.

  • SentryFree to start

    Free tier covers early error volumes, around $26 once it does not. Optional — it reports crashes, it does not run anything.

Separate accounts, separate bills, all in your name. None of these is charged by us and none has a markup.

App store accounts

  • Apple Developer Program$99 / year

    Required to put anything on the App Store, and it lapses if unpaid — the app comes down with it. A company account also needs a D-U-N-S number, which is free but takes a couple of weeks, so it is worth starting early.

  • Google Play Console$25 once

    One payment, for the life of the account. Review is faster and less strict than Apple’s.

The app is published under your developer accounts, not ours — the same reason the hosting is yours. An app on our account is an app you cannot take with you, and moving one afterwards means a new listing and losing its reviews and ranking.