Skip to content
YASIR.
All work

GurJob

A two-sided hiring platform for Turkish-speaking businesses across Europe — native iOS app and web, on one Supabase backend.

Three screens from the GurJob iOS app: choosing between employer and job seeker, browsing listings, and managing a published listing.
Product
Own product
Discipline
Hiring platform
Year
2026
Status
Live
Role
ProductiOS (SwiftUI)Web (Next.js)Database & authPayments
Stack
SwiftUINext.js 15TypeScriptSupabasePostgreSQLStripe
Overview

Turkish businesses in Germany hire through WhatsApp groups and Facebook posts. GurJob gives that its own place: employers publish a listing, job seekers apply, and both sides keep a profile that carries over.

The hard part was never the screens. It was making sure an account cannot quietly become the other role, that a listing goes live only once payment has actually settled, and that the app and the website disagree about none of it.

Built end to end — product, iOS app, web app, database and payments. Currently in beta.

What mattered
  • 01

    Roles that hold

    Employer and job seeker split at onboarding and stay split. Role integrity is enforced in Postgres with row-level security, not in the client where it can be talked out of.

  • 02

    Paid means published

    Listings are published by a Stripe webhook, never by the app optimistically assuming a card went through.

  • 03

    Two clients, one truth

    The SwiftUI app and the Next.js site read the same schema and the same policies, so a rule fixed once is fixed everywhere.