I build interfaces that feel human again.ببني حاجات انسانية من تاني.
Nothing stock. The mark, the river lettering and the sign are traced from real pens; the icons are drawn, not downloaded.
Two scripts, one voice. Every label comes in English and Arabic, side by side, neither one the translation.
Ink before fill. Things draw themselves in, then settle. Nothing just appears.
عبد المعطيʿAbd al-Muʿṭī“servant of the Giver”
3 letters, each with its own dots and eyes
لا غالب إلا اللهlā ghāliba illā-llāh“there is no victor but God”
The Nasrid motto, carved hundreds of times into the walls of the Alhambra. Here it closes every page, cut in half by the bottom edge.
5 strokes, each with its own dots, marks and counters · click one to see what's in it
The six nav icons. Each one acts on its word.
The theme key and the back key.
The post toolbar: reading time, listen, share.
What a project was built with, on its row.
Drawn from memory, on the invitation cards.
Any Tabler outline icon, redrawn by hand at build time (lib/handIcon.ts).
Mesho, the r/EgyptianFreelancers pharaoh: first in full colour, then redrawn in one-colour marker, the way he stands on that community's invitation. Point at him to see him change back.

ink before fill
A shape traces its outline first, then the fill rises inside it.
the flip
Maroon and cream swap places; whatever crosses the edge inverts.
springy keys
Keys press 3px down onto their shadow and spring back a bit past where they were.
the flood
Page changes rise like water in the opposite colour, then drain.
The mark, the sign, the river lettering, every icon and every doodle are drawn for this site. Ask before you reuse them.
~ $ pkg install nodejs git~ $ npm run dev~ $ git pushevery pixel here was made on a phone, in Termux.ink · حبرEverything is drawn before it is built.
Made of other people's good ideas.معمولة من أفكار حلوة لناس تانيين
Tap any of them to see what it gave.
what it gave us
ink · حبرEverything is drawn before it is built.