KACHIX

Home services · Kachix product

Sna3tak — matching Egyptian craftsmen with local clients

Web DevelopmentMobile Application DevelopmentBackend, APIs & Integrations
Sna3tak — matching Egyptian craftsmen with local clients — cover image

Challenge

Finding a plumber or a carpenter in Egypt still runs on word of mouth and a phone number written on a wall. The client cannot see who is any good, and the craftsman has no way to prove it. Both sides absorb the risk: the client gambles on quality, the craftsman gambles on getting paid.

A marketplace only fixes that if trust is designed in. Anyone can list themselves, so verification has to be a gate rather than a badge. Both sides are Arabic-speaking, so Arabic and right-to-left layout are the default, not a translation layer added later.

Solution

Our team built the platform on Supabase as the single backend — Postgres with PostGIS for geography, plus Auth, Realtime, Storage, and row-level security — with two frontends against it: Next.js for the responsive client and craftsman web plus a separate admin panel, and Flutter for the native apps.

Putting the rules in the database rather than in each client was the choice that mattered. Three surfaces (web, mobile, admin) touch the same data, and rules duplicated across three codebases drift. Row-level security decides who can read what. Booking correctness is a partial-unique constraint, so two clients racing for the same slot cannot both win regardless of which app they came from. Review moderation is enforced in the data layer too — a hidden review is excluded from the rating it would otherwise skew.

Registration runs through ID verification and admin approval before a craftsman can accept work. Discovery combines trade filters with geographic search and a sort that weighs proximity and rating together. Jobs move through an explicit lifecycle, with real-time text and image messaging attached, and ratings that auto-flag suspicious patterns for the moderation queue.

Results

The build covers every use case in the source requirements — auth and onboarding, profiles, geographic search, the job lifecycle, messaging, ratings, and the admin panel — and then extends past them with push notifications and per-category preferences, craftsman availability and booking, and favourites with review moderation.

Correctness is held by 56 integration tests that run against the live stack rather than mocks, including a ten-step end-to-end scenario that walks a job from search to rating.

Sna3tak — matching Egyptian craftsmen with local clients — image 1 of 6
Sna3tak — matching Egyptian craftsmen with local clients — image 2 of 6
Sna3tak — matching Egyptian craftsmen with local clients — image 3 of 6
Sna3tak — matching Egyptian craftsmen with local clients — image 4 of 6
Sna3tak — matching Egyptian craftsmen with local clients — image 5 of 6
Sna3tak — matching Egyptian craftsmen with local clients — image 6 of 6
First four screens are the running web app on development seed data — home, craftsman search, a verified profile, and how it works; the last two are design concepts.

Want results like these? Tell us what you're trying to build.

Start a project