Ahmad Abdulmajid Ahmad Abdulmajid / Software Engineer

Software Engineer · Damascus, Syria

I build the systems behind software people depend on.

For the past two years I've built the backend of Darkmon, a threat-intelligence platform used by banks and governments. I write the crawlers, pipelines and APIs that turn the dark web into customer alerts. On my own time I build Arabic-first products: tools for Syrian pharmacies, clinics and gyms, plus paid client work running in Egypt today.

Get in touch Open to backend & product roles + freelance
2 yrs
on the Darkmon backend
8
products built end to end
Darkmon TIP · since 2024 Threat Intelligence

I build the engine of a threat-intelligence platform used by banks and governments.

Darkmon watches the clear, deep and dark web for a company's leaked data. Two years in, the platform's biggest features are mine, end to end: from the crawlers to the APIs.

The engine: from dark corner to customer alert my layer
Collectdark web · Telegram · code & pastes
Processpipelines: normalize · enrich · match to customers
Indexone global search over the whole corpus
ServeREST APIs · alerts · MISP in & out
▸ No product screenshots here on purpose. The dashboards' UI is not my work and its data is sensitive. I build the engine that feeds every screen the customers see.

Code-leak monitoring

Scans GitHub, GitLab, DockerHub, NPM and Gist around the clock for customers' leaked code and secrets. A 60-day discovery window, rolling re-checks all day, and a daily full sweep.

GitHubGitLabDockernpm

Social-media impersonation monitoring

Watches 9 platforms, from Facebook and Instagram to Telegram and Discord, for accounts impersonating a customer's brand or executives: username permutations, Unicode look-alikes and more.

FacebookInstagramXTikTokYouTubeRedditTelegramDiscord

Cortex XSOAR pack · live on the Palo Alto Marketplace

An end-to-end Darkmon pack for Cortex XSOAR and XSIAM: playbooks, automations, two integrations, incident types and layouts that wire Darkmon into a customer's SOC.

cortex.marketplace.pan.dev/marketplace/details/Darkmon →

MISP MISP integration

Heavy, messy IOC feeds come in from many sources. I normalize, enrich and structure them so the security team can actually work: sort, filter, search, export.

Global search

One search across the entire corpus: every leak, account, mention and indicator the platform holds.

▸ Also shipped: enterprise SAML SSO, an MCP server, GDPR erasure workflows and domain verification.
Built with Spring BootJava · Spring BootPythonPythonCrawlers & collectorsData pipelinesSearch & storageREST APIsMISPMISP
/ Client work

Built for paying clients, running today.

Two products that real businesses paid for and use. I built them and I keep them running.

02Retail · POSSold · in production

A bilingual POS for car-parts merchants, sold and in daily use.

A real merchant runs his trade on it. The point of sale works fully offline on encrypted SQLite and syncs to a Spring Boot + PostgreSQL server when the line comes back: multi-tenant, JWT auth, hardware-locked licensing, and ledgers that freeze the exchange rate on the day of each sale. The backend, the app, the tests and the deployment are my work.

648
passing server tests
30s
background sync · server wins
Spring BootSpring Boot · JavaPostgreSQLPostgreSQL · LiquibaseElectronElectron · React 19SQLiteSQLite · WALi18nexti18next · RTL/LTR
B2B POS · UI refresh
B2B car-parts POS, redesigned sale screen in Arabic RTL
Sells offline, syncs when online conflict rule: server wins
POS at the counter
Electron · encrypted SQLite · keeps selling with no connection
sync every 30 s
Central server
Spring Boot · PostgreSQL · multi-tenant · JWT
Licensing
hardware-bound · per device
Offline queue push & pull when online · FX rate frozen on every ledger row
03Web · CMSLive · librasoft-eg.com

A software company's web presence, built and run end to end.

LibraSoft (Egypt, est. 1997) sells accounting ERPs across the Arab world, and their site was an old static page. I rebuilt it: Next.js front end, Convex backend, an admin dashboard with a blog CMS, a clients page and a contact inbox. Arabic first, RTL, and I ship every release myself.

Live
librasoft-eg.com
2
faces: public site · admin CMS
Next.jsNext.jsConvexConvexBetter AuthThree.jsThree.jsTailwind CSSTailwind · RTLVercelVercel
librasoft-eg.com
LibraSoft · live marketing site and CMS, Arabic-first
/ Built solo, end to end

Away from Darkmon, I ship Arabic-first products for Syria, alone.

Design, front end, backend, database, installer. The whole stack. Every one is offline-first and encrypted, because here the power cuts for hours a day and the internet is never a given. Real tools for pharmacies, clinics, gyms and shops.

04Healthcare · PharmacyIn development

A pharmacy that runs its whole counter with the internet switched off.

Saydaliti is an offline-first Windows app: batch-and-expiry inventory with FEFO dispensing, POS with thermal receipts, prescription verification and a controlled-substance register. All Arabic RTL, all encrypted at rest.

60
screens · 9 modules
Offline
encrypted SQLite
ElectronElectronReactReact · TypeScriptSQLCipherAnt DesignAnt Design · RTLRecharts
Saydaliti · pharmacy suite
Saydaliti pharmacy dashboard: sales chart, low-stock and expiry tables
FEFO: first to expire, first out Amoxicillin 500mg · 4 batches
LOT A-2231 exp 08 / 2026 DISPENSE FIRST
LOT B-4417 exp 03 / 2027 240 in stock
LOT C-5090 exp 11 / 2027 held
LOT D-6621 exp 09 / 2028 held
05Healthcare · ClinicIn progress

A doctor's whole practice on one encrypted, offline machine.

Eiadati runs patients, visits and prescriptions with multi-currency billing in SYP and USD, specialty templates (including an ophthalmology eyeglasses-Rx grid), and clean A5 letterhead printing. No account, no cloud.

21
specialties
SYP · USD
never auto-converted
Power-safe
700ms autosave
ElectronElectronReactReact 19SQLCipher · WALAnt DesignAnt Design · RTL
Eiadati · clinic suite
Eiadati clinic dashboard
Two currencies, never silently converted SYP · USD
SYP
125,000
consultation
no auto-convert
USD
$40
procedure
Every line item keeps its own currency on the invoice and the A5 letterhead print. The doctor sets the rate, the app never guesses.
06Fitness · GymComplete · pre-launch

The gym's front desk: QR check-in, cash drawer, automatic reminders.

NABAD handles members with QR cards, subscriptions with freeze/renew, one-tap check-in, cash-drawer reconciliation and who-owes tracking, plus automatic Telegram renewal reminders. Fully offline, per-device licensed.

Ready
for its first gym
Signed
Windows installer
ElectronElectron 42ReactReact 19libsql · encryptedTelegramTelegram Bot APIESC/POS
NABAD · gym front desk
NABAD gym dashboard
Subscription lifecycle, automated end to end QR · Telegram
ActiveQR check-in
ExpiringT-3 days
Reminderauto Telegram
Renew / Freezeone tap
07Business · ERPIn progress

An Arabic-first ERP that keeps selling through the daily power cut.

ShamSmart is a dual-database, offline-first business system: one Spring Boot core runs on SQLite standalone or PostgreSQL across a LAN. Barcode-first POS, accounting, warehouse, plus a separate web portal that mints machine-locked software licenses.

8
modules
SQLite ⇄ PG
dual dialect
Licensing
dealer portal
Spring BootSpring Boot · JavaReactReact · ElectronSQLiteSQLite · PostgreSQLLiquibaseLiquibaseAnt DesignAnt Design · RTL
ShamSmart · POS
ShamSmart POS register
One codebase, two databases dialect-aware
Spring Boot core
one JPA layer · Liquibase migrations
same code
SQLite
standalone · fully offline
PostgreSQL
multi-seat · across the LAN
Web portal mints machine-locked licenses for dealers
/ Personal systems

Things I built for my own daily use.

08Automation · Risk control

A disciplined trading bot that knows when to stop.

A self-auditing spot bot on a custom Python sidecar wired into Freqtrade, with a re-armable kill-switch ladder and a zero-dependency dashboard that sums up the live run in one plain sentence for a non-technical owner.

PythonPythonFreqtradestdlib http.serverDockerDocker · VPS
localhost:8899 · bot monitor
Signal-Fusion bot monitor dashboard
Kill-switch ladder: escalates, then re-arms automatic · reversible
01
Watchdrawdown within budget
ARMED
02
Reduce sizesoft breach · trim risk
READY
03
Halt new entrieshard breach · hold only
READY
04
Flatten allcircuit-breaker · exit & cool down
STANDBY
09Media · Android TV

My IPTV subscription on the TV: ad-free, remote-first.

An Android TV app in Jetpack Compose that plays an Xtream-Codes subscription (live TV, movies and series) behind a 10-foot interface. The Room-backed catalog stays memory-flat across 100k+ items on cheap TV boxes.

KotlinKotlinJetpack ComposeCompose for TVMedia3 · ExoPlayerRoom · Paging 3
TV Player · Live TV guide
TV Player live TV guide with channel list and program guide
Memory stays flat across the whole catalog Room · Paging 3
load-all: climbs, then OOM on cheap boxes paged: flat, ~constant RAM
1k25k50k100k+ items
/ Open source

Small tools I open-sourced.

# before: glow test.md ملاعلاب ابحرم # (reversed, broken) # after: BiDi pass ✓ # مرحبا بالعالم ✓ Arabic now renders right-to-left
Go RTL Fix
Open-source contribution · charmbracelet/glow

A Unicode BiDi pass so Arabic, Hebrew & Syriac finally render right in terminals like Windows Terminal.

GitHub charmbracelet/glow · pull/923
PR #923
/ About

Backend at the core, full-stack where it's needed.

Ahmad Abdulmajid · Damascus
Damascus, 2026

I'm a software engineer in Damascus. By day I build Darkmon's backend: crawlers, pipelines, global search and APIs for a threat-intelligence platform. By night I build whole products alone, because the tools my city needs don't exist and can't be bought here. Some of it is client work: a POS sold to a parts merchant, and a company site I run end to end.

That mix forces the details most people skip: offline first, encrypted at rest, safe through power cuts, with Arabic and English as equals.

Based in Damascus, Syria Backend · Product · Full-stack Arabic (native) · English Open to work