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

A digital wallet for business cards - Kart Business Project

Predictions for the Future of Programming Future in 2030

Free OCR Software created by Abanoub Hanna - Software Developer

518 posts

Don't show snap packages in lsblk command output

When your try to see blocks / devices in your Linux distribution that has snap pkgs installed on it, you’ll see too much devices (loop) but they’re not devices. They are actually snap …

How to use dd to create a bootable USB stick ?

How to use dd to create a bootable USB stick ?

Using dd needs a geek or a developer! if you want to use graphical tools instead, use rufus , popsicle or ventoy . If you sure you want to use dd, here is the step by step guide. First, identify your …

Popsicle - Linux utility for flashing multiple USB devices in parallel

Popsicle - Linux utility for flashing multiple USB devices in parallel

Popsicle is a tool made by Pop! OS team. It is a simple tool to create bootable USB drive/stick. It is pre-installed on Pop! OS Linux distribution. Popsicle details in brief 🔗 Features Value Open …

Make Your Flutter App Slim and Trim: Size Optimization Tips

Ever published a Flutter app and winced at the download size? Here are some tricks to make your app svelte and save users precious storage space. Images 🔗 Supercharge your Icons with SVG: Instead of …

Mac OS X Terminal: How to use option+delete to delete a word ?

Mac OS X Terminal: How to use option+delete to delete a word ?

I can backward delete a word using OPTION+DELETE on any text editor on Mac OS but I can’t use it to delete the last word I wrote on Terminal!! It is simple, just with a click of a box! Open …

How to Stream Your Pre-Recorded Videos to Facebook Live ?

Since Spring 2016, Facebook users have had the option to broadcast live videos to their friends and followers. Live videos are expected to be more personal, candid, and off-the-cuff, so they’re …

Tags: Marketing

Fsck Exfat (fsck_exfat) Manual Page Apple Docs

I looked at Apple manual page online , and didn’t find the page. So I decided to add it here for reference when needed. FSCK_EXFAT(8) BSD System Manager's Manual FSCK_EXFAT(8) NAME …

[Solved] Disk Utility Stuck on Wait Partition Activate

Fix corrupted exFAT disk macOS/OSX 🔗 exFAT support on macOS seems to have some bugs because my external drives with exFAT formatting will randomly get corrupted. Disk Utility is unable to repair this …

How to display and control your Android device on laptop ?

If you are a software developer, just use scrcpy command line tool to display and control your android smartphone or tablet on a laptop. This application provides display and control of Android …

How to compress files with xz and upload archive to Google cloud ?

First, install Google cloud command line tool and configure it. pip install gsutil Have your project id ready using gsutil config. Check docs for more info. Create the archive / compressed file tar …