Sahm food Quest Details
Quest #82 Registration

💼 Hiring Quest – Kotlin Multiplatform Engineer (POS Systems) @ Sahm Food

Challenge-based hiring quest with structured evaluation and real project outcomes.

Status: Registration Registration: May 16, 2026 Submission: May 19, 2026
Meta Info
Category
Registration
Status
Registration
Registration Deadline
May 16, 2026
Submission Deadline
May 19, 2026
Prize

Top performers get hired with a paid contract and the opportunity to work on real-world projects.

Quest Brief

👋 We are Sahm Food, a fast-growing FoodTech company building technology that powers restaurants, delivery operations, and customer experiences across Egypt.

Our ecosystem includes mobile apps (iOS & Android), admin dashboards, and a full suite of POS & CRM systems used by restaurants to manage orders, payments, and operations in real time.

We’re now building the next generation of our POS system using Kotlin Multiplatform — and we’re looking for a Kotlin Multiplatform Engineer (3-5 YOE) to help us scale it across devices and platforms.


🕓 Start Date: Immediate
📍
Location: On-site – Makram Ebeid, Nasr City
💰
Salary: 60,000 – 80,000 EGP
📌
Type: Full-time


🛠️ How the Hiring Quest Works

1️⃣ Register for the quest
2️⃣ Receive the full challenge instructions
3️⃣ Submit your solution before the deadline
4️⃣ Top candidates are invited to a technical review session
5️⃣ One candidate will be hired


🔍 Who We’re Looking For

  1. ✔️ 3-5 years experience in mobile development (Android / iOS)

  2. ✔️ Strong experience with Kotlin Multiplatform (KMM)

  3. ✔️ Deep knowledge of Kotlin (Coroutines, Flows, clean architecture)

  4. ✔️ Experience with Compose Multiplatform / Jetpack Compose

  5. ✔️ Strong understanding of offline-first architecture & local databases

  6. ✔️ Experience integrating with POS hardware (printers, scanners, payment terminals) is a plus


🎯 Your Mission: Build a Real POS Module

You’ll simulate working on a real Sahm Food system by designing and implementing part of a cross-platform POS system using Kotlin Multiplatform.


🧪 The Challenge

🧩 Build a Mini POS System

Design and implement a simplified POS module that includes:

Core Features:

  1. Create and manage orders

  2. Add/remove items from cart

  3. Calculate totals (tax, discount optional)

  4. Save transactions locally


⚙️ Technical Requirements

✅ Kotlin Multiplatform (Core)

  1. Shared business logic across platforms

  2. Clean architecture (separation of concerns)

  3. Use Coroutines / Flows for async & state


✅ UI Layer

  1. Build UI using:

  2. Compose Multiplatform OR

  3. Android (Jetpack Compose) + simple iOS UI


✅ Offline-First Architecture

  1. Store orders locally (SQLite / local DB)

  2. System must work without internet

  3. Design a sync strategy (queue, retry, conflict handling)


✅ Hardware Simulation

Simulate at least ONE:

  1. 🖨️ Receipt printing

  2. 📦 Barcode scanning

  3. 💳 Payment flow

(Mock implementations are acceptable)


🧪 What You Should Submit

✅ Codebase

  1. Clean, well-structured KMP project

  2. Clear separation between shared & platform code

  3. Readable, maintainable code


✅ Architecture Overview

Explain:

  1. Project structure

  2. Why you chose your architecture

  3. State management approach

  4. Offline-first strategy

  5. Sync design (even if not fully implemented)


✅ Feature Demonstration

Show:

  1. Order creation flow

  2. Cart updates

  3. Data persistence

  4. Hardware simulation


✅ (Bonus)

💡 Implement a basic sync mechanism

💡 Add logging or analytics

💡 Suggest how this system scales for multi-branch restaurants


📹 Video Walkthrough (5–8 min) – Advanced

This is a key evaluation component.

Your video must include:

1️⃣ Product Thinking

  1. What problem your POS solves

  2. Who the user is (cashier, restaurant owner…)

  3. Key workflows


2️⃣ Architecture Deep Dive

  1. Explain your KMP structure

  2. Shared vs platform-specific code

  3. Why you chose this design


3️⃣ Offline-First Strategy

  1. How data is stored locally

  2. How sync works (or would work)

  3. How you handle failures / retries


4️⃣ Code Walkthrough

  1. Key modules

  2. State management

  3. Business logic


5️⃣ Trade-offs & Decisions

  1. What you simplified

  2. What you’d improve with more time

  3. Performance or scaling considerations


📝 Submission Requirements

⚠️ We evaluate real engineering thinking — not just polished output

  1. Over-engineered or copied solutions without understanding will be rejected

  2. Clear thinking > complex implementation


📦 Deliverables

  1. 💻 GitHub Repository

  2. 📄 Architecture Notes

  3. 📹 Video Walkthrough (5–8 min)


🤖 AI Usage Transparency

If you used AI tools, please share your prompts and relevant conversation excerpts; submissions will be evaluated based on your understanding, not just the final output.


📊 Evaluation Criteria

  1. Architecture & KMP usage – 30%

  2. Code quality & structure – 25%

  3. Offline-first thinking – 20%

  4. Product thinking (POS workflow) – 15%

  5. Bonus (scalability & ideas) – 10%


📩 What Happens After Submission

Shortlisted candidates will be invited to a live technical session, where we will:

  1. Deep dive into your architecture decisions

  2. Discuss offline-first challenges and sync strategies

  3. Evaluate your ability to build real-world POS systems

👉 Final decisions will be made within 5-10 business days after the interview

C Q For Digital Solution Trading as Code Quests
Making the world a better place through competitive crowdsourcing programming.