PRODUCT

Halal Maps — Case Study

A community-powered halal restaurant discovery app, designed for scale and reliability

Role:Ā Founder, Product Engineer Platform:Ā iOS (Swift), Firebase, React Dashboard Status:Ā Beta | Selected for Generate Accelerator Showcase

🧭 Discovery & Research

Before writing code, I researched how users currently find halal restaurants. I examined:

I also spoke with ~12 people who adhered to a Halal diet. Everyone said the same thing:

ā€œThere’s no reliable way to find halal restaurants that’s actually up to date.ā€

To validate demand and messaging, I also did light outreach:

These early experiments brought inĀ ~300 sign-ups in a few days of outreach, confirming clear user interest in the idea.

🧰 Defining Product Requirements

I scoped the MVP around real user pain points.

User-facing features:

Backend needs:

šŸ›  Backend & Internal Tools

I built a customĀ React dashboardĀ to support internal ops:

šŸ” Versioned Data Sync System

To minimise bandwidth and ensure users stay in sync, I designed aĀ comprehensive version-controlled update system which you can read more about >>here<<

How it works:

  1. App checksĀ metadata.jsonĀ (tiny file with version + hash)
  2. If out of date, it loadsĀ manifest.jsonĀ with available update paths
  3. Based on current version, the app downloads the most efficient update
  4. Each file is validated using a SHA-256 hash before applying

šŸ”„ Version Flow Logic

There are two main paths to reach the latest version (1.04):

1. Diff-Based Path (for regular users):

1.00 (full) → 1.01 (diff) → 1.02 (diff) → 1.04 (diff) āœ… Small updates (~5–15KB) for users who stay current

2. Full Update Path (for new or out-of-sync users):

1.03 (full) → 1.04 (diff) āœ… Full updates (~1-2MB) for new users or inactive users

āœ… Reliable fallback when version chain is broken

🧠 Debugging & Recovery

If a version is faulty:

šŸš€ Outcome