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

laydown: prepare for Daily Standup

laydown: prepare for Daily Standup

laydown is a command line application to prepare for Daily Standup. Add an item to DID section: laydown did item Add an item to DOING section: laydown doing item Clear all items: laydown clear Use an …

latexpand: simplify LaTeX source files

latexpand: simplify LaTeX source files

latexpand is a command-line program to simplify LaTeX source files by removing comments and resolving \includes, \inputs, etc. Simplify the specified source file and save the result to the specified …

Latexmk: compile LaTeX source files into finished documents

Latexmk: compile LaTeX source files into finished documents

latexmk is a command-line program to compile LaTeX source files into finished documents. Automatically does multiple runs when needed. Compile a DVI (Device Independent file) document from every …

latexdiff: determine differences between two LaTeX files

latexdiff: determine differences between two LaTeX files

latexdiff is a command-line program to determine differences between two LaTeX files. Determine changes between different versions of a LaTeX file (the resulting LaTeX file can be compiled to show …

compile a DVI document from LaTeX source files | Latex CLI cheat-sheet

compile a DVI document from LaTeX source files | Latex CLI cheat-sheet

latex is a command-line program to compile a DVI document from LaTeX source files. Compile a DVI document: latex source.tex Compile a DVI document, specifying an output directory: latex …

lastcomm: show last commands executed

lastcomm: show last commands executed

lastcomm is a command-line program to show last commands executed. Print information about all the commands in the acct (record file): lastcomm Display commands executed by a given user: lastcomm …

Laravel CLI cheat-sheet

Laravel CLI cheat-sheet

laravel is a command-line installer for the Laravel framework. Create a new Laravel application: laravel new name Use the latest development release: laravel new name --dev Overwrite if the directory …

lame: encode WAV to MP3 files

lame: encode WAV to MP3 files

lame is a command-line program to encode WAV to MP3 files. Encode an audio file to MP3 using CBR 320 kbit/second: lame -b 320 path/to/file.wav path/to/output.mp3 Encode an audio file to MP3 using the …

l2ping: send an L2CAP echo request and receive an answer

l2ping: send an L2CAP echo request and receive an answer

l2ping is a command-line program to send an L2CAP echo request and receive an answer. Ping a Bluetooth device: sudo l2ping mac_address Reverse ping a Bluetooth device: sudo l2ping -r mac_address Ping …

keep first line untouched by a command

keep first line untouched by a command

Keep first line untouched by a command, passing it directly to stdout. Sort a file and keep the first line at the top: keep-header path/to/file -- sort Output first line directly to stdout, passing …