All projects

Hamoon

Payments app on a bespoke platform — server-driven XML screens and feature code loaded as APKs at runtime.

2019HafHashtad · Tehran, Iran
The Hamoon 780 banner from my LinkedIn — main page, buying charge, and bill payment

Hamoon is a HafHashtad mobile-payments app — SIM top-up, internet packages, bill payment, card-to-card transfer, and charity donations — built on a bespoke in-house platform that also powers a sibling travel-ticket app (Boomrang). I worked on it as one of a ~5-engineer team, contributing UI elements, several payment screens, a quick-repeat "Rapid Transaction" feature, and Room-backed transaction history.

The platform's defining idea is changing what the app shows and does without shipping a Play Store update:

Server-driven UI

  • Screens aren't compiled layouts — they're XML documents (bundled as assets, or fetched and cached from a server) parsed at runtime with XmlPullParser into a tree of custom elements, laid out by a from-scratch constraint-style engine

Dynamic module loading

  • Business-logic code is fetched as separate .apk packages, cached, version-checked, and class-loaded through a custom PathClassLoader; a ~150-entry registry resolves element/action names to classes, downloading the APK that provides one on demand
  • A contract/implementation module split lets the shipped shell compile against interfaces only and pull the real feature code in at runtime — so the initial app stays lean and features can change without a full release

Under the hood

  • Java, a 13-module Gradle graph shared across both branded apps, Retrofit / OkHttp networking, Room persistence, and a ZBar-based barcode scanner
All projectsWork with meWritten from the repository, not the résumé.