Senior Android Developer at areeba · Payment terminals, EMV & POS apps · Freelance Android, Windows & web apps

I build the software that takes the payment — and the apps and websites around it.

I'm a freelance app and website developer in Lebanon, and a senior Android developer who works on payment terminals every day: card readers, cash-register links and vending machines. I bring the same care to the mobile apps, Windows apps and websites I build for clients — reliable, tested on real hardware, and pleasant to use.

Available for freelance projects · Baabda, Lebanon
AHMAD EL LAHIB · DEV
Android · Windows · Web · Payments

TIDFREELANCE-01
DATE—
TYPESALE

ANDROID APP✓
WINDOWS APP✓
WEBSITE✓
POS / PAYMENTS✓
MDB · RS232 · USB✓
TEST TOOLS✓

TOTALLET'S TALK
APPROVED · 00
*** CUSTOMER COPY ***
Ahmad El Lahib
About me

Payments taught me to build things that can't fail quietly.

As a Senior Android Developer at areeba, I develop the Android app that runs on our payment terminals — Nexgo and Kozen devices such as the UN20, N62 and N92. A customer taps a card, and my code reads it, talks to the bank, prints the receipt and tells the cash register or vending machine what happened.

That work means EMV card flows, PIN entry, reversals and currency conversion, plus integrations with cash registers over serial and Wi-Fi and with vending machines over MDB. When the hardware isn't on my desk, I build the tools to test without it.

Before areeba I spent almost seven years at BMB Group, building a B2B merchandising app from scratch with offline sync and receipt printing. I started in 2014 at Code Fish, building HR systems in C# and .NET for clients such as GlobeMed.

As a freelancer I take that discipline to mobile apps, Windows apps and websites for businesses: clear requirements, small working releases, and code that's tested before it ships.

12+years building apps, since 2014
5+terminal models shipped to
40%fewer crashes after my refactor
Scrumcertified Master & Product Owner
Services

What I can build for you

From a single screen to a full product, for businesses in Beirut and across Lebanon. Every project gets the same process: a written scope, regular builds you can try, and a clean handover.

android/

Android apps

Native apps in Kotlin and Jetpack Compose: business tools, field apps, customer apps. Built to work offline when they must and to stay fast on modest devices.

KotlinComposeFirebase
windows/

Windows desktop apps

Desktop tools in C# and WPF: back-office apps, dashboards, and utilities that talk to devices on COM ports or USB.

C#WPF.NET
web/

Websites & web apps

Company sites, portfolios, landing pages and web dashboards: responsive on every screen, fast to load and easy to keep up to date, like this site.

HTMLCSSJavaScriptASP.NET
payments/

POS & payment apps

Apps for Android payment terminals: card payments, receipts, settlement, and links to cash registers. I know the edge cases — declines, reversals, timeouts.

EMVNexgoKozen
hardware/

Device integrations

Connecting software to machines: vending machines over MDB, printers, serial and USB devices, cash-register protocols. When the real device is far away, I build a simulator so your team can test from a laptop.

MDBRS232USB
fix/

Rescue & maintenance

An existing app that crashes, drifts from the backend or needs a new SDK version: I find the cause, fix it, and add tests so it stays fixed.

DebuggingUnit tests
Selected work

Recent projects

Company projects are described without confidential details.

areeba · Android · 2026

Vending machines that take cards

KotlinMDBNexgo UN20 / N62

Turned our payment terminal into the card reader inside vending machines. The machine asks for a price over the MDB bus; the terminal takes the card and tells the machine whether to release the item.

  • Upgraded the MDB library and moved prices to 32-bit, so high-value items charge the right amount.
  • Automatic refund when a paid item doesn't drop, or the machine loses power mid-sale.
  • Self-healing connection and a clear vending screen, tuned for both a phone-size and a square 480×480 terminal.
// machine → terminal: vend request, LBP 120,000, item 1 13 00 00 01 D4 C0 00 01 // terminal → machine: approved for the same amount 05 00 01 D4 C0
Personal · Windows · 2026

Vending MDB Simulator

C#WPFRS232

A Windows app that pretends to be a vending machine, so a payment terminal can be tested without one. Choose a product, pay on the real terminal, and watch the machine release it — or fail on purpose.

  • Scenarios for every outcome: sold out, fridge door open, motor jam, power cut, cancel, decline, timeout.
  • A live protocol log that translates every byte on the bus into plain words.
  • Built with tools already in Windows, so anyone on the team can run it.
areeba · Android

Card payments on Android terminals

EMVComposeUnit tests

Day-to-day work on the terminal app used by merchants: card flows, receipts, settlement and cash-register links, across several device models and three languages.

  • Contact, contactless and magstripe payments with PIN, reversals and currency conversion.
  • Fixes found by reading the device's own logs — down to a printer motor that made the card reader see a "swipe".
  • Unit-tested business logic, so releases don't break what already works.
Freelance · Android & iOS · 2026

Fly Beirut Taxi

Kotlin MultiplatformComposeFirebase

A motorbike-taxi and small-parcel delivery app for a Beirut taxi office, built once in Kotlin Multiplatform for Android and iOS. Riders order on a map, drivers accept jobs, and the office manages everything from its own dashboard.

  • Three roles in one app: rider, driver and office manager, in Arabic (right-to-left) and English.
  • Fares calculated on the server from the office's rules, so they can't be tampered with; cash or card payment.
  • Smart dispatch: only free drivers are notified, the first valid accept wins, and the manager can assign a driver or approve each job.
  • Live driver tracking, monthly financial reports and commission settlement, on Firebase (Auth, Firestore, Cloud Functions, push).
Personal · Android game · 2026

Beirut Strike

KotlinOpenGL ESFirebaseWebRTCComing soon
Beirut Strike gameplay: a soldier on a real Beirut street with palm trees, traffic and a live minimap

My own online team shooter for Android, set in real Beirut neighbourhoods (Downtown, the Souks, Hamra, Ain El Mreisseh and Raouche), which are generated in 3D from OpenStreetMap and elevation data.

  • A custom 3D engine with OpenGL ES in Kotlin: streets with traffic and people, real landmarks and hills.
  • Live multiplayer matches synced over Firebase, with public or password rooms, custom teams and team voice chat over WebRTC.
  • 12 real guns, 20 military ranks, first and third person, a global ranking, and your own face on your soldier using the front camera (ML Kit).

Coming soon on Google Play · See the game page

BMB Group · Android · 2017 – 2024

B2B merchandising app

AndroidMVVMSQLite

Designed and delivered a merchandising app for field teams from scratch to deployment, owning the whole lifecycle from architecture to customer delivery.

  • Offline-first: data syncs reliably between online and offline with no data loss.
  • Payment, reporting and analytics SDKs, plus receipt and report printing across printer models.
  • Clean MVVM with Strategy, Chain of Responsibility and Repository patterns; mentored juniors and introduced unit tests, CI and peer reviews.
Experience

12 years of building software

From backend systems in C# to the apps on payment terminals. Download my full CV.

Senior Android Developer

areeba · Beirut
Jun 2024 – Present

Lead Android development of the POS app on Nexgo and Kozen payment terminals: card payments, DCC, surcharging, QR payments, settlement, cash-register and vending-machine integrations. Refactoring that cut crashes by 40%.

Mid-Level Android Developer

BMB Group (Move) · Beirut
Oct 2017 – May 2024

Built a B2B merchandising app from scratch: offline-first sync, SDK integrations and receipt printing. Mentored junior developers and introduced unit testing, CI and peer reviews.

Junior Software Developer

Code Fish · Beirut
Dec 2014 – Sep 2017

HR management systems for clients including GlobeMed, Jubaili Co. and iEngineering; backend systems in C# and .NET. Joined as a software developer intern in July 2014.

2010 – 2014B.S. in Computer ScienceAmerican University of Science & Technology (AUST), Beirut
2014Scrum MasterScrum Arabia
2014Scrum Product OwnerScrum Arabia
2014Investigating DNS Abuse / Misuse for Law EnforcementAUST Cyber Crime Center & ICANN
2013CCNA Discovery: Networking for Home & Small BusinessesCisco Networking Academy
LanguagesArabic · English · FrenchNative · Excellent · Very good
How I work

From idea to installed app

No surprises on scope or price: you know what you're getting and when, and you can try it at every step.

Brief

A short call to understand the problem, the users and the devices it runs on.

Proposal

A written scope with screens, milestones and a fixed price or a day rate — your choice.

Build

Working builds every week or two, so you can test early and steer.

Handover

Store or installer release, source code, and notes your team can maintain.

Toolbox

Technologies I use

Chosen for the job, not for the trend.

Mobile

  • Kotlin · Java
  • Jetpack Compose
  • Coroutines & Flow
  • Hilt · Room · SQLite
  • MVVM · Clean Architecture
  • Firebase

Web & desktop

  • HTML · CSS · JavaScript
  • ASP.NET · PHP
  • C# · .NET · WPF
  • REST APIs · SQL

Payments & devices

  • EMV card flows
  • Nexgo / Kozen SDKs
  • MDB vending
  • Serial · USB · ECR

Workflow

  • Git · Bitbucket · GitHub
  • CI/CD · Unit testing
  • Agile / Scrum
  • Code review & mentoring
FAQ

Hiring a freelance developer in Lebanon

Quick answers to what clients usually ask first.

Are you available as a freelance developer in Lebanon?

Yes. I'm based in Baabda, next to Beirut, and I take freelance projects from businesses in Beirut and across Lebanon. Most of the work happens remotely, with regular builds you can try on your own phone or computer.

What kind of apps and websites can you build?

Native Android apps in Kotlin and Jetpack Compose, Windows desktop apps in C# and WPF, websites and web apps, and apps for Android payment terminals (POS). I also connect software to machines: vending machines, printers, and serial or USB devices.

How do you price a project?

After a short call I send a written scope with screens and milestones, and a fixed price or a day rate — your choice. You know what you're getting and when before any work starts.

Can you fix or update an app that already exists?

Yes. If an app crashes, has drifted from its backend or needs a new SDK version, I find the cause, fix it, and add tests so it stays fixed.

How fast do you reply?

Within one working day, with questions or a first estimate. The quickest way to reach me is WhatsApp or email.

Contact

Have an app in mind? Let's talk.

Tell me what you need and when. I'll answer within one working day with questions or a first estimate.