Content
<div align="center">
<br>
<img src="docs/screenshots/LOGO.png" width="82" alt="CityHealth" />
<br><br>
<h1>CITYHEALTH</h1>
<p><strong>Algeria's Verified Health Infrastructure — Accessible as a Platform</strong></p>
<p>One verified network. Real-time access. Zero friction.</p>
<br>
<!-- Row 1 — Core links -->
<a href="https://cityhealthdz.com"><img src="https://img.shields.io/badge/🌐_Website-cityhealthdz.com-01696f?style=for-the-badge&logoColor=white" alt="Website" /></a>
<a href="https://mcp.cityhealthdz.com/mcp"><img src="https://img.shields.io/badge/🤖_MCP_API-Live-4f98a3?style=for-the-badge" alt="MCP API" /></a>
<a href="mailto:contact@cityhealthdz.com"><img src="https://img.shields.io/badge/✉️_Contact-contact@cityhealthdz.com-01696f?style=for-the-badge" alt="Contact" /></a>
<br><br>
<!-- Row 2 — Tech stack -->
<img src="https://img.shields.io/badge/React-18-61DAFB?style=flat-square&logo=react&logoColor=black" alt="React" />
<img src="https://img.shields.io/badge/TypeScript-5-3178C6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" />
<img src="https://img.shields.io/badge/Supabase-PostgreSQL-3ECF8E?style=flat-square&logo=supabase&logoColor=white" alt="Supabase" />
<img src="https://img.shields.io/badge/Google_Gemini-2.5_Flash-4285F4?style=flat-square&logo=google&logoColor=white" alt="Gemini" />
<img src="https://img.shields.io/badge/Railway-Deployed-0B0D0E?style=flat-square&logo=railway&logoColor=white" alt="Railway" />
<img src="https://img.shields.io/badge/MCP-Protocol-7C3AED?style=flat-square" alt="MCP" />
<img src="https://img.shields.io/badge/Vite-5-646CFF?style=flat-square&logo=vite&logoColor=white" alt="Vite" />
<img src="https://img.shields.io/badge/Tailwind_CSS-3-06B6D4?style=flat-square&logo=tailwindcss&logoColor=white" alt="Tailwind" />
<br><br>
<!-- Row 3 — Status -->
<img src="https://img.shields.io/badge/Web_Portal-✅_Live-01696f?style=flat-square" alt="Web" />
<img src="https://img.shields.io/badge/Mobile_PWA-✅_Live-01696f?style=flat-square" alt="Mobile" />
<img src="https://img.shields.io/badge/Browser_Extension-✅_Live-01696f?style=flat-square" alt="Extension" />
<img src="https://img.shields.io/badge/Developer_API-✅_Active-4f98a3?style=flat-square" alt="API" />
<img src="https://img.shields.io/badge/Coverage-Sidi_Bel_Abbès,_Algeria-lightgrey?style=flat-square" alt="Coverage" />
<br><br>
</div>
---
<br>
| 🏥 Verified Providers | 🤖 6 MCP Tools | 📦 4 Platforms | 🌍 Coverage |
| :---: | :---: | :---: | :---: |
| Active & growing | MCP · REST · free / pro / enterprise | Web · Mobile · Extension · API | Sidi Bel Abbès → All Algeria |
<br>
---
<br>
## Table of Contents
- [The Problem](#the-problem)
- [The Solution](#the-solution)
- [How It Works](#how-it-works)
- [Platform — Web Portal](#platform--web-portal)
- [Platform — For Providers](#platform--for-providers)
- [Platform — Mobile App](#platform--mobile-app)
- [Platform — Browser Extension](#platform--browser-extension)
- [What Makes It Verified](#what-makes-it-verified)
- [Core Capabilities](#core-capabilities)
- [Developer & Enterprise API](#developer--enterprise-api)
- [Technology](#technology)
- [Roadmap](#roadmap)
- [Platform Status](#platform-status)
- [The Team](#the-team)
<br>
---
<br>
## The Problem
> In Algeria, accessing critical healthcare in an emergency is **fragmented, manual, and unreliable.**
<br>
| What Exists Today | The Real Cost |
| :--- | :--- |
| 🔴 **No verified provider directory** | Patients navigate WhatsApp groups and outdated paper lists during emergencies. |
| 🔴 **No real-time pharmacy duty status** | Families drive from pharmacy to pharmacy at night not knowing which one is open. |
| 🔴 **No structured blood donation system** | Urgent blood requests scatter across social media with no matching, no urgency tracking, no system. |
| 🔴 **No emergency resource map** | Emergency facilities have no live status. Closed doors are discovered on arrival. |
| 🔴 **No provider identity verification** | No way to confirm a practitioner's credentials before walking through their door. |
<br>
**CityHealth replaces all of this** — with a single, verified, real-time healthcare infrastructure that works for patients, providers, and operators alike.
<br>
---
<br>
## The Solution
<div align="center">
<br>
> **Four channels. One source of truth. Built for real conditions.**
<br>
| | Product | Who It Serves | What It Solves |
| :---: | :--- | :--- | :--- |
| 🌐 | **Web Portal** | Patients & Public | GPS-aware search across doctors, clinics, pharmacies, and emergency services — verified results, instantly. |
| 📱 | **Mobile App** | Patients on the go | Installable, offline-capable with push notifications for emergencies and blood donation alerts. |
| 🔌 | **Browser Extension** | Power users | On-duty status and emergency triage from any browser tab — no navigation, no delay. |
| 🤖 | **Developer API (MCP)** | Hospitals · Insurers · AI | Full programmatic access to the verified directory for enterprise and third-party integration. |
</div>
<br>
---
<br>
## How It Works
<div align="center">
<br>
<img src="docs/screenshots/website/roadmap.png" width="88%" alt="How CityHealth Works — 3 steps" />
<br><br>
| Step | Action | What Happens |
| :---: | :--- | :--- |
| **01 · Search** | Find by specialty, name, or location | Every result comes from our verified database — no unconfirmed listings, ever. |
| **02 · Compare** | View profiles, reviews, and availability | Detailed provider cards with real-time open/closed status, ratings, and contact info. |
| **03 · Contact** | Book, call, or get directions | One tap to reach the provider — online booking, direct call, or GPS navigation. |
</div>
<br>
---
<br>
## Platform — Web Portal
### Patient-Facing
<div align="center">
<br>
<img src="docs/screenshots/website/homepage.png" width="90%" alt="CityHealth Homepage — Find your doctor" />
<sub><b>Homepage</b> — GPS-aware provider search. Doctors, clinics, pharmacies, and emergency services in one place.</sub>
<br><br>
<table>
<tr>
<td align="center" width="25%">
<img src="docs/screenshots/website/map.png" width="100%" alt="Interactive Map View" /><br>
<sub><b>Interactive Map View</b><br>Distance-ranked providers on a live GPS map. Find what's closest before you move.</sub>
</td>
<td align="center" width="25%">
<img src="docs/screenshots/website/search.png" width="100%" alt="Advanced Search" /><br>
<sub><b>Advanced Search & Filters</b><br>Filter by specialty, city, language, and live availability. Every result is verified.</sub>
</td>
<td align="center" width="25%">
<img src="docs/screenshots/website/blood%20donation.png" width="100%" alt="Blood Donation & Emergency" /><br>
<sub><b>Blood Donation & Emergency</b><br>Urgent requests matched by blood type and proximity. Emergency facilities with live status.</sub>
</td>
<td align="center" width="25%">
<img src="docs/screenshots/website/client%20public%20ccard.png" width="100%" alt="Medical Emergency Card" /><br>
<sub><b>Digital Medical Emergency Card</b><br>Scannable QR card with the patient's critical medical data — accessible in any emergency, instantly.</sub>
</td>
</tr>
</table>
<br>
<table>
<tr>
<td align="center" width="50%">
<img src="docs/screenshots/website/public%20provider%20profil.png" width="100%" alt="Public Provider Profile" /><br>
<sub><b>Public Provider Profile</b><br>Full verified profile — specialties, reviews, ratings, contact, location, and real-time availability.</sub>
</td>
</tr>
</table>
</div>
<br>
---
<br>
## Platform — For Providers
> Providers get their own dedicated workspace to manage their presence, credentials, and patient interactions on CityHealth.
<div align="center">
<br>
<table>
<tr>
<td align="center" width="33%">
<img src="docs/screenshots/website/join%20CityHealth.png" width="100%" alt="Join CityHealth" /><br>
<sub><b>Join CityHealth</b><br>Free registration for verified healthcare professionals. List your practice and reach patients actively searching for care.</sub>
</td>
<td align="center" width="33%">
<img src="docs/screenshots/website/providers%20regiter.png" width="100%" alt="Provider Registration" /><br>
<sub><b>CityHealth Pro Registration</b><br>Structured onboarding — specialty, consultations, address, and credential submission for OCR verification.</sub>
</td>
<td align="center" width="33%">
<img src="docs/screenshots/website/provider%20dashboard.png" width="100%" alt="Provider Dashboard" /><br>
<sub><b>Provider Dashboard</b><br>Manage your public profile, track patient interactions, update availability, and monitor your verification status.</sub>
</td>
</tr>
</table>
</div>
<br>
---
<br>
## Platform — Mobile App
<div align="center">
<br>
<table>
<tr>
<td align="center" width="20%">
<img src="docs/screenshots/apk/home%20screen.png" width="100%" alt="Mobile Home Screen" /><br>
<sub><b>Home Screen</b><br>All services at a glance — designed for one-handed use under pressure.</sub>
</td>
<td align="center" width="20%">
<img src="docs/screenshots/apk/map.png" width="100%" alt="Mobile GPS Map" /><br>
<sub><b>GPS Provider Map</b><br>Live map view on mobile. Offline-capable with cached critical data.</sub>
</td>
<td align="center" width="20%">
<img src="docs/screenshots/apk/urg%20map.png" width="100%" alt="Emergency Map" /><br>
<sub><b>Emergency Map</b><br>Red-alert overlay for urgent care. Nearest emergency facilities surfaced instantly.</sub>
</td>
<td align="center" width="20%">
<img src="docs/screenshots/apk/chat%20bot.png" width="100%" alt="AI Chatbot Suite" /><br>
<sub><b>AI Chatbot Suite</b><br>4 distinct Gemini-powered bots: Maps, Symptom Triage, Docs, and Provider Profiles.</sub>
</td>
<td align="center" width="20%">
<img src="docs/screenshots/apk/search.png" width="100%" alt="Mobile Search" /><br>
<sub><b>Search & Filter</b><br>Full provider search on mobile — same verified data, same real-time results.</sub>
</td>
</tr>
</table>
<br>
<sub>Installable on Android & iOS · Offline-capable · Push notifications for emergencies · AI chatbot suite included</sub>
</div>
<br>
---
<br>
## Platform — Browser Extension
<div align="center">
<br>
<table>
<tr>
<td align="center" width="48%">
<img src="docs/screenshots/extention/extention.png" width="72%" alt="Browser Extension Popup" /><br>
<sub><b>Quick-Access Popup</b><br>Pharmacy duty status, emergency providers, and blood donation alerts — from any browser tab, in one click.</sub>
</td>
<td align="center" width="48%">
<img src="docs/screenshots/extention/settings.png" width="72%" alt="Browser Extension Settings" /><br>
<sub><b>Settings & Preferences</b><br>Configure your wilaya, notification triggers, and alert thresholds without leaving the browser.</sub>
</td>
</tr>
</table>
<br>
<sub>Available for Chrome & Firefox · Manifest V3 · Zero data collection</sub>
</div>
<br>
---
<br>
## What Makes It Verified
Every provider appearing in CityHealth results has passed a structured qualification process. This is what separates us from every generic directory.
<br>
```
VERIFICATION PIPELINE
──────────────────────────────────────────────────────────────────
① Document Submission → License, registration, and identity uploaded
② OCR Extraction → AI-powered text extraction (Arabic / French / English)
③ Cross-Reference Check → Matched against official registries via weighted scoring
Legal Reg # ········ 50%
Contact Identity ···· 30%
Business Name ······· 20%
④ Address & GPS Confirm → Physical location verified and pinned on map
⑤ Live Status Monitoring → On-duty flags updated in real time
⑥ Ongoing Review → Periodic re-verification + user-reported flags
──────────────────────────────────────────────────────────────────
Result: Every listing in the directory is verified before it goes live.
```
<br>
---
<br>
## Core Capabilities
<br>
| Capability | What It Does |
| :--- | :--- |
| **Verified Provider Directory** | Doctors, specialists, clinics, hospitals — searchable by specialty, language, and live availability. |
| **Pharmacy Duty Finder** | Real-time night-duty pharmacy status. Know which pharmacy is open before you leave home. |
| **24/7 Emergency Index** | Verified emergency facilities with live open/closed status — always current, never stale. |
| **Blood Donation Network** | Urgent requests matched to eligible donors by blood type, urgency level, and proximity. |
| **Medical Emergency Card** | Scannable patient QR card with critical medical data — accessible in any emergency. |
| **AI Chatbot Suite** | 4 distinct Gemini-powered assistants: Maps, Symptom Triage, Provider Profiles, and Docs. |
| **GPS-Aware Search** | Distance-ranked results relative to the user's live position. No manual city input required. |
| **Provider Dashboard** | Full CRM-style workspace for providers to manage their presence and credentials. |
| **Developer API (MCP)** | Structured programmatic access to all platform data for enterprise and AI integration. |
<br>
---
<br>
## Developer & Enterprise API
CityHealth exposes its entire verified directory through a structured **MCP (Model Context Protocol) API** and a **Developer REST API** — allowing hospitals, health insurers, NGOs, civic platforms, and AI health systems to integrate real, verified Algerian health data directly into their products.
<div align="center">
<br>
<img src="docs/screenshots/website/dev%20api.png" width="88%" alt="CityHealth Developer API — Core Endpoints" />
<sub>Core Endpoints — REST API with API key authentication, rate limiting, and free / pro / enterprise tiers</sub>
</div>
<br>
```
API ENDPOINT
https://mcp.cityhealthdz.com/mcp
AUTHENTICATION
REST API → x-api-key header · Scoped permissions · free / pro / enterprise tiers
MCP → Tool calls from any MCP-compatible AI client (Claude, ChatGPT, custom agents)
AVAILABLE MCP TOOLS
──────────────────────────────────────────────────────────────────
find_nearby_providers → GPS-radius search across all provider types
get_emergency_providers → All 24/7 and urgent-care facilities, live status
get_pharmacy_on_duty → Night-duty pharmacies, updated in real time
search_providers → Keyword + specialty + availability filters
find_blood_donors → Active donation requests by blood type & location
get_provider_details → Full verified profile by provider ID
──────────────────────────────────────────────────────────────────
ENTERPRISE USE CASES
──────────────────────────────────────────────────────────────────
✦ Hospital systems → Real-time nearby provider and specialist lookup
✦ Health insurers → Verified in-network directory synchronization
✦ NGOs & relief orgs → Emergency resource mapping and coordination
✦ AI health assistants → Grounded, verified provider responses (MCP-native)
✦ Civic health platforms → Embedded verified health infrastructure layer
──────────────────────────────────────────────────────────────────
```
<br>
<div align="center">
**Interested in API access or a partnership?** → [contact@cityhealthdz.com](mailto:contact@cityhealthdz.com)
</div>
<br>
---
<br>
## Technology
The CityHealth stack is built around three principles: **verified data at the core**, **real-time access at the edge**, and **AI-ready from day one** via the MCP layer.
<br>
<div align="center">
<img src="docs/architecture/teck.png" width="92%" alt="CityHealth Full System Architecture" />
<br>
<sub>Full system architecture — External AI clients and API consumers → MCP Server + Developer REST API → Supabase Ecosystem → PostgreSQL + Google Gemini</sub>
</div>
<br>
**Four distinct layers work together:**
- **Frontend Application** — Vite orchestrates a React + TypeScript SPA handling all client-side UI, SPA routing, and real-time data sync
- **External Access Layer** — AI clients (Claude, ChatGPT, custom agents) connect via the MCP Server using tool calls; API consumers connect via REST with `x-api-key` auth, rate limiting, and free/pro/enterprise scoped permissions
- **Backend & API Layer (Supabase Ecosystem)** — Developer REST API, PostgREST auto-generated core API, and Edge Functions (serverless Deno runtime) for complex AI workflows and OCR verification
- **AI Integration** — Google Gemini 2.5 Flash powers the 4-bot suite (Maps, Triage, Docs, Profiles) and AI orchestration via Edge Functions
<br>
| Layer | Technology |
| :--- | :--- |
| Frontend | React 18, TypeScript, Tailwind CSS, Vite |
| Maps | Leaflet.js, OpenStreetMap |
| State & Data | TanStack Query, Zustand |
| Backend | Supabase — PostgreSQL (ACID · RLS · Realtime · Views) |
| Core API | PostgREST — auto-generated REST from schema |
| Developer API | REST · x-api-key Auth · Rate Limiting · free/pro/enterprise |
| Serverless | Edge Functions — Deno Runtime |
| AI Chatbot Suite | Google Gemini 2.5 Flash — Maps, Triage, Docs & Profiles |
| OCR Engine | Tesseract.js — Arabic, French, English |
| Fuzzy Matching | fuse.js — weighted multi-field scoring |
| MCP Server | Node.js, hosted on Railway — 6 health tools |
| Mobile | Progressive Web App — installable, offline-capable |
| Browser Extension | Manifest V3 — Chrome & Firefox |
<br>
---
<br>
## Roadmap
```
WHAT'S NEXT
──────────────────────────────────────────────────────────────────
✅ v1.0 Web Portal + Mobile PWA + Browser Extension Live
✅ v1.1 MCP Server — AI-queryable health data Live
✅ v1.2 Developer REST API — free / pro / enterprise tiers Live
🔄 v1.3 B2B API Dashboard — usage analytics & key mgmt In progress
🔄 v1.4 React Native mobile app — deeper native integration In progress
🔄 v1.5 Expand to 10 Algerian wilayas In progress
🔜 v2.0 Appointment booking — real-time slot management Planned
🔜 v2.1 Patient health records — secure, provider-scoped Planned
🔜 v2.2 National coverage — all 58 wilayas Planned
──────────────────────────────────────────────────────────────────
```
<br>
---
<br>
## Platform Status
<div align="center">
<br>
| Service | Status | URL |
| :---: | :---: | :--- |
| Web Portal | ✅ Live | [cityhealthdz.com](https://cityhealthdz.com) |
| Mobile PWA | ✅ Live | Installable — Android & iOS |
| Browser Extension | ✅ Live | Chrome & Firefox |
| MCP Server | ✅ Active | [mcp.cityhealthdz.com/mcp](https://mcp.cityhealthdz.com/mcp) |
| Developer REST API | ✅ Active | free / pro / enterprise |
| Provider Directory | ✅ Maintained | Verified listings only |
| AI Chatbot Suite | ✅ Active | Gemini 2.5 Flash |
</div>
<br>
---
<br>
## The Team
<br>
**Abdelilah Belyagoubi** — Founder & Engineer
Master's student in Computer Science (Networks, Systems & Information Security)
Djillali Liabes University, Sidi Bel Abbès, Algeria
<br>
| | |
| :--- | :--- |
| 🌐 Platform | [cityhealthdz.com](https://cityhealthdz.com) |
| 📧 Project | [contact@cityhealthdz.com](mailto:contact@cityhealthdz.com) |
| 📧 Personal | [belyagoubiabdillah@gmail.com](mailto:belyagoubiabdillah@gmail.com) |
| 💻 GitHub | [github.com/BELYAGOUBIABDELILAH](https://github.com/BELYAGOUBIABDELILAH) |
| 📸 Instagram | [@belyabdelilah](https://instagram.com/belyabdelilah) |
<br>
---
<br>
<div align="center">
**CITYHEALTH** · Sidi Bel Abbès, Algeria
[cityhealthdz.com](https://cityhealthdz.com) · [contact@cityhealthdz.com](mailto:contact@cityhealthdz.com)
<br>
<sub>© 2026 CityHealth. All rights reserved. | Built for the people of Algeria.</sub>
</div>
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
No recommendations available