Skip to content
Karaman Mobile ikonuIn development2026

Karaman Mobile

City news, local discovery and food ordering in one mobile experience.

iOSAndroid
Let’s build something like this
Karaman Mobile interface 1
Karaman Mobile interface 2
AppAMG / 26
Project
Karaman.com
Our role
Design · Software development
Platforms
iOS · Android

01 / Behind the product

A real need. A considered solution.

01

Challenge

Karaman.com already had user accounts, restaurants and an API; the mobile app had to deliver the city portal and food ordering in one experience without rebuilding any of that. The client would build for the stores from their own Expo and Firebase accounts, so no secret could live in the source.

02

Approach

A monorepo: an Expo SDK 55 app plus shared packages (API client, types, utilities). A bridge Edge Function maps the karaman.com JWT to a Supabase profile while keeping the site’s real email. Ordering supports iyzico, Garanti POS and cash on delivery; a successful online payment does not count as restaurant approval, so orders start as pending. Delivery zones are validated server-side as PostGIS polygons and commission is computed on the order total. Push reaches guests too, through account-independent device registration and category preferences. The production profile refuses to build with mock data.

03

Result

Delivered in September 2026 with source, setup instructions and server release notes; the restaurant and admin panels share the same Supabase project. News, tourist places, on-duty pharmacies, weather and transport schedules on the city side; restaurants, order tracking and campaigns on the ordering side.

03 / Scope & details

The details make the experience.

  • 01

    An identity flow bridging Karaman.com accounts

  • 02

    iyzico, Garanti POS and cash on delivery

  • 03

    Delivery zones validated with PostGIS

  • 04

    Push that reaches guests; weather, on-duty pharmacies, transport schedules

Technology

React NativeExpoTypeScriptSupabase

INSIDE THE PRODUCT

The engineering behind the interface.

Systems we built and concrete problems we addressed in this project.

01

The identity bridge

The bridge-session Edge Function validates the karaman.com JWT and maps it to a Supabase profile; the site’s real email is used and synthetic profile emails were cleaned up. No Karaman API key lives in the app; calls go through karaman-proxy.

02

Payment and order state

create-order opens the order as pending; iyzico-webhook and garanti-webhook process payment without standing in for restaurant approval. Status transitions are bound to the authorised role and a single history record, verified by a local database test under the restaurant role.

03

Delivery zones and commission

Zones live in PostGIS through the geography_helpers and delivery_zone_rpc migrations, with the server validating a proper Polygon. Commission is a rate on the order total (200 TL × 10% = 20 TL), with a correction migration for pending commissions.

Your idea could be next.

What could we build for you?

From a first release to a growing platform. Let’s plan the design, development and launch together.

Tell us about your project

From Türkiye to the US, UK, Australia and everywhere in between.