Aref Hammadi

AI researcher who ships.

I'm doing a PhD on graph neural networks that summarize conversations. I also build AI products and run them on my own servers in Lebanon, under my studio EveAI.

  1. VisitorWho are you?
  2. ArefAref Hammadi, a PhD student in AI. My model reads a conversation as a graph and keeps the lines that matter.
  3. VisitorSo mostly research?
  4. ArefHalf of it. The other half is building AI products that real people use every day.
  5. VisitorLike what?
  6. ArefA desk robot that talked to visitors at an expo in Lebanese Arabic, a shop system that keeps selling when the internet drops, and a bot that reads 40+ news outlets.
  7. VisitorCan I work with you?
  8. ArefYes: remote AI and ML roles, or a build for your business.

The highlighted lines are the extractive summary of this chat. Picking them well is what my research is about.

Selected work

Most of this code is private because it runs real businesses. Each entry says what is live, what I built, and with what.

Sila

صلة Worked an expo stand, 2 robots running

A small talking desk robot with an animated face. It speaks Lebanese Arabic and English, and it worked as HMC's salesperson at an expo, answering visitors about batteries and solar in "amps", the unit Lebanese households actually think in.

  • Voice server on my VPS: speech in, any OpenAI-compatible model as the brain, a custom voice, and a learning mode where the shop manager teaches it new answers.
  • Firmware for an ESP32-S3 camera board with a 3.5" screen, built in GitHub Actions.
  • The body is generated in Python from one parameters file and printed on a Bambu A1. It's shaped like an HMC battery, down to the terminal button and bolt antenna.
  • A laptop "booth caller" that invites passers-by in Sila's voice and goes quiet while she's talking.
  • Now planned as a product line in four sizes, researched down to boards, batteries and landed cost in Beirut.

ESP32-S3, ESP-IDF, Python, WebSockets, LLM + TTS APIs, manifold3d, Blender, Coolify

Render of Sila: a dark battery-shaped body with a gold cap, a screen, and a lightning-bolt antenna on a stand
Sila's happy animated face
The generated body, and one of Sila's faces.

HMC Store

Live in the cloud

One program to run a battery and solar shop: till, stock, serial numbers, purchases, customer debts, repairs, cash, VAT invoices, labels, and battery pack assembly with cell matching.

  • Runs on the shop PC and keeps selling offline, then syncs field by field with a cloud copy so the owner can check the shop from a phone.
  • English and Lebanese Arabic, with search that understands Arabic spelling variants and shorthand like "6kw".
  • Prints stickers straight to label printers (TSPL/ZPL) and turns any phone into a barcode scanner.
  • Written for a first-time shop owner: plain words instead of accounting terms, help on every field.
  • 68+ unit tests and an end-to-end test of two nodes syncing.

Node 22 with SQLite, React, TypeScript, Vitest, Docker

Dialogue summarization with graph neural networks

PhD research, paper in preparation for IEEE Access

Customer-support threads on Twitter are long and tangled. My model reads each one as a graph at several levels (tweets, segments, speakers) that changes as the conversation goes, and picks the utterances a human summary would keep.

  • Hierarchical dynamic GNN on sentence embeddings, evaluated on TweetSumm with ROUGE-1.5.5 and ablations.
  • Self-supervised pretraining on unlabeled support dialogues.
  • Teacher-student training: the teacher labels about 100k unlabeled TWCS dialogues, and the student learns from those plus the 880 human-labeled ones.

PyTorch, Hugging Face Transformers, sentence-transformers, ROUGE

Lebanon News Bot

Running daily on Telegram

Reads more than 40 Lebanese outlets (TV, newspapers, the national agency, the army, party sites) plus X accounts, and sends short Arabic briefs with analysis twice a day. Readers can also ask it questions about the archive.

  • AI only where it pays: headlines and breaking alerts cost nothing, a full brief costs about $0.08, and a brief under 30 minutes old is reused.
  • Every model call's cost is logged. Admins get alerts at 50, 80 and 100% of the monthly budget and can raise it with one button.
  • Every model can be swapped by configuration, so a deprecated model is a one-line change.
  • The full archive is written to an Obsidian vault automatically (440+ commits so far).

Python, Telegram Bot API, OpenAI and Gemini APIs, Docker

Breastfeeding Chat

Live, open source

A Persian and English assistant that answers mothers' breastfeeding questions from a curated knowledge base.

  • Retrieval-augmented agent in n8n, with answers checked against multiple-choice and open-ended question sets.
  • The new version (in launch testing) adds accounts and saved conversations: Supabase Auth and Postgres with row-level security, and an Edge Function in between, so the browser never holds a secret or the agent's address.
  • The build fails if a secret ever reaches the bundle. End-to-end tests cover Persian right-to-left and English at five screen widths.

n8n, React, TypeScript, Supabase, Playwright

CouBank

Live, in development

A money app for couples: one shared household treasury, with each partner's own view of what they spend and save.

  • Money stored as integers end to end, database-backed sessions, and service-level tests for the money rules.
  • Web app plus an Android app, deployed with Docker.

Next.js, TypeScript, Prisma, PostgreSQL, Android

More things I've built

Smaller tools, client work and experiments.

  • SanadA personal AI chief of staff on top of Claude Code: voice studio, daily routines, and an Obsidian memory that learns. Lebanese Arabic and English.
  • Issue DesignerA Telegram bot and design engine that turns text into magazine-style bulletins, Arabic right-to-left first, as print-ready PDF.
  • Channel writer botTelegram bot and Mini App for an Arabic publication: fresh topic ideas, three plans to choose from, a draft, and a critic that scores originality. About $0.09 a post.
  • Fact CheckerA SaaS for checking claims: multilingual retrieval, an evidence store and a human review queue. FastAPI, PostgreSQL, React.
  • ResearchHarvesterA Persian and English desktop app that collects, filters and exports research opportunities. Ships as a Windows installer.
  • Calendar Notepad AgentA multi-tenant Telegram assistant: each user's Google Calendar, notes and reminders, team roles, and Redis workers.
  • to3dFrom photos of a person to a 200 mm 3D-printable figurine: mesh grafting and repair in Blender with OpenVDB.
  • EveAIMy studio and brand for AI products and courses: eveai.cloud.

What I work with

Grouped by the kind of problem, not by buzzword.

Research
Graph neural networks, extractive summarization, dialogue modelling, self-supervised pretraining, pseudo-labelling, evaluation design.
Applied AI
RAG, agents and tool use, voice (speech in, speech out), cost control, provider-agnostic model layers, Arabic and Persian text.
Software
Python (FastAPI), TypeScript (React, Next.js, Node), PostgreSQL, SQLite, Supabase, Telegram bots.
Hardware
ESP32-S3 firmware, screens and audio boards, enclosures generated from code, 3D printing.
Running things
Docker, Coolify, GitHub Actions, n8n, DNS, backups, budgets and alerts.
How I build
With AI coding agents (Claude Code, Codex) as a team: I write the plan, review every change, and keep the tests.

I run my own stack

Everything above runs on one 8 GB VPS that I manage with Coolify: 15+ apps and services, including the products, n8n with workers, S3 storage, a message queue and a speech-to-text server. Each product gets its own subdomain under eveai.cloud, deploys from GitHub, and has its own API key so I can see what each one costs.

Let's talk

Based in Lebanon, open to remote AI and ML roles, research collaborations, and building AI products for businesses.

بدّك بوت، تطبيق، أو روبوت بيحكي لبناني لشغلك؟

بعملّك ياه من الفكرة لحدّ ما يشتغل عندك، وبضلّ معك بعدها. ابعتلي على لينكدإن ومنحكي.