Skip to content

Available for contract work

I ship native apps and the backends behind them. I can ship yours.

I'm Oday Maleh, an independent developer in Amsterdam. Everything on this site — 11 apps across iOS, Android and macOS, and the client systems behind them — was designed, built, localised, shipped and maintained by me. That's the portfolio and the interview: open any app, read the engineering posts, and you'll know how I work before we talk.

11apps live on the App Store and Google Play
3platforms, all native: iOS, Android, macOS
20store languages on the most-localised app
1person, end to end — no hand-offs

What I take on

Native iOS and Android apps

Swift and SwiftUI on iOS, Kotlin and Jetpack Compose on Android — with StoreKit 2 and Play Billing, widgets, Live Activities, share extensions, Bluetooth hardware, background work and everything else that makes an app feel like it belongs on the platform. The Android apps for Roadie Tuner, Seez, PowerGoodies and Bubu AI are the client-side track record.

Kotlin Multiplatform, done pragmatically

One Kotlin codebase for both stores when the product is mostly UI and data (QuestLog, Marjai), and native when it isn't (everything else). I'll tell you which one your app is.

On-device AI features

Whisper transcription, small LLMs via MLX and CoreML, on-device OCR — features that work offline and never upload the user's data. Murmur, Booksum and Textrix all ship this way.

Finish or rescue an existing app

Half-built codebase, stalled release, App Review rejection loop, a crash you can't reproduce. I've shipped through all of those and I'm comfortable reading someone else's code.

Backend systems and internal tools

Node.js and Express APIs on MongoDB or Postgres, Supabase, JWT auth with role-based access, Excel-to-database import pipelines, scheduling and reporting screens in React. Dynet — a fibre-installation planning system with six roles and a transactional import pipeline — is the reference case.

Web and developer tooling

Astro and Next.js sites, Python services and scrapers, macOS desktop tools, CLI and build automation. Whatever sits behind or beside the app.

App Store optimisation with evidence

Keyword research against real store data, title and metadata allocation across localisations, screenshot pipelines, and a measurement loop — so a ranking change is a verdict, not a feeling.

Client work

All case studies
Dynet dashboard: the City → Area → District → Building → Apartment hierarchy with counts, the five-step installation process flow, and completed, pending and scheduled installation totals

Dynet

Fibre rollout · Web · API

Districts arrive as the network operator's Excel sheet; Dynet turns them into buildings, flats and a work queue for six specialist roles — surveyors, planners, installers — with calendars, floor plans down to the cable, and live progress per district. API, web app and import pipeline, built by me.

Case study

Roadie Tuner home screen with the user's instrument profiles and tutorial cards

Roadie Tuner

Music hardware · Android

A free chromatic tuner for twelve instruments and the control centre for Band Industries' Roadie devices: connect over Bluetooth, push firmware, manage instrument profiles and 150+ alternate tunings. I built the Android app; 100K+ installs, rated 4.6 on Google Play.

Case study

Seez store screenshot: Find your next car — buy, lease, new, used — with search results for Toyota models in Dubai

Seez

Automotive marketplace · Android

Seez aggregated used and new car listings across the UAE, Saudi Arabia and Kuwait into one search, priced them with market data, and could identify a car from a photo. I built the Android app — 500K+ downloads — for a company that grew to a million users and was acquired by Pinewood Technologies in 2025.

Case study

PowerGoodies home screen: points balance, a Ready to charge card and an Add new card bonus

PowerGoodies EV Rewards

EV charging · Android

Public chargers are blocked by cars that finished hours ago. PowerGoodies rewards EV drivers with points for charging at partner operators in the Netherlands, Belgium and the UK and for unplugging right after the car is full — points they spend on gift vouchers. I built the Android app end to end: charge map, session tracking, timers, notifications and the rewards shop.

Case study

Bubu AI store screenshot: Meet Bubu, your smart AI companion, with a chat about a daughter waking every hour

Bubu AI

Parenting · early childhood · Android

Bubu is an AI parenting companion: an assistant that answers from your child's own profile, sleep predictions, personalised stories and lullabies, and a nursery hub that connects parents with their daycare. I built the Android app — Kotlin, Jetpack Compose, 20+ Gradle modules — to parity with the iOS app, plus the Android teacher app for nurseries.

Case study

Under NDA

Banking and enterprise engagements don't get a page. Ask, and I'll walk you through architecture, scope and what shipped in a call.

How I work

  • Small scope first. A week or two on the riskiest part — the API that might not exist, the on-device model that might not fit — before committing to the whole thing.
  • You get the repository, not a demo. Real project files, CI that builds, fastlane lanes that submit, and a README that lets someone else take over. I've inherited enough "it works on my machine" codebases to refuse to hand one over.
  • Direct communication. You talk to the person writing the code. Weekly written updates with what shipped, what's blocked, and what I recommend — no account manager in between.
  • Fixed price for defined work, day rate for open-ended work. I'll tell you which one fits after the first conversation, and I'll tell you if I think you shouldn't build it at all.

Good fits

  • A product team that needs a mobile app built by someone who has actually shipped through App Review.
  • A founder with a validated idea and no mobile engineer.
  • An agency that needs a native specialist for one engagement.
  • A company with an app that works but nobody wants to touch.
  • Anyone who wants a private, offline-first feature done properly instead of bolted onto a cloud API.

Not a fit

  • Equity-only work, or "build the MVP and we'll pay when we raise".
  • Ad-tech, gambling, or anything that needs dark patterns to make money.
  • Projects where the deliverable is a slide deck rather than working software.

The portfolio, one line each

Dynet · client work

Node.js · Express · MongoDB · Mongoose · JWT

Roadie Tuner · client work

Kotlin · Android · Bluetooth LE · Audio pitch detection · Firmware updates over the air

Seez · client work

Kotlin · Android · REST APIs · Image recognition · Push notifications

PowerGoodies EV Rewards · client work

Kotlin · Jetpack Compose · Google Maps · Push notifications · REST APIs

Bubu AI · client work

Kotlin 2.3 · Jetpack Compose · Navigation 3 · Metro DI · Media3 / ExoPlayer

SSH Client & Terminal - Cura

Swift · SwiftUI · Kotlin · Jetpack Compose

Islamic Baby Names Generator - Ismi

Swift · SwiftUI · SwiftData · Kotlin

Mantra: Affirmation Wallpaper

Kotlin · Jetpack Compose · DataStore · WorkManager

QuestLog: Game Backlog Tracker

Kotlin Multiplatform · Compose Multiplatform · SQLDelight · Koin

Underway: Package Tracker

Swift · SwiftUI · SwiftData · ActivityKit

Writing & Paraphrase - Textrix

Swift · UIKit · Apple Foundation Models · llama.cpp (on-device LLM)

Reading Journal - Booksum

Swift · SwiftUI · GRDB · llama.cpp (on-device LLM)

Shia Islamic Laws & Fatwas - مرجعي

Kotlin Multiplatform · Compose Multiplatform · SQLDelight · Koin

Ward: Porn & Website Blocker

Swift · SwiftUI · NetworkExtension · Kotlin

ADB Remote

Kotlin · Compose Multiplatform (Desktop) · ADB · Gradle tooling

Voice Recorder & Memo - Murmur

Swift · SwiftUI · WhisperKit (CoreML) · MLX Swift

Tell me what you're trying to build.

Two or three sentences is enough. I reply within a working day, usually with questions, sometimes with "here's why that's harder than it looks".

oday@saltserv.com