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

517 posts

The Art of Deliberate Boredom: How Embracing the Void Leads to Hyperfocus and Mastery

The Art of Deliberate Boredom: How Embracing the Void Leads to Hyperfocus and Mastery

In a world addicted to dopamine and constant connectivity, the most contrarian path to top-tier success is also the most uncomfortable one: Deliberate Boredom. While we often view boredom as a failure …

Learn Go | Tutorial 6: The Memory Loss Issue (File Persistence)

Learn Go | Tutorial 6: The Memory Loss Issue (File Persistence)

The final tutorial solves the memory loss problem by introducing persistence. We will write tasks to a simple text file so they survive when the program closes. Currently, when you type quit, your …

Learn Go | Tutorial 5: Making Choices (The Command Loop)

Learn Go | Tutorial 5: Making Choices (The Command Loop)

This tutorial transforms your simple “add-only” loop into a real interactive menu system. Right now, your program is a one-trick pony: it launches, forces you to add tasks, and then quits. …

Learn Go | Tutorial 4: Listening to the User

Learn Go | Tutorial 4: Listening to the User

You have built a list of hardcoded tasks. Now, you will make the program interactive by allowing the user to type in a new task. Right now, your tasks are stuck inside the code. If you want to add …

Learn Go | Tutorial 3: The Grocery List Problem

Learn Go | Tutorial 3: The Grocery List Problem

This tutorial turns your single status line into a small task list. You will meet slices and loops only because managing multiple tasks without them is painful. Tutorial 3: The Grocery List Problem 🔗 …

Learn Go | Tutorial 2: Storing a Thought (Variables)

Learn Go | Tutorial 2: Storing a Thought (Variables)

Right now, your app name and status text are frozen in the code. That works once, but as soon as you want to change the name or reuse the text, it becomes annoying. This “annoyance” is …

Learn Go | Tutorial 1 (The Handshake): Your First Go Program

Learn Go | Tutorial 1 (The Handshake): Your First Go Program

Objective: Get the Go tools installed, set up your project workspace, and verify that your code can talk to the terminal. Step 1: The Setup 🔗 Before writing logic, we need the “engine”. …

Vote With Your Money

Vote With Your Money

The idea of voting with your money is often called “dollar voting” and Wikipedia defines it as follows: Dollar voting is an analogy that refers to the theoretical impact of consumer choice …

Tags: Marketing
How do I set fish as the default shell instead of Bash in Elementary OS Terminal ?

How do I set fish as the default shell instead of Bash in Elementary OS Terminal ?

What is Bash ? 🔗 The Bash (Bourne Again SHell) is a popular command-line interpreter for interacting with the operating system, widely used in Linux and macOS environments. It is a powerful shell …

NixOS in Brief | the Ultimate Linux-based Developer Operating System

NixOS in Brief | the Ultimate Linux-based Developer Operating System

Imagine this: You’re happily coding, gaming, or just browsing, and suddenly… disaster strikes! An update breaks everything, a new program messes with your old ones, or you just want to go …