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

512 posts

curl cheat-sheet | transfer data from/to a server

curl cheat-sheet | transfer data from/to a server

What is curl ? 🔗 Transfers data from or to a server. Supports most protocols, including HTTP, HTTPS, FTP, SCP, etc. Common commands 🔗 Make an HTTP GET request and dump the contents in the standard …

jq | JSON processor CLI cheatsheet

jq | JSON processor CLI cheatsheet

A JSON processor CLI that uses a domain-specific language (DSL). What is jq? 🔗 A jq program is a “filter”: it takes an input, and produces an output. There are a lot of builtin filters for …

How to remove all empty plain text files using GNU utils ?

How to remove all empty plain text files using GNU utils ?

I was working on a project that automate some data analysis and statistics. In that script I rely heavily on creating and modifying plain text files. After running that script for hours I got hundreds …

How to install and set up DaVinci Resolve on Ubuntu 24.04 LTS ?

How to install and set up DaVinci Resolve on Ubuntu 24.04 LTS ?

I felt the need to install DaVinci Resolve video editor. So, I searched and researched and found it weird and hard to install on Ubuntu. I will document the process of installing DaVinci Resolve on …

Fish shell's Abbr vs Alias | which is better ?

Fish shell's Abbr vs Alias | which is better ?

Fish shell (Friendly Interactive Shell) is a popular command-line shell. In Fish, both abbreviations (abbr) and aliases (alias) are ways to create shortcuts for commands, but they function …

What are the most common password patterns ? A TLDR answer

What are the most common password patterns ? A TLDR answer

I was curious about how similar people think while creating their passwords. How people compose their passwords? What is the common patterns people use the most ? I am familiar with Kali Linux (the …

How to extract lines with specific character count from a text file in Linux terminal ?

How to extract lines with specific character count from a text file in Linux terminal ?

I faced a need to extract the text lines which contains a specific character count from a huge text file. I searched online for all possible answers and tried them all. Here is what I found. Using …

Why Microsoft is porting Typescript Compiler into Go ?

Why Microsoft is porting Typescript Compiler into Go ?

On March 11, 2025 Anders Hejlsberg, technical fellow at Microsoft, announced porting Typescript Compiler in Go programming language on the official YouTube channel of Microsoft Developers. Why moving …

How to Create an Unhackable Password ?

How to Create an Unhackable Password ?

To know how to create a strong enough password, we should know how hackers crack passwords. Method 1: Guessing the password 🔗 The hacker try to guess the password and try it to find if it works or …

Linux awareness, Distrohopping, Ricing, and Growing up

Linux awareness, Distrohopping, Ricing, and Growing up

I have a rich long history with Linux distributions, and I wanna share that history and the evolution of my thought process of operating systems with you all in this post. Linux awareness 🔗 I was …