Hello world, I’m

موقع أبانوب حَنّا

Full‑stack Web & Android Developer

I design and build clean, reliable software across the stack — from web backends and APIs in PHP Laravel and Go, to Android applications in Kotlin/Java, to fast CLI tools in Go that automate real‑world workflows.

Portrait of Abanoub Hanna

Tech Stack

Technologies I work with daily to build reliable, scalable software.

Go programming language

Go (Golang)

Backend APIs, CLI tools, cross-platform apps, and high-performance services.

PHP Laravel

PHP Laravel

Full-stack web apps, APIs, e-commerce platforms, and rapid prototyping.

Kotlin programming language

Android (Kotlin/Java)

Mobile apps with modern architecture, Jetpack Compose, and performance optimization.

sqlite

SQLite & Databases

Efficient data modeling, migrations, and query optimization for web and apps.

🎨

CSS & Tailwind

Responsive UIs, utility-first design, and accessible layouts.

CLI & DevOps

Automation scripts, deployment pipelines, Linux tools, and system scripting.

IDEs & Editors

My daily drivers for coding across platforms — optimized for speed and workflow.

Android Studio

Android app development in Kotlin and Java — layouts, Compose, debugging, and emulators.

visual studio code

VS Code

Web development in Go and Laravel — extensions for syntax, debugging, Tailwind, and Git integration.

Neovim icon

VIM / NeoVim

Scripting, CLI tools, and quick edits — with custom configs for Fish shell and system automation.

Operating Systems

Platforms I develop and deploy across — from daily drivers to production environments.

apple

macOS

Daily driver for development — Xcode, Homebrew, fast builds, and seamless Apple ecosystem integration.

Ubuntu Linux

Primary Linux environment — Go cross-compilation, CLI workflows, server deployments, and containerization.

windows 11

Windows 11 + WSL Ubuntu

Hybrid setup for cross-platform testing — WSL for Linux tooling, PowerShell, and Windows-native apps.

Code Platforms

Where I host, collaborate, and ship open-source projects across ecosystems.

GitHub

GitHub

Primary hub for open-source — gobrew package manager, Go CLI tools, cross-platform builds, and collaboration.

GitLab

CI/CD pipelines, private repos, enterprise-grade workflows, and advanced project management.

Codeberg

FOSS-first hosting — decentralized Git, privacy-focused, and community-driven development.

Web Projects

Full-stack applications I've built and launched — from SaaS to eCommerce to content platforms.

🛒

LokaStores

Full-featured eCommerce platform with inventory, payments, and order management for online retail.

PHP Laravel Tailwind CSS PostgreSQL
📄

OCRWeb

Queue-based OCR service for images and PDFs — scalable task processing with Tesseract integration.

Go Tesseract OCR
📝

AbanoubHanna.com

Bilingual tech blog powered by Markdown — custom Hugo theme with Arabic/English content management.

Hugo SSG Custom Theme Markdown
🏗️

KemetWebBuilder

Visual website builder for non-technical users — drag & drop interface with code generation.

Go JavaScript

Android Projects

Native Android apps published on Google Play — from religious content to OCR utilities.

🙏

Agpeya

Google Play • GitHub

Agpeya prayer book for Coptic Orthodox Church — Arabic prayers with daily liturgical hours.

Java Open Source
🖼️

IMG2TXT

Open Source

Free OCR app to extract text from images — fast, offline text recognition powered by Tesseract.

Kotlin OCR

فيديوهاتي التقنية على يوتيوب

توقعاتي لمجال البرمجة عام 2030

638 مقال

كيف تتأكد من أن الفلاشة أصلية أم مغشوشة؟

كيف تتأكد من أن الفلاشة أصلية أم مغشوشة؟

الكثير منّا يشترى فلاشة ويجدها تقليد وليست أصليه. الفلاشة التقليد أو المغشوشة تكون المساحة الحقيقة لها أقل من المساحة المكتوبة عليها بكثير مثل أن تجد أن المساحة الحقيقية 4 جيجا بالرغم من أن المساحة …

التصنيفات: برمجة
سرعة النقل من وإلى الكارت الميمورى

سرعة النقل من وإلى الكارت الميمورى

الكثير من الناس يريدون أن يعرفوا سرعة نقل البيانات من وإلى الكارت الميمورى ﻷنها تفيدهم إن كانوا يريدون أن يستخدموا الكارت الميمورى (كارت الذاكرة) فى كاميرا لتسجيل الفيديو. لذلك دعونا نجيب الآن على …

التصنيفات: برمجة

ماذا تفعل بعد شراء لاب توب جديد؟

نحتاج إلى نصائح دائماً لكى نعرف ما الذى نحتاج أن نفعله فى كثير من الحالات. نحتاج لنصائح قبل شراء لابتوب، ولنصائح بعد شراء لابتوب وكيف نتعامل معه، ونصائح للحفاظ على البطارية، ونصائح عند شراء موبايل، …

التصنيفات: برمجة
أفضل برامج الكمبيوتر - قائمة البرامج الأساسية لأي جهاز كمبيوتر

أفضل برامج الكمبيوتر - قائمة البرامج الأساسية لأي جهاز كمبيوتر

هناك مجموعة من البرامج أساسية وضرورية لكي تستخدم جهازك بشكل أفضل. مثل أن يكون على جهازك برنامج تنزيل الملفات من علي الإنترنت، وبرنامج للكتابة والتعديل علي ملفات النصوص، و برنامج لفتح الملفات المضغوطة. …

التصنيفات: برمجة

لماذا لا نفهم بعض الأشياء؟

أحياناً نقرأ معلومة ولا نفهمها، نحضر محاضرة ولا نعرف عما يتحدث المحاضر؟، نقرأ كود برمجى ولا نفهم كيف يعمل؟، نسمع لبعض الحوارات والآراء ولا نفهم وجة النظر أصلاً؟! عندما نتعرض لهذه المواقف نلوم الدكتور …

شحن اللاب توب بشاحن مختلف!

إن كنت تريد شحن اللابتوب بشاحن لم يأتى مع اللاب توب فى الكرتونة، فلابد أن تتطابق قيمة الفولت (voltage) والقطبية (polarity) مع الشاحن الأصلي. أما قيمة الأمبير (Amperage) والوات (Wattage) فلابد أن تكون …

التصنيفات: برمجة

شاحن اللاب توب ضاع، ماذا أفعل؟

تحدثنا فى موضوع سابق عن كيف تختار شاحن بدلاً من الشاحن الأصلى لشحن البطارية دون إحداث تلف أو عطل فى اللابتوب . لذلك سنتحدث اليوم بإختصار شديد عن كيفية شراء شاحن جديد بدلاً من الشاحن الضائع؟ مواصفات …

التصنيفات: برمجة

شرح اختراق الواي فاي

الكثير من الشباب يريدون اختراق شبكات الواى فاى بدلاً من دفع اشتراك شهري لخدمة الإنترنت. وهذا الشغف ﻹختراق شبكة واى فاى يعطيهم نوع من التميز والقوة بين أصدقائهم. ولكن الكثير من هؤلاء الشباب يقعون ضحية …

التصنيفات: برمجة

كود زر المشاركة فى تطبيقات الأندرويد

زر المشاركة فى تطبيقات الأندرويد يتم برمجته بإستخدام Intent من نوع ACTION_SEND كما ترى فى الكود التالى بلغة الجافا. Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); …

التصنيفات: برمجة

استبدال ملف محدد بملف آخر فى كل المرات المذكور بها - سطر أوامر لينكس

يُمكنك أن تقوم ببساطة بتغيير كل المرات المذكور فيها ملف معين بالملف الآخر إن كان عدد مرات الإستبدال هو 5 أو 10 أو حتى 20 مرةً.. ولكن إن كان عدد المرات المطلوب استبدال الملف بملف آخر هو 50 مرة أو أكثر …

التصنيفات: برمجة