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.
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. Because I work at areeba, I don't take freelance POS or payment app projects.

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. Out of respect for my role at areeba, I don't build POS or payment apps for anyone else.
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.
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.
Desktop tools in C# and WPF: back-office apps, dashboards, and utilities that talk to devices on COM ports or USB.
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.
I work full-time at areeba, a payments company, so I don't take freelance work on POS, payment terminal, card payment or any app that competes with areeba's products. It's a matter of professional ethics. You can still see this work in my projects below.
Connecting software to machines: printers, barcode scanners, and serial or USB devices. When the real device is far away, I build a simulator so your team can test from a laptop. Payment hardware is not included.
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.
Company projects are described without confidential details.
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.
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.
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.
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.

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.
Coming soon on Google Play · See the game page
Designed and delivered a merchandising app for field teams from scratch to deployment, owning the whole lifecycle from architecture to customer delivery.
From backend systems in C# to the apps on payment terminals. Download my full CV.
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%.
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.
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.
No surprises on scope or price: you know what you're getting and when, and you can try it at every step.
A short call to understand the problem, the users and the devices it runs on.
A written scope with screens, milestones and a fixed price or a day rate — your choice.
Working builds every week or two, so you can test early and steer.
Store or installer release, source code, and notes your team can maintain.
Chosen for the job, not for the trend.
Quick answers to what clients usually ask first.
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.
Native Android apps in Kotlin and Jetpack Compose, Windows desktop apps in C# and WPF, and websites and web apps. I also connect software to machines such as printers, barcode scanners, and serial or USB devices.
No. I work full-time as a Senior Android Developer at areeba, a payments company, so I don't take freelance projects for POS, payment terminal, card payment or other payment apps that would compete with areeba. It's a matter of professionalism. I'm happy to help with any other kind of app or website.
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.
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.
Tell me what you need and when. I'll answer within one working day with questions or a first estimate.