Fady Ehab Amer — a black-and-white studio portrait: glasses, arms crossed, lit from one side in a dark room.

Available for select freelance work·Egypt · Remote

Behindthe interface.

I’m Fady — a software engineer who builds the parts you don’t see: zero-dependency frameworks, accessible component libraries, PWAs, and published browser extensions.

#1GitHub contributor, Egypt2023 · 700+ daily commits
35thCSS Battle world rankfewest chars, exact pixels
2,000+Chrome extension users5 published, live
17 KBzero-dependency bundleotp-input-kit, gzipped

The portfolio is the proof.

Every project here actually ships — to npm, the Chrome Web Store, or production. Not demos, not slideware.

I obsess over the things most people never notice: real focus states, RTL & Arabic typography, a working reduced-motion path, and a 17 KB budget I refuse to blow. This site re-themes live because that’s the kind of system I build.

How I can help

Freelance and hands-on — I take a project from a rough idea to something shipped, accessible and maintainable.

01

Frontend Engineering

Interactive, polished interfaces with a real eye for detail — component architecture, design systems, motion and pixel-precise layout in React, Angular and Blazor.

02

E-commerce on Salla & Zid

Custom storefronts on the Salla and Zid platforms — tailored UI, theme work and the functionality your store actually needs. I’ve shipped 150+ of them.

03

Custom Web Development

Responsive, fast, accessible websites and web apps built with HTML, CSS, JavaScript and modern frameworks — from a rough idea to something shipped and maintainable.

04

Backend Development

Solid backends and APIs using C#, ASP.NET and Entity Framework with SQL databases — the server side that keeps the frontend honest.

05

UI/UX Optimization

Sharpening existing products — intuitive flows, smoother interactions and performance work that makes everything feel faster.

06

WordPress Development

Custom themes and plugins tailored to business needs, with a focus on performance and SEO — without the bloat.

All services

Selected work

Shipped frameworks, libraries, apps and extensions.

All 12 projects
Case study

NYX

A zero-dependency, dark-native CSS + JS component framework — fully themeable through --nyx-* custom properties, with first-class RTL and Arabic typography and 100+ components.

The design system this entire site runs on — including the live Theme control you can open at the bottom-right.

  • Dark-native and light-ready themes, switchable with one data-theme attribute
  • Fully themeable via --nyx-* custom properties using color-mix(), no recompile needed
  • First-class RTL and Arabic typography with logical properties and bundled fonts
  • 100+ components plus a tiny zero-dependency UMD runtime with a declarative data-nyx-* API

Case studies

Three that show the range — a zero-dependency component library, an offline-first PWA, and a Chrome extension used by thousands. They stack as you scroll.

Library

otp-input-kit

A customizable, framework-agnostic OTP input library in pure vanilla JS (~17 KB) with full RTL & i18n, WCAG 2.1 AA accessibility, and React / Vue / Svelte / Angular adapters.

  • Zero-dependency vanilla JS core (~17 KB gzipped) with 10 built-in themes
  • Full RTL & i18n: 12+ locales and 8 numeral systems, WCAG 2.1 AA accessible
  • Form-associated <otp-input> Web Component plus React, Vue, Svelte and Angular adapters
PWA

Quran PWA

A comprehensive Islamic PWA — Quran reader, prayer-time calculator, Azkar, a Masbaha counter, and a daily hadith & verse — built offline-first with a fully RTL Arabic interface.

  • Offline-first: service-worker caching for instant loads with no network
  • GPS-based prayer times for 30+ countries with a magnetic-compass qibla
  • Quran reader, Azkar, Masbaha counter, and a daily hadith & verse
Extension

No Cache Reload

A published Chrome extension that reloads the current tab while bypassing the browser cache — one click for a true hard reload, used by 2,000+ developers.

  • One-click hard reload that bypasses the browser cache
  • 2,000+ users on the Chrome Web Store
  • Zero configuration — only needs tab permissions

How the work happens

A short, honest path from problem to shipped — no ceremony, no surprises.

01

Understand

Tell me the problem, not the spec. I map the real constraints and the shortest honest path to a solution.

02

Build

Component-first, accessible by default, fast on purpose. You see working software early and often.

03

Ship

To npm, the Chrome Web Store, or production. Focus states, RTL, reduced-motion — the whole craft.

04

Measure

Budgets held, sessions up, the details that move numbers — verified, not assumed.

Two ways to read me

The 15-second version

Frontend-leaning full-stack engineer and team lead, and Egypt’s #1 GitHub contributor in 2023. I’ve shipped 150+ storefronts, five published Chrome extensions, and a zero-dependency component framework — lifting average session duration ~35% and client satisfaction ~25%. Currently leading a frontend team on enterprise work, remote-ready.

Team lead150+ storefronts5 Chrome extensions#1 in Egypt 2023
Full about

The path here

Frontend engineer and team lead across product and agency work — from Riyadh to Cairo, remote-first.

  1. Software Engineer · Frontend Team Lead

    Aug 2022 — Present

    TechPlace · Riyadh, Saudi Arabia

    Restructured the company’s frontend projects for performance and scale, and built custom dashboards for internal and client use. Now leading the frontend team on standards, code quality and UI consistency — including enterprise work in collaboration with the Ministry of Defence, Saudi Arabia.

  2. Front End Developer · Team Lead

    Mar 2023 — Present

    Shohrah — Marketing Agency · Mansoura, Egypt

    Lead the development and design team. Built and launched 150+ storefronts on Salla and Zid, plus custom React and WordPress builds — lifting average session duration ~35% and client satisfaction ~25%.

  3. Front End Developer

    Jun 2023 — Jul 2024

    Nizak — Marketing Agency · Cairo, Egypt

    Delivered Salla, Zid and WordPress projects of every scale, applied SEO best practices to grow organic traffic, and refactored + cached existing sites for faster loads.

Writing

Notes from the build — frontend, performance, DX.

Still shipping, daily

Egypt’s #1 GitHub contributor in 2023 — and the commits never stopped. Live from the GitHub API.

JulAugSepOctNovDecJanFebMarAprMayJunJul0 contributions on 2025-07-208 contributions on 2025-07-213 contributions on 2025-07-220 contributions on 2025-07-233 contributions on 2025-07-240 contributions on 2025-07-250 contributions on 2025-07-262 contributions on 2025-07-273 contributions on 2025-07-2811 contributions on 2025-07-297 contributions on 2025-07-301 contribution on 2025-07-310 contributions on 2025-08-012 contributions on 2025-08-020 contributions on 2025-08-035 contributions on 2025-08-040 contributions on 2025-08-053 contributions on 2025-08-065 contributions on 2025-08-070 contributions on 2025-08-080 contributions on 2025-08-094 contributions on 2025-08-100 contributions on 2025-08-1110 contributions on 2025-08-120 contributions on 2025-08-130 contributions on 2025-08-140 contributions on 2025-08-151 contribution on 2025-08-162 contributions on 2025-08-173 contributions on 2025-08-184 contributions on 2025-08-1911 contributions on 2025-08-201 contribution on 2025-08-210 contributions on 2025-08-225 contributions on 2025-08-237 contributions on 2025-08-240 contributions on 2025-08-250 contributions on 2025-08-263 contributions on 2025-08-270 contributions on 2025-08-280 contributions on 2025-08-294 contributions on 2025-08-300 contributions on 2025-08-3115 contributions on 2025-09-012 contributions on 2025-09-028 contributions on 2025-09-037 contributions on 2025-09-040 contributions on 2025-09-056 contributions on 2025-09-060 contributions on 2025-09-075 contributions on 2025-09-0811 contributions on 2025-09-090 contributions on 2025-09-100 contributions on 2025-09-111 contribution on 2025-09-120 contributions on 2025-09-132 contributions on 2025-09-147 contributions on 2025-09-150 contributions on 2025-09-164 contributions on 2025-09-171 contribution on 2025-09-180 contributions on 2025-09-194 contributions on 2025-09-202 contributions on 2025-09-214 contributions on 2025-09-220 contributions on 2025-09-230 contributions on 2025-09-240 contributions on 2025-09-250 contributions on 2025-09-263 contributions on 2025-09-275 contributions on 2025-09-280 contributions on 2025-09-290 contributions on 2025-09-304 contributions on 2025-10-011 contribution on 2025-10-023 contributions on 2025-10-030 contributions on 2025-10-040 contributions on 2025-10-051 contribution on 2025-10-064 contributions on 2025-10-0716 contributions on 2025-10-080 contributions on 2025-10-090 contributions on 2025-10-102 contributions on 2025-10-110 contributions on 2025-10-125 contributions on 2025-10-133 contributions on 2025-10-146 contributions on 2025-10-151 contribution on 2025-10-160 contributions on 2025-10-171 contribution on 2025-10-182 contributions on 2025-10-193 contributions on 2025-10-200 contributions on 2025-10-210 contributions on 2025-10-221 contribution on 2025-10-230 contributions on 2025-10-2411 contributions on 2025-10-256 contributions on 2025-10-264 contributions on 2025-10-270 contributions on 2025-10-283 contributions on 2025-10-291 contribution on 2025-10-300 contributions on 2025-10-310 contributions on 2025-11-010 contributions on 2025-11-029 contributions on 2025-11-036 contributions on 2025-11-041 contribution on 2025-11-052 contributions on 2025-11-060 contributions on 2025-11-074 contributions on 2025-11-080 contributions on 2025-11-092 contributions on 2025-11-102 contributions on 2025-11-110 contributions on 2025-11-120 contributions on 2025-11-130 contributions on 2025-11-148 contributions on 2025-11-150 contributions on 2025-11-160 contributions on 2025-11-172 contributions on 2025-11-180 contributions on 2025-11-192 contributions on 2025-11-200 contributions on 2025-11-210 contributions on 2025-11-223 contributions on 2025-11-230 contributions on 2025-11-242 contributions on 2025-11-254 contributions on 2025-11-260 contributions on 2025-11-270 contributions on 2025-11-2814 contributions on 2025-11-291 contribution on 2025-11-300 contributions on 2025-12-015 contributions on 2025-12-022 contributions on 2025-12-030 contributions on 2025-12-040 contributions on 2025-12-056 contributions on 2025-12-064 contributions on 2025-12-070 contributions on 2025-12-083 contributions on 2025-12-0920 contributions on 2025-12-109 contributions on 2025-12-110 contributions on 2025-12-127 contributions on 2025-12-139 contributions on 2025-12-141 contribution on 2025-12-152 contributions on 2025-12-168 contributions on 2025-12-171 contribution on 2025-12-180 contributions on 2025-12-194 contributions on 2025-12-203 contributions on 2025-12-214 contributions on 2025-12-220 contributions on 2025-12-2326 contributions on 2025-12-243 contributions on 2025-12-250 contributions on 2025-12-260 contributions on 2025-12-273 contributions on 2025-12-281 contribution on 2025-12-292 contributions on 2025-12-306 contributions on 2025-12-310 contributions on 2026-01-010 contributions on 2026-01-020 contributions on 2026-01-030 contributions on 2026-01-043 contributions on 2026-01-052 contributions on 2026-01-061 contribution on 2026-01-072 contributions on 2026-01-080 contributions on 2026-01-094 contributions on 2026-01-101 contribution on 2026-01-114 contributions on 2026-01-120 contributions on 2026-01-139 contributions on 2026-01-140 contributions on 2026-01-150 contributions on 2026-01-160 contributions on 2026-01-170 contributions on 2026-01-183 contributions on 2026-01-1914 contributions on 2026-01-2032 contributions on 2026-01-2118 contributions on 2026-01-2222 contributions on 2026-01-2335 contributions on 2026-01-2417 contributions on 2026-01-2517 contributions on 2026-01-2619 contributions on 2026-01-2726 contributions on 2026-01-280 contributions on 2026-01-290 contributions on 2026-01-300 contributions on 2026-01-311 contribution on 2026-02-012 contributions on 2026-02-020 contributions on 2026-02-030 contributions on 2026-02-040 contributions on 2026-02-050 contributions on 2026-02-068 contributions on 2026-02-0710 contributions on 2026-02-088 contributions on 2026-02-090 contributions on 2026-02-1014 contributions on 2026-02-117 contributions on 2026-02-1210 contributions on 2026-02-136 contributions on 2026-02-149 contributions on 2026-02-1521 contributions on 2026-02-1613 contributions on 2026-02-172 contributions on 2026-02-180 contributions on 2026-02-1934 contributions on 2026-02-207 contributions on 2026-02-210 contributions on 2026-02-2212 contributions on 2026-02-230 contributions on 2026-02-241 contribution on 2026-02-250 contributions on 2026-02-260 contributions on 2026-02-270 contributions on 2026-02-282 contributions on 2026-03-012 contributions on 2026-03-020 contributions on 2026-03-032 contributions on 2026-03-042 contributions on 2026-03-0514 contributions on 2026-03-060 contributions on 2026-03-070 contributions on 2026-03-081 contribution on 2026-03-096 contributions on 2026-03-100 contributions on 2026-03-110 contributions on 2026-03-120 contributions on 2026-03-132 contributions on 2026-03-141 contribution on 2026-03-157 contributions on 2026-03-160 contributions on 2026-03-170 contributions on 2026-03-181 contribution on 2026-03-190 contributions on 2026-03-208 contributions on 2026-03-210 contributions on 2026-03-224 contributions on 2026-03-230 contributions on 2026-03-241 contribution on 2026-03-253 contributions on 2026-03-262 contributions on 2026-03-274 contributions on 2026-03-2815 contributions on 2026-03-294 contributions on 2026-03-309 contributions on 2026-03-319 contributions on 2026-04-017 contributions on 2026-04-020 contributions on 2026-04-038 contributions on 2026-04-0410 contributions on 2026-04-050 contributions on 2026-04-060 contributions on 2026-04-071 contribution on 2026-04-0813 contributions on 2026-04-090 contributions on 2026-04-100 contributions on 2026-04-110 contributions on 2026-04-120 contributions on 2026-04-1313 contributions on 2026-04-143 contributions on 2026-04-153 contributions on 2026-04-160 contributions on 2026-04-170 contributions on 2026-04-181 contribution on 2026-04-194 contributions on 2026-04-203 contributions on 2026-04-211 contribution on 2026-04-224 contributions on 2026-04-239 contributions on 2026-04-241 contribution on 2026-04-2523 contributions on 2026-04-266 contributions on 2026-04-2710 contributions on 2026-04-2823 contributions on 2026-04-294 contributions on 2026-04-300 contributions on 2026-05-010 contributions on 2026-05-024 contributions on 2026-05-0313 contributions on 2026-05-046 contributions on 2026-05-0515 contributions on 2026-05-0613 contributions on 2026-05-0726 contributions on 2026-05-082 contributions on 2026-05-0919 contributions on 2026-05-102 contributions on 2026-05-118 contributions on 2026-05-120 contributions on 2026-05-131 contribution on 2026-05-145 contributions on 2026-05-152 contributions on 2026-05-160 contributions on 2026-05-171 contribution on 2026-05-188 contributions on 2026-05-190 contributions on 2026-05-200 contributions on 2026-05-210 contributions on 2026-05-222 contributions on 2026-05-230 contributions on 2026-05-2412 contributions on 2026-05-256 contributions on 2026-05-260 contributions on 2026-05-270 contributions on 2026-05-281 contribution on 2026-05-290 contributions on 2026-05-306 contributions on 2026-05-3118 contributions on 2026-06-016 contributions on 2026-06-026 contributions on 2026-06-035 contributions on 2026-06-0411 contributions on 2026-06-0518 contributions on 2026-06-060 contributions on 2026-06-079 contributions on 2026-06-086 contributions on 2026-06-093 contributions on 2026-06-102 contributions on 2026-06-110 contributions on 2026-06-120 contributions on 2026-06-136 contributions on 2026-06-141 contribution on 2026-06-153 contributions on 2026-06-160 contributions on 2026-06-177 contributions on 2026-06-1821 contributions on 2026-06-1923 contributions on 2026-06-2056 contributions on 2026-06-2113 contributions on 2026-06-222 contributions on 2026-06-235 contributions on 2026-06-243 contributions on 2026-06-2512 contributions on 2026-06-266 contributions on 2026-06-276 contributions on 2026-06-280 contributions on 2026-06-291 contribution on 2026-06-308 contributions on 2026-07-016 contributions on 2026-07-021 contribution on 2026-07-034 contributions on 2026-07-042 contributions on 2026-07-0521 contributions on 2026-07-061 contribution on 2026-07-071 contribution on 2026-07-080 contributions on 2026-07-090 contributions on 2026-07-105 contributions on 2026-07-110 contributions on 2026-07-129 contributions on 2026-07-134 contributions on 2026-07-1416 contributions on 2026-07-151 contribution on 2026-07-160 contributions on 2026-07-171 contribution on 2026-07-1884 contributions on 2026-07-1996 contributions on 2026-07-20
1,765 contributions in the last year

Available for select freelance work

Have something worth building?.

I take on a few freelance projects at a time. Tell me the problem — I’ll tell you the shortest honest path to it, and whether I’m the right person for the job.