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

Native Lazy Loading Images and Iframes

what is lazy-loading 🔗 Lazy-loading means load this element on demand. We use the lazyloading technique to speed up the web page load time. using lazyloading with images 🔗 Sample code for image …

How to Create File Chooser in Gtk using gotk3 ?

If you just want the complete code snippet, here is it. package main import ( "github.com/gotk3/gotk3/gdk" "github.com/gotk3/gotk3/gtk" ) func main() { gtk.Init(nil) win, _ := …

How to Shutdown your PC using Python ?

If you want to shutdown your Windows PC from your Python code, just use this code snippet. import os os.system("shutdown /s /t 1") Here’s a breakdown of what it does: 1. Import 🔗 import …

How to Shutdown PC using C++ ?

If you want to shutdown your Windows PC from your C++ code, use this code snippet. #include <stdio.h> #include <stdlib.h> int main() { system("c:\\Windows\\system32\\shutdown /s"); …

How to Fix (main:30677): Gtk-WARNING **: cannot open display: ?

If you are facing this error (main:30677): Gtk-WARNING **: 05:40:47.665: cannot open display: just install Gtk+ development library, and set the display screen to 0. Installing Gtk+ using Homebrew 🔗 …

How to Tune Garbage Collector in Go Language ?

How to set the GOGC value ? 🔗 You can set its value in the terminal like this. GOGC=200 Or you can change it in yaml file of the environment variable when using docker or kubernetes. What is the …

How to Draw Rectangle on Imageview ?

If you already have a bitmap image in your code, just use this code snippet. bmp = bmp.copy(Bitmap.Config.RGB_565, true); That code will recreate the bitmap image as a mutable. So you can edit that …

Linux Laptop Boot Battery Optimizations

Boot Optimization 🔗 use sudo systemd-analyze critical-chain to get the most time consuming services. If you don’t need those services just disable them by this command sudo systemctl disable …

How to Create Bash Function ?

First step: create a utilities.sh file to add all your bash functions in it. 2nd step: add your bash function/s like this. ## utilities.sh convertMP4toMP3(){ echo -n "Enter source mp4 file : " …

Convert mp4 to mp3 in Linux Terminal

First things first, install the required software packages. Most Linux distros ship with FFmpeg pre-installed but to ensure the required packages are installed, run this command anyway. sudo apt …