Omar Bahra
Now · Senior Mobile Engineer @ mythings

// Senior Full Stack & Mobile Engineer

MHD Omar Bahra.

I build apps and platforms people actually use — end to end.

currently shippingReact Native apps

0+

Years shipping production

0+

Apps & platforms live

0K+

Lines of production code

0K+

Commits across products

Scroll
01

About

I'm Omar. I've spent the last seven years building software that real people use every day — mobile apps, SaaS platforms, realtime systems, and lately a lot of AI.

Right now I'm a Senior Mobile Engineer at mythings, a delivery marketplace in Jordan. I work across five React Native apps — from the customer's checkout to the barcode scanner in the warehouse — and I ship updates to real users every week.

Before that I grew up as an engineer at Endless Group: I turned a trade fair platform into a multi-tenant SaaS, led an online language school from zero to production in a year, and built the backbone of an AI voice-agent platform. I like owning things end to end — backend, frontend, mobile, and the servers they run on.

// Tools I reach for

React NativeLaravelVue.jsNode.jsTypeScriptMySQLMongoDBRedisSignalRSocket.ioAWSHetznerTailwind CSSNuxt.jsDDDREST APIsAI Integration
MHD Omar Bahra
Now
Senior Mobile Engineer @ mythings
Previously
Endless Group — mid-level → senior
Focus
Mobile · Realtime · AI products
Ships
Weekly, to real users
02

Where I've Worked

  1. 2026 — PresentCurrent

    Senior Mobile Engineer @ mythings

    • Work on the mobile side of a delivery marketplace in Jordan — five React Native apps: customer, driver, warehouse picker, merchant POS, and an admin app that also runs in the browser.
    • Build realtime features on SignalR: a connection pool that keeps several live hubs open at once, with retries and connection status shown right in the UI.
    • Built the live item-replacement flow — when something is out of stock, the picker and the customer agree on a swap inside the app, mid-order.
  2. 2022 — 2026

    Senior Full Stack Engineer @ Endless Group

    • Led Endaca, an online language school: four portals, live Zoom classes, an AI tutor that streams its answers over WebSockets, and billing in several currencies. Delivered in a year with a team of three.
    • Built the backbone of Envox AI — a platform where businesses create AI agents that answer real phone calls, WhatsApp and email. Designed the domain architecture and the usage-based billing.
    • Architected Ea Team from scratch with DDD, then took over its React Native app when the outsourced team failed to deliver.
  3. 2020 — 2022

    Mid-Level Full Stack Engineer @ Endless Group

    • Turned a single-tenant trade fair platform into a multi-tenant SaaS: every organizer gets their own domain, DNS and SSL set up automatically — no human in the loop.
    • Built the realtime layer for live fairs: visitor chat, video calls on Agora, and conference halls that held up during real events.
    • Shipped a long list of paid modules: form builder, Stripe and Iyzico payments, Zoom and Eventbrite import, gamification, analytics, webhooks.
  4. 2019 — 2020

    Full Stack Developer @ Workiom

    • Built the Kanban board view for Workiom, a Notion-like workspace platform — production UI wired into their realtime data layer.
  5. 2019

    Full Stack Developer @ Zarcony

    • First team job: a 10-person crew building a B2B product on Laravel and jQuery. Learned Git, sprints and code review the real way.
  6. 2019

    Software Developer @ Elbruz Technologies

    • Built a Udemy-style e-learning site solo — including a chat that faked realtime with heartbeat polling. No WebSockets, no libraries, it just worked.
03

Flagship Work

// Viewing as
01

mythings

Five apps · one order flow

Delivery marketplace — Jordan · Current role · 2023 — Present

The interesting parts

The hard problems live between the apps. A keyed SignalR pool holds several live hubs at once, each with its own retry policy and its connection state mirrored into React. The out-of-stock flow round-trips between the picker's app and the customer's app over socket.io — mid-order.

  • The driver app reads fromMockProvider on every GPS fix and hard-blocks fake locations — anti-fraud at the point of use.
  • The admin app targets iOS, Android and the web from one codebase — react-native-web with a hand-tuned Webpack config.
  • Admin form schemas load from the server at runtime, so the backend can add fields without an app release.
298KLines of code
5Apps, one order flow
3OTA channels per platform
React Native 0.80–0.85react-native-webSignalRsocket.ioRedux-SagaReanimatedCodePushAzure DevOps

One order · five apps · live

// SignalR hub pool · replacement flow over socket.io · mock-GPS detection · react-native-web admin

02

Envox AI

AI agents that answer the phone

AI voice & communications platform · Endless Group · 2025 — Present

The interesting parts

The hard part of AI telephony is where vendors meet money. When a call ends, a webhook fires: we work out the call direction from caller metadata, stamp an ID on every transcript turn, and bill the minutes against the right monthly quota — inbound and outbound metered separately, all in one domain action.

  • Agents call back into customer systems mid-conversation through secret-authenticated webhooks — real tool-calling.
  • The widget is a compiled .ce.vue custom element that opens a live ElevenLabs session with browser-side tools registered at runtime.
  • Knowledge bases are fed by an in-house scraper and pushed to both ElevenLabs and OpenAI vector stores by queued jobs.
18Bounded contexts
3Channels: voice · WhatsApp · email
100%Usage-metered billing
Laravel 12DDDElevenLabsOpenAIMySQL + MongoDBRedisSoketiNuxt 3StripeWhatsApp Cloud API

Every channel · one agent core

// ConversationCompleteAction · 25 subscription actions · secret-authenticated widget routes

03

Endless Fairs

Trade fairs, born in one click

Multi-tenant virtual events SaaS · Endless Group · 2020 — Present

The interesting parts

A new tenant is a chain of queued jobs: Cloudflare zone and DNS, nameservers verified, the site added to every app server and the load balancer through the Forge API, SSL issued. Then a TenantManager boots the right locale, integrations and views on every request.

  • Agora video tokens are signed by hand — role constants, privilege expiry — behind an interface with a second driver swapped per tenant.
  • Video calls run a second Agora client just for screen-share, with invite, reject and kick signals over presence channels.
  • The booth builder is coordinate geometry: point-set validation and size derivation behind a drag-and-drop canvas.
11.9KCommits
168Database models
12User roles
LaravelNuxt 2 SSRMySQLRedissocket.ioAgora RTCCloudflare APIForge APIStripe + IyzicoCapacitor

Checkout → live tenant, automated

// AddTenantToCloudFlare → AddTenantToHost → CreateSsl · RtcTokenBuilder.php · canvas coordinate service

04

Endaca

A language school with an AI pulse

Live-tutoring LMS · Endless Group · 2022 — Present

The interesting parts

The AI tutor streams for real: model tokens are re-broadcast over a private WebSocket channel as they generate. Grammar corrections are parsed out of the stream into structured feedback, and a daily-limit guard keeps costs sane.

  • Scheduling is a three-way intersection: weekly teacher availability × booked classes × student credits, with a SQL overlap check that returns the exact conflicts.
  • When a teacher cancels, a real policy runs: Zoom meeting deleted, a re-bidding window opened, history recorded — or a refund inside 48 hours.
  • Course files go through an OCR service into OpenAI vector stores, so practice questions are generated from the actual material.
7.8KCommits, API + client
4Portals
284Migrations
Laravel 11OctaneDDDMySQL + MongoDBOpenAIZoom APIPusherVue 3Nuxt 3Stripe + Iyzico

Four portals · streaming AI core

// ChatTutorAIService · createStreamed() · TeacherAvailabilityAction · AutoAssignToAnotherTeacher

Under the Hood

Screenshots can be faked; systems can't. These are the hardest features I've shipped, replayed as small live simulations — watch them run.

● live simulationpicker ↔ customer over socket.io

Picker app · warehouse

Out of stock

Almarai Milk 1L — shelf B4 empty

socket.io
live

Customer app · at home

Order status

Being packed — 12 of 14 items

no cancelled orders · no phone calls · the order never stops moving

05

More Work

01

Ea Team

White-label ambassador/community platform: Twitter-like feed, stories, chat, task campaigns, and a real cash wallet with state-machine withdrawals. Single-database multi-tenancy with a global tenant scope — and one Expo codebase shipping as three separately branded App Store apps. Badges awarded by domain-event listeners, not polling.

Laravel (DDD)OctaneHorizonReact Native (Expo)Redux-SagaMongoDBRedis
02

Dental Platform

Production multilingual clinic platform (drsondos.com): CMS-driven marketing site + admin panel managing every section, appointments, and messages. Languages are database rows — RTL flags, per-locale content tabs generated dynamically — with OG images rendered from CMS content at the edge so SEO edits propagate without redeploys.

Next.js 15React 19ExpressMongoDBTailwind 4next/og
03

Multi-Tenant Commerce Platform

Shopify-style SaaS reference build: hexagonal architecture with a single composition root, row-level tenancy bound via AsyncLocalStorage that fails closed (queries throw without a bound tenant), Elasticsearch search that degrades to SQL per tenant module, and a product aggregate whose price is derived from variants — never stored.

TypeScriptNode.jsSequelizeElasticsearchMongoDBReactDocker
04

Morning Azkar

Habit tracker shipped as web, iOS/Android, and API. Anonymous-first design: logged-out users get a server-minted session that later merges into their account, with a debounced dual-identity sync layer shared across all hook instances. Server-side streak algorithm walks back day-by-day over user-selected goals.

Express 5TypeScriptNext.js 15React Native 0.85MongoDBPM2
05

Endless Offices CMS

High-performance multilingual content platform for a study-abroad company: a custom WordPress-style model layer (post types, taxonomies, redirects) with full-page static caching, an automated WebP image pipeline, and SEO tooling — 913 commits of production content engineering.

Laravelpage-cacheWebP pipelineMySQLSEO
06

Workiom Kanban View

Built an interactive Kanban board database view for Workiom — a Notion-like collaborative workspace platform. Delivered production-ready UI components integrated with the platform's real-time data layer.

JavaScriptjQueryREST API
07

E-Learning Platform

Full Udemy-style course marketplace built at Elbruz Technologies. Teachers create and manage courses; students browse and enroll. Includes a real-time chat system built using the heartbeat polling technique — no Socket.io dependency.

LaravelAngular.jsJavaScriptMySQL
06

Expertise

The filled chips are the tools I'd bet a deadline on. The rest I use often and comfortably.

Mobile

where I live day to day

05
React NativeExpoReanimatedCodePush / OTAPush Notifications

Frontend

web apps & dashboards

06
Vue.jsReactNext.jsNuxt.jsTypeScriptTailwind CSS

Backend & APIs

platforms & realtime

06
LaravelNode.jsDDDREST APIsSignalR / Socket.ioOpenAI / ElevenLabs

Tools & Infra

data, servers, shipping

07
MySQLMongoDBRedisAWS / HetznerLaravel ForgeAzure DevOps CIGit
07

Writing

View all

// Stay in the loop

Get notified on new posts

Occasional writing on engineering, architecture, and building at scale. No spam. Unsubscribe any time.

08

Contact

Let's build something extraordinary.

Whether you have an engineering challenge, a leadership opportunity, or a vision worth building — I'm ready to talk. Direct and to the point.

omaralbahra@gmail.com

// Find me on