MaterialX
A design source for Android developers: a working catalogue of Material components, patterns and layouts to lift into a project, with documentation hosted separately.
Abdelaziz Dawoud Mobile Engineer Founder, Case Code Giza, Egypt
Mobile engineer at Cashi, and founder of Case Code. Android and iOS out of one Kotlin codebase — and eight years spent where an app stops being a screen and starts talking to hardware: NFC tags, barcode scanners, thermal printers, payment terminals.
Available for work
I build mobile applications for Android and iOS, increasingly out of a single Kotlin Multiplatform codebase — business logic, data, and increasingly the UI written once and shipped to both. Currently at Cashi, on fintech products used by merchants and agents in the field. Java where the codebase has history.
The thread running through my public work is device integration: reading NFC tags in reader mode, wiring up Honeywell and Zebra hardware, scanning barcodes with ML Kit and ZXing, and handling Google Pay flows. It’s the unglamorous half of mobile — the half where the bug is in the tag, the scanner profile, or the print buffer, not in your layout. Shared code makes it more interesting, not less: the platform boundary is exactly where the hardware lives.
Alongside that: architecture I can hand to someone else. Multi-module Gradle projects, clear state handling, and small libraries that remove the code everyone rewrites. Public repositories are on GitHub; longer profile on Google Developers.
Case Code is my own company — an online studio that builds and develops software. I founded it in June 2020 and run client engagements through it.
It’s where work outside a salaried role goes: multiplatform mobile builds, device and payment integrations, and the architecture work that keeps a codebase maintainable after handover. Small by design — you talk to the person writing the code.
A design source for Android developers: a working catalogue of Material components, patterns and layouts to lift into a project, with documentation hosted separately.
Puts the device into NFC reader mode, reads tag payloads and surfaces tag metadata — a small, readable reference for anyone starting with NFC on Android.
An integrated medical information system: patient records and registration, order entry, specimen tracking, results reporting, pharmacy, scheduling and billing, on a local SQLite store.
Browse and search a full film catalogue over the MovieDB API, with a published design case study on Behance.
A Moodle client with the logic written once in Kotlin and an iOS target alongside the Android app — the largest and most recent of the public repositories.
Real-time messaging: text and photos delivered across platforms, backed by Firebase authentication, database and storage.
The helper layer every project ends up rewriting — extracted once, so the next project starts further along.
A multi-module architecture starter: feature modules, a shared core, and the Gradle wiring to keep build times sane as a team grows.
Driving Zebra label printers from Android — connection handling, format and print jobs.
Solutions written down the day they were solved, so the next person — usually me — doesn’t start from zero.
Setting up ML Kit’s barcode scanner in Kotlin, with the analyzer wiring included.
Kotlin · ML KitStep-by-step barcode scanning settings for Honeywell handheld devices.
HardwareExtracting a module into its own repository and keeping the full commit history.
GitThe short version of getting ZXing running in an Android app.
AndroidStatic helpers for building requests against the Payments API.
PaymentsA convention cheat sheet — naming, structure and review rules for a team codebase.
PracticeHappy to talk about multiplatform roles, contract work through Case Code, or anything that involves an app and a piece of hardware that refuses to cooperate.