All practice notes

Web engineering & Arabic UX

Building an Arabic directory around local tasks

A local directory brings together information people describe in different ways: a business name, a village, a service or a landmark. In Naqada Directory, I organize that knowledge into routes people can search and revisit while keeping provenance and review state part of the experience.

Start with the task before the taxonomy

One visitor needs a nearby tradesperson; another wants to learn about a village or read a community story. The interface therefore needs distinct entry points. Each record needs a defined type and an understandable relationship to its category and location. A long undifferentiated list with a search box does not resolve that structure.

I review a short sequence: identify the task, narrow its scope, inspect the record, then choose an available action. Section names should help the visitor make those choices without requiring knowledge of the underlying data model.

Publication eligibility comes before presentation

The repository documentation separates ready records from review states and excludes manual_review, official_review, research_only and grade C from publication. This prevents an unresolved item from acquiring the appearance of a confirmed fact merely because it has a polished card and a shareable URL.

Historical material does not infer lineage from similar names. Business records do not present the directory as government accreditation or a service guarantee. The source type and its limits determine what the page can responsibly say.

Give important content its own address

The project uses Next.js with independent business, category and location routes, metadata, internal links, Sitemap and Robots outputs. That makes it possible to share a particular record and its context instead of forcing every visitor to restart the search.

A generated page or sitemap entry does not establish indexing. A published record, a crawlable page and a page actually present in a search index are different states. The final state needs indexing evidence; build output counts cannot substitute for it.

Design for correction after launch

Phone numbers, names and service descriptions change. I treat the directory as a reviewable record, attaching a source and date where available. A testable publication rule and stable identifiers are more useful than expanding the collection without a way to manage change.

This note describes technical and content decisions documented in the project. It makes no claim about audience size or traffic growth without a separate measurement record.

Implementation and references

About the author

Eslam Elshikh is a Riyadh-based cybersecurity engineer and software developer working across websites, AI agents, Google Maps and local SEO.

Credentials and contributions
Google Business Profile

Office location in Al Masif, Riyadh

Digital enquiries are accepted 24/7. Office visits are available after the appointment is confirmed; remote collaboration is available across Saudi Arabia.

Open the business profile and directions
6619 أبي زيد البلخي، 3726 حي المصيف, Riyadh 12465Digital intake 24/7 · visits by appointment057 939 5299
Call now Message on WhatsApp