Hello world, I’m

Abanoub Hanna

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

Kart Business Project

Predictions for the Future of Programming Future in 2030

Free OCR Software created by Abanoub Hanna - Software Developer

513 posts

Trend of Focusing on Software Performance & Efficiency

You are hearing blazingly fast, faster, at the speed of thought, lightning fast, wicked fast,.. and too many similar phrases. This trend of performance optimization is not just in words and projects …

Should I use `mb_strlen($text, 'utf-8')` or `strlen($text)` in PHP ?

In most cases, you should use mb_strlen($text, 'utf-8') in PHP. Here’s a breakdown of the reasons: Why mb_strlen is the recommended? 🔗 Accuracy for Multibyte Characters: mb_strlen is designed …

Don't Communicate by Sharing Memory, Share Memory by Communicating: A Go Approach

This concept, a core principle in Go’s concurrency model, can be confusing at first glance. Let’s break it down with practical examples in Go, highlighting the difference between unsafe …

How I improved Kartbusiness.com page loading speed from 52 to 94

I used PageSpeed Insights , to detect the performance bottlenicks so I can analyze and fix the performance issues. Here are all optimizations I did on KartBusiness.com to improve the PageSpeed …

Execute a command once per line of piped input?

How to execute a command once per line of the piped input? or how to pipe each line at a time in linux terminal? is the same question. There are two main ways to achieve this. Using a while loop with …

Ed Line Editor for Beginners: A Practical Cheat Sheet

ed : The original Unix text editor. ed is a line editor for the Unix operating system. It was one of the first end-user programs hosted on the system and has been standard in Unix-based systems ever …

Awk: A Swiss Army Knife for Text Manipulation

What is awk ? 🔗 awk is a powerful programming language for working on text files. It’s particularly handy for extracting specific data from files, manipulating columns, and performing …

sed: Stream Editor for Text Manipulation

sed (Stream Editor) is a powerful command-line tool used for manipulating text streams. It’s like a search-and-replace tool on steroids, allowing you to modify text files in various ways. sed is …

Git Subtree: Managing Subprojects Within Your Git Repository

What is Git Subtree ? 🔗 Git subtree is a powerful Git technique that allows you to include an entire separate Git repository as a subdirectory within your main project’s repository. This is …

Git Cola: A Friendly GUI for Git

What is Git Cola ? 🔗 Git Cola is a free and open-source graphical user interface (GUI) for Git. If you find the command-line interface of Git a bit daunting, Git Cola provides a user-friendly way to …