Skip to content
View imsemoo's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report imsemoo

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
imsemoo/README.md

Eslam Abdel Nasser

Full-Stack Web Developer — Cairo, Egypt

Seven years building production websites and the systems behind them. Laravel, CakePHP and plain-PHP back-ends; React, Next.js and Vue on the front; and bilingual Arabic/English interfaces where right-to-left is a first-class requirement rather than a dir="rtl" afterthought.

Much of my work is Arabic-language news, media and fact-checking platforms — more than twenty-five of them, newsrooms that need to publish fast, in Arabic, at scale. The rest is education, humanitarian and corporate work across Egypt, the Gulf, the UK and Australia.

🏢 TakTek  ·  🌍 English / العربية  ·  🏠 Remote, UTC+2  ·  ⭐ 5.0 on Mostaql

LinkedIn  ·  Upwork  ·  Mostaql  ·  Portfolio


What I'm building

احسبلي — Ahsebli

Over 100 Arabic financial calculators for Saudi Arabia, the Gulf and Egypt: salaries and end-of-service, Islamic loans and murabaha, zakat, gold at today's price, income and VAT, currency — plus health and everyday tools.

Search is the whole distribution channel, so the plumbing is part of the product: generated sitemap, RSS and Open Graph images, a glossary, category hubs, and seasonal landing pages that go up when the search volume does. It is an installable PWA with a service worker, so a calculator someone saved keeps working offline.

Devlo CMS — twenty-four newsrooms out of one codebase · code private

The platform behind six of the sites listed further down, Quds News Network and Maktoob Media among them: one Laravel application, one deploy, twenty-four Arabic news sites, each with its own theme, its own modules, its own languages and its own editorial team.

Scale 456 Livewire components · 839 Blade views · 66 models · 247 migrations
Tenancy 113 feature flags — nothing reaches a site that did not ask for it
Access 40 permission modules × 4 actions, mirrored and re-synced by command
Languages 5,874 keys in Arabic, English and Turkish, right-to-left throughout
Guards 50 artisan commands, six of which exist to fail on a mistake nobody can see
Demo demo.taktek.co

Every dangerous mistake a fleet makes is silent: a feature leaking to twenty-three other clients, a permission that exists on the route and nowhere else, a missing English string that renders in Arabic because the fallback locale is Arabic. So each of those has a command that fails, rather than a convention that holds. How it is put together.

Matn — a CMS for hand-built newsroom sites · code private

After seven years of building newsrooms one at a time, the recurring problem was always the same: the client needs to edit their site, and every page builder destroys the design doing it.

Matn is the answer. The client opens their real page inside the admin panel, clicks a heading to rewrite it and clicks a photo to swap it. There is no page builder and no drag-and-drop — the design stays locked. Pages live in the database rather than as files, every page shares one layout, and no URL carries a .html extension.

Stack CakePHP 5.1 · PHP 8.1+ · MySQL 8
Panel English and Arabic, right-to-left throughout
Quality PHPCS, PHPStan and 1,500 PHPUnit tests, all gated in CI
Analytics First-party, no third-party trackers — session maths on SQL window functions

Performance, accessibility and SEO — measured weekly

A screenshot of a score proves nothing — it is a picture of one good run. The table below is re-measured every Monday by a GitHub Action that calls Google's PageSpeed Insights API and rewrites this section, whichever way the numbers moved that week. Paste the same URL into pagespeed.web.dev and you get the same report.

Each number is the median of three runs per device, because one run is not a measurement — the same page answered 90, 79 and 80 on mobile within minutes.

The bar is 90 in every category on both devices. Where a site is under it the number stays on the page until the site is fixed, because a table that only shows the good weeks is the screenshot problem again. The rest of the fleet is measured on the same schedule.

مسند — musnadye.com

Arabic news and claim verification · Design and full-stack

mobile scores desktop scores

Performance Accessibility Best practices SEO LCP CLS TBT
Mobile 97 100 100 100 2.1 s 0.008 120 ms
Desktop 99 100 100 100 0.7 s 0.013 30 ms

قدس الإخبارية — qudsn.co

Palestinian news network — high-volume Arabic newsroom · Design and full-stack

mobile scores desktop scores

Performance Accessibility Best practices SEO LCP CLS TBT
Mobile 84 97 96 100 2.9 s 0 310 ms
Desktop 98 97 96 100 0.8 s 0 70 ms

Field data (real Chrome users, 28-day rolling): FAST — LCP 1.78 s · INP 99 ms · CLS 0.00.

Portfolio — imsemoo.github.io

This profile's own site, hand-written HTML and CSS · Design and front-end, my own

mobile scores desktop scores

Performance Accessibility Best practices SEO LCP CLS TBT
Mobile 93 100 100 100 2.7 s 0 180 ms
Desktop 100 100 100 100 0.6 s 0.002 0 ms

Measured 12 October 2026 · Lighthouse 13.5.0 · raw results · workflow


Case studies

Four pieces of work where the interesting part was the diagnosis, written up with the numbers and the rejected ideas rather than only the wins.

Twenty-four newsrooms out of one codebase The four invariants a multi-tenant CMS runs on, and the six commands that fail when something invisible goes wrong — a leaked feature flag, an unsynced permission, a string that was never a key
A template directive ate one key out of every site's structured data A literal @context in a Blade template compiles as Laravel's own directive, so 45 files shipped JSON-LD that parsed perfectly and meant nothing. Invisible in the browser, invisible in a diff — found by compiling the views instead of reading them
What a performance audit of a live newsroom actually finds 749 KB of fonts down to 78 KB, a preload that was hurting, an optimisation I measured and threw away, and the Cloudflare rule that explains the TTFB nobody could move
Twenty-one newsrooms, twenty-one broken share cards Why a favicon, a WebP or a 400 KB image turns a shared link into a bare blue line on WhatsApp — and the one route, one service, one command that ended it

Production work

Live sites, grouped by what they are. Role stated exactly as it was.

News, media & fact-checking

Site What it is My role
Quds News Network Palestinian news network — high-volume Arabic newsroom Design and full-stack · Devlo CMS
Musnad — مسند Arabic news and claim verification Design and full-stack · Laravel, Livewire
Al-Jarmaq — الجرمق Palestinian media network inside the 1948 territories Design and full-stack · Laravel, Livewire
Tayaqan — تيقن Community platform for verifying news and claims Design and full-stack · Devlo CMS
Maktoob Media Independent outlet covering human rights and minorities Front-end (Figma → build), then the performance and security pass · Devlo CMS
Hodhod — الهدهد Palestinian news network Full-stack (Figma → build) · Devlo CMS
Adeni Cast — عدني كاست Independent Arabic podcast platform Design and full-stack · Devlo CMS
Saleh Al-Arouri Archive Independent documentary archive Design and front-end · Devlo CMS
Qasioun Center for Studies Bilingual strategic-studies centre — papers, library, media Design and full-stack · Laravel, Livewire

Platforms & apps

Site What it is My role
Mo3ta — معطي Data platform with dashboards, maps and charts Design and full-stack · Laravel, Inertia, Vue 3
FreightZone Australian freight booking app Designed it in Figma, then built the front-end
Calimero Multilingual restaurant and shop Front-end, in a team · Next.js, TypeScript

Business, education & non-profit

Site What it is My role
OzCar Australian car marketplace, a top-10 site in its market Front-end (XD → build)
BESA Study-abroad platform, 30+ hand-built pages Front-end (Figma → build)
Yedi Başak UK humanitarian aid and charity Full-stack, Laravel
HandsOnTV UK media organisation Front-end (XD → build)
Hardware & Glass US architectural glass-hardware supplier Front-end, hand-built
BHF Couriers Australian courier company Front-end
Skills Beyond Driving school on Sydney's North Shore WordPress
Hive Studio Creative studio, bilingual WordPress
Infinity Blue Barramundi Australian barramundi farm WordPress
IDD 2023 Desalination conference, bilingual WordPress
Power Line Egypt Engineering and contracting company WordPress

Stack

Back-end PHP 8 · Laravel · Livewire · CakePHP 5 · MySQL · WordPress · REST APIs · Composer · PHPUnit · PHPStan

Front-end JavaScript (ES6+) · TypeScript · React · Next.js · Vue 3 · SCSS · Tailwind · Bootstrap · jQuery · GSAP · AOS

Craft Arabic/English bilingual UI · RTL layout with logical properties · responsive from 375 px up · semantic HTML · accessible forms · Figma and XD to pixel-accurate markup · on-page SEO · PWAs that work offline

Tools Git · GitHub Actions · Figma · Adobe XD · Laragon · VS Code


Code here on GitHub

Most client back-ends stay private. This is what I can show:

Repo What it is Live
yassiru يسّروا — a Laravel + Vue platform for making marriage attainable: candidate matching, premarital courses and counselling, guarantee-fund savings circles, group weddings and digital contracts. Dockerised, Sanctum, Spatie roles —
kevla-campa KEVLA CAMPA — marketing site for a Kevlar and carbon-fibre teardrop caravan. Plain HTML, CSS and ES modules with no build step: scroll scenes on CSS view timelines with a JavaScript fallback, page-to-page view transitions, self-hosted variable fonts. No axe-core violations across 24 page states ↗
creatives-dashboard Multi-page dashboard UI for a creative agency — pricing, signup and a guided tour —
mohajer News platform for migrants and refugees in Egypt and the Middle East ↗
yottasrc Web-hosting provider site and client dashboard — bilingual EN/AR, multi-currency —
besa The BESA front-end, 30+ hand-built pages ↗
Buruj Corporate site with a multi-step application form ↗
Intimedev Agency site, scroll-driven animation ↗

Get in touch

Open to remote full-stack and front-end work, contract or full-time — LinkedIn · Upwork · Mostaql

Pinned Loading

  1. besa besa Public

    BESA — study-abroad platform: pathway programmes, destination guides, B2B services and education-fair registration. 30+ hand-built pages

    HTML

  2. Buruj Buruj Public template

    Corporate site with a multi-step application form, built in vanilla HTML/CSS/JS

    HTML