عاقرأ بالعربية

Full-stack web & mobile engineer · Amman

HaithamAssoli

I turn product requirements into reliable web, iOS, and Android apps, from the data model and interface through release and support.

هيثمالعسولي

مهندس برمجيات للويب والجوال · عمّان

Selected work

Products, decisions, and results

Eight case studies explain the user problem, my role, the technical decisions, and what shipped.

Everything else

Client work, production apps, experiments, and open-source tools across web and mobile.

gift.assoli.site
Gift: Animated 3D gifts you send as a link.

Gift

2026

Animated 3D gifts you send as a link.

  • Next.js 16
  • React Three Fiber
  • drei
  • Convex
  • Tailwind CSS
View the case study →
tele-timeline.vercel.app
TeleStream: Read every Telegram channel you follow as one timeline.

TeleStream

2026

Read every Telegram channel you follow as one timeline.

  • Next.js
  • TypeScript
  • Telegram API
  • Tailwind CSS
View the case study →
github.com
FeedGram: Follow public Telegram channels without an account.

FeedGram

2026

Follow public Telegram channels without an account.

  • Next.js
  • TypeScript
  • Tailwind CSS
View the case study →
Tawsilah AbshirAndroid
Tawsilah Abshir: Ride-hailing built for Ajloun, not adapted to it.

Tawsilah Abshir

2026

Ride-hailing built for Ajloun, not adapted to it.

  • React Native
  • Expo
  • TypeScript
  • Maps
  • Push Notifications
View the case study →
azkari
Azkari / Dhikr: One remembrance, every so often, on whichever screen you are at.

Azkari / Dhikr

2023 to 2026

One remembrance, every so often, on whichever screen you are at.

  • JavaScript
  • Swift
  • SwiftUI
  • Kotlin
  • C#
View the case study →
assoli.site
assoli.site: My previous portfolio: one animated page, driven by a command menu.

assoli.site

2026

My previous portfolio: one animated page, driven by a command menu.

  • Next.js
  • TypeScript
  • React
  • Framer Motion
  • Tailwind CSS
View the case study →
cv.assoli.site
cv.assoli.site: My web résumé: dense, scannable, and printable as-is.

cv.assoli.site

2026

My web résumé: dense, scannable, and printable as-is.

  • Next.js
  • TypeScript
  • React
  • Tailwind CSS
  • SEO
View the case study →
almadrsa.vercel.app
Almadrsa: An e-learning platform for schools.

Almadrsa

2026

An e-learning platform for schools.

  • Next.js
  • TypeScript
  • React
  • Tailwind CSS
  • RTL
View the case study →
fazuwjuh.vercel.app
Fazawwijuhu: A supervised platform for lawful marriage introductions.

Fazawwijuhu

2026

A supervised platform for lawful marriage introductions.

  • Next.js 16
  • React 19
  • TypeScript
  • Convex
  • Better Auth
View the case study →
flashcards.assoli.site
DevCards: Spaced-repetition flashcards for engineering interviews.

DevCards

2026

Spaced-repetition flashcards for engineering interviews.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • localStorage
  • Leitner scheduling
View the case study →
hadanati.assoli.site
Hadanati: Run a nursery: attendance, assessments, fees and a parent portal.

Hadanati

2026

Run a nursery: attendance, assessments, fees and a parent portal.

  • Next.js
  • TypeScript
  • React
  • Tailwind CSS
  • RTL
View the case study →
hirfati-jo.vercel.app
Hirfati: Find a trusted tradesperson in Jordan and get free quotes.

Hirfati

2026

Find a trusted tradesperson in Jordan and get free quotes.

  • Next.js
  • TypeScript
  • React
  • Tailwind CSS
  • SEO
View the case study →
sarfees.vercel.app
Service: Post a trip or book a seat between Jordan's governorates.

Service

2026

Post a trip or book a seat between Jordan's governorates.

  • Next.js
  • TypeScript
  • React
  • Tailwind CSS
  • RTL
View the case study →
crochet.assoli.site
Ghurza: Learn crochet in Arabic, from the first stitch upward.

Ghurza

2026

Learn crochet in Arabic, from the first stitch upward.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • RTL
  • SEO
View the case study →
7jabk.vercel.app
Hijabk: A Jordanian atelier for khimars and abayas, ordered over WhatsApp.

Hijabk

2026

A Jordanian atelier for khimars and abayas, ordered over WhatsApp.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • RTL
  • SEO
View the case study →
sada
Sada: Arabic subtitles for English YouTube, translated on your device.

Sada

2026

Arabic subtitles for English YouTube, translated on your device.

  • JavaScript
  • Manifest V3
  • transformers.js
  • NLLB-200
  • WebGPU
View the case study →
Python

Mubah

2026

Turn any video into a permissible copy, on your own Mac.

  • Python
  • uv
  • ffmpeg
  • yt-dlp
  • Apple Silicon / MPS
View the case study →
Ghadd: System-wide on-device image filtering for Android.
Kotlin

Ghadd

2026

System-wide on-device image filtering for Android.

  • Kotlin
  • Android Accessibility Service
  • ONNX Runtime
  • NudeNet v3
  • YOLOv8n
View the case study →
horizon

Horizon

2026

Eye breaks that know when you are actually at the computer.

  • Electron
  • TypeScript
  • React
  • electron-vite
  • Vitest
View the case study →
Marafiq PlusAndroid
Marafiq Plus: Find every park and public facility in Amman, and report what is broken.

Marafiq Plus

2025

Find every park and public facility in Amman, and report what is broken.

  • React Native
  • Expo Router
  • TypeScript
  • Google Maps
  • Firebase
View the case study →
Discover AjlounAndroid
Discover Ajloun: Tourism and municipal complaints for Ajloun Governorate, in one app.

Discover Ajloun

2025

Tourism and municipal complaints for Ajloun Governorate, in one app.

  • React Native
  • TypeScript
  • i18n
  • Firebase
  • React Query
View the case study →
SawtAndroid
Sawt: Automating an election, from voting to results.

Sawt

2025

Automating an election, from voting to results.

  • React Native
  • TypeScript
  • OTP verification
  • Firebase
  • Zustand
View the case study →
KheirAndroid
Kheir: Donate directly to people in need.

Kheir

2025

Donate directly to people in need.

  • React Native
  • Expo Router
  • TypeScript
  • Firebase
  • Zustand
View the case study →
Halal Camera: A camera that blurs faces the moment you shoot.
Kotlin

Halal Camera

2025

A camera that blurs faces the moment you shoot.

  • Kotlin
  • Swift
  • On-device face detection
  • CameraX
  • AVFoundation
View the case study →
school-teacher-substitution-finder.vercel.app
Al-Manal: Find a substitute teacher before the bell rings.

Al-Manal

2025

Find a substitute teacher before the bell rings.

  • JavaScript
  • Next.js
  • Scheduling logic
  • RTL
View the case study →
h-wedding.assoli.site
Wedding Invitation: A wedding invitation that lives at a link.

Wedding Invitation

2026

A wedding invitation that lives at a link.

  • Next.js
  • TypeScript
  • Framer Motion
  • Tailwind CSS
  • RTL
View the case study →
hafiz-platform.netlify.app
Hafiz Platform: An escrow-style platform that protects both sides of a sale.

Hafiz Platform

2024

An escrow-style platform that protects both sides of a sale.

  • Next.js
  • TypeScript
  • Server Components
  • Server Actions
  • Zod
View the case study →
nomusic: Watch YouTube and Facebook videos without the music.
Python

nomusic

2026

Watch YouTube and Facebook videos without the music.

  • Python
  • Audio source separation
  • Apple Silicon / MPS
  • CUDA
  • yt-dlp
View the case study →
Python

cohere-transcribe

2026

High-throughput Arabic/English transcription, batched properly.

  • Python
  • Silero VAD
  • GPU batching
  • SRT / VTT
  • Hugging Face
View the case study →
t3.codes
T3 Code: Control the coding agents on your machine, from anywhere.

T3 Code

2026

Control the coding agents on your machine, from anywhere.

  • TypeScript
  • React
  • React Native
  • Electron
View the case study →
play.google.com
Recruiter Connector: A marketplace where recruiters trade candidate profiles.

Recruiter Connector

2025

A marketplace where recruiters trade candidate profiles.

  • React Native
  • TypeScript
  • Real-time chat
  • Push Notifications
View the case study →
Tafrigh: Transcribe Arabic audio and generate SRT and VTT subtitles.
Python

Tafrigh

2026

Transcribe Arabic audio and generate SRT and VTT subtitles.

  • Python
  • Whisper
  • wit.ai
  • SRT / VTT
View the case study →

About

Engineering across the whole product

Haitham Assoli

I am Haitham Assoli, a software engineer in Amman. Since 2022 I have worked as a product founder, a full-stack engineer, and a freelancer for teams in commerce, bioinformatics, education, tourism, and community services.

I work across React Native, Expo, Next.js, Astro, Node.js, NestJS, Convex, and Supabase. I can own the data model, API, interface, deployment, and app-store release instead of handing the product between specialists.

The work is shaped by real constraints: offline access on unreliable networks, transactional booking without double-selling, responsive interfaces on older phones, and private AI processing that stays on the device.

What I reach for

Production tools I use most often, chosen to fit the product rather than a fixed template.

  • TypeScript
  • React Native
  • React
  • Next.js
  • Expo
  • Tailwind CSS
  • React Query
  • Zustand
  • Reanimated
  • Firebase
  • Supabase
  • Convex
  • Node.js
  • NestJS
  • PostgreSQL
  • Zod
  • Motion
  • Skia
  • Figma

By the numbers

Public development activity

A transparent view of public contributions and tracked coding time from the past year. Private client work is not included.

1,013
contributions this year
2
day streak
178
days with something shipped
2,801
hours tracked
Contributions, last year
Each square represents a day. Brighter squares mark more contributions.

LessMore

The same year, added up
The running total for the same year. Flat sections mark quieter weeks.
Hours by language
Block area shows each language’s share of tracked time. TypeScript accounts for three quarters.
  • TypeScript
  • JSON
  • Markdown
  • Other

Sources:GitHubWakaTime

Tell me what must ship, who will use it, its current stage, budget range, and deadline. I will reply with the clearest next step within two business days.

Hire me→