01 git log --graph --since=2025-05 --until=2026-10-11

Two years, one graph.

Production work since May 2025, with my early days and internship one click away. Every dot is a month of my commits on one project, sized by how many. A branch leaves main with my first commit to a codebase and merges back after my last; the pulsing heads got commits this month. Hover or click anything.

2025: AI chat in the browser and autocomplete, with agents on the side in Windsurf, which I mained. 2026: agentic coding became how I work. I dabbled in Cursor and Antigravity and settled on Claude Code and OpenCode. In the same full-time job at OrionDev, that meant about 3× the commits: 48 a month from May to December 2025, 153 in 2026.
daily commits

02 git branch --sort=-commitcount

Things I've built or maintained (and one I'm shipping).

Ordered by how many commits I wrote. The bar under each one is my share of the non-merge commits, counted straight from the repo.

grep -l 15 matches

01

arena-platform

shipped · maintained

Laser Tag Arena Platform

Backend + admin CMS lead · 2026 – present · .NET · Nuxt · PostgreSQL

Everything an arena runs on: reservations, tournaments, teams, an arcade floor, payments and game statistics.

  • A .NET API in Clean Architecture with CQRS (MediatR): 70+ controllers and 250+ command/query handlers on EF Core and PostgreSQL.
  • A slot-availability engine where confirmed bookings, pending requests and temporary holds all block arena time — with weekly recurring series and hold-to-booking conversion.
  • Realtime end to end: JWT-authenticated WebSocket channels pushing reservation, social and notification events to the clients.
  • The Nuxt/TypeScript admin: FullCalendar drag-and-drop scheduling with an approval flow, a tournament bracket tree, an open-hours editor, and arcade stations with QR check-in. Covered by xUnit and Vitest.
  • 70+ controllers
  • 250+ handlers
  • 117 test files (API)
#1 committer

02

phone-commerce

in production

Cellphone E-Commerce Platform

Architect, API + CMS · 2025 – present · Laravel · Livewire · Nuxt

A phone retailer's store, app API and back office, serving 1,500+ customers over a catalog of 2,500+ products and 2,000+ variants.

  • Re-architected and versioned the API a year into production to take on major business-flow changes, without taking the service down.
  • An AI chatbot on OpenAI-compatible APIs that answers product questions, calls tools, and edits the customer's cart.
  • Payment processing with webhook validation, transaction handling and failure recovery; OTP verification; order flow synced to Telegram.
  • 1,500+ customers
  • 2,500+ products
  • 2,000+ variants
#1 committer

03

appliance-store

deployed · pre-launch

Appliance Store Platform

Sole developer · 2026 – present · Laravel 11 · Nuxt 4 · MySQL · Azure

Three apps for a home-appliance retailer: a Laravel API, a Nuxt admin CMS, and a server-rendered bilingual storefront. There is exactly one author in this repo.

  • Inventory tracked per stock entry and, for products that need it, per serial number — with purchase orders, refunds, warranty-only claims, and a trash with restore.
  • English/Arabic storefront with per-language URLs, hreflang, a bilingual sitemap, slugged product URLs with 301s, and API errors in the request's language.
  • Structured specs with variant-level inheritance, side-by-side comparison and spec filters; a wishlist that follows a guest onto their account.
  • Live staff notifications over Laravel Reverb, Telegram alerts for orders and service requests, and order emails styled like the storefront.
  • Production on an Azure VM I set up end to end: GitHub Actions builds and deploys over SSH, nginx + HTTPS on four domains, supervisor, pm2, cron, and nightly off-server backups with a tested restore.
  • 40 models
  • 140+ API routes
  • 128 test files
sole author

04

broker-portal

in production

Trading Brokerage Portal

#1 committer · 2025 – 2026 · Nuxt 4 · TypeScript · Pinia · PrimeVue

The client, broker and back-office portal for an online brokerage on MetaTrader 5, used by thousands of clients and brokers, with thousands of transactions behind it.

  • Client onboarding end to end: OTP sign-up, multi-step KYC profile completion with document upload, then demo and real MT5 accounts with leverage and phone-change requests.
  • Wallets and money movement: deposits and withdrawals across wallet types, payment links that can be regenerated, admin transfers between a client's accounts, and transaction reports.
  • The broker network: brokers with assigned clients, trading groups synced to MT5 with their payout settings, and broker and client dashboards with analytics.
  • Role-based permissions checked on every admin page, with an audit log behind them.
  • 1,000s of clients & brokers
  • 1,000s of transactions
  • 72 pages
#1 committer

05

course-selection

adopted 2026–27

Course Selection & Eligibility System

Lead developer · Lebanese University · 2026 · Nuxt · .NET

Replaced a paper process where students hand-copied their personal data and picked from every course on offer. Professors use it from the 2026–2027 academic year.

  • One student-ID lookup resolves personal info, academic history and pass/fail record.
  • An eligibility algorithm that recommends a valid enrollment set under constraints like block-credit limits, with a professor dashboard to review and override.
  • A redesigned printed form that carries only resolved data — per-student time down from ~3 minutes to under 10 seconds.
#1 committer

more branches

field-tracking

Field Sales Tracking CMS

The back office for a vape company's field-sales team, in production with 25 reps across 900+ client shops: visits on a map, a country-to-sub-city hierarchy in Arabic and English, and unvisited-shop and working-time reports exported to Excel and PDF.

Laravel · Livewire · Maps · 2025 – present

#1 committer

retail-commerce

Specialty Retail Commerce API

Variant-aware catalog, search, shop filters, bulk cart and order APIs with per-variant stock checks, phone-number login, delivery zones, and a buy-now-pay-later integration.

Laravel · MySQL · 2025 – 2026

#1 committer

power-erp

Generator Sales & Service CMS

Quotation and service-report PDFs, generator statements, cash-flow views, stock and trade-ins for a power-generation company.

Laravel · Livewire · mPDF · 2026

hotel-cms

Hotel Website & CMS

A hotel's public site with room pages, and the back office behind it: rooms, categories and amenities, restaurant menus, the pool and about pages, admins and roles. Arabic, Persian and English, with RTL layouts.

Laravel · Livewire · Tailwind · May – Jul 2025

64 commits

dental-clinics

Dental Clinics Desktop App

A Windows app for running dental clinics, built in a team of three. I moved the data layer onto EF Core, added sign-in with ASP.NET Identity, wrote the database seeder, and built the lookup and accounting screens: clinics, treatment types, countries, expenses.

C# · WinUI 3 · EF Core · SQL Server · Mar – May 2025

early branches · 2024 – 2025 · origins · all solo

todo-list

To-Do List

Projects and todos you can check, edit and delete, saved to localStorage. Rewritten halfway through around ID-based todos.

JS · WebpackAug 2024 · 10 commits

battleship

Battleship

Ship and gameboard logic written test-first with Jest, then a browser game: sink the enemy fleet while taking hits on your own.

JS · Jest · WebpackNov 2024 · 14 commits

memory-game

Memory Game

My first React app. A card memory game that started on static data and was moved onto an API the next day.

React · ViteDec 2024 · 2 commits

shopping-cart

Shopping Cart

A multi-page React store with a router, a custom fetching hook, product cards, and cart state lifted into the layout.

React · Router · ViteDec 2024 · 13 commits

finshark

FinShark

Stock research in React and TypeScript: company search, income, balance-sheet and cash-flow views, a 10-K finder, login with protected routes, and a saved portfolio.

React · TS · TailwindMar 2025 · 24 commits

03 git checkout -b hotfix/CVE-2026-41940

When a zero-day hit production.

A critical zero-day in cPanel/WHM (CVE-2026-41940) hit the servers our production apps lived on. I cleaned out the malicious scripts and had several production systems back online within a couple of hours — with no data lost.

✓ systems restored  ·  ✓ 0 bytes of data lost

04 cat stack.json

What I reach for.

{
  "backend":      ["PHP · Laravel", "Livewire", "C# · .NET", "EF Core", "MediatR / CQRS", "REST"],
  "frontend":     ["Vue 3 · Nuxt 4", "TypeScript", "React", "Tailwind", "Pinia"],
  "data":         ["MySQL", "PostgreSQL", "SQL"],
  "realtime":     ["Laravel Reverb", "JWT WebSockets"],
  "ai":           ["Claude Code", "OpenCode", "MCP"],
  "integrations": ["LLM tool calling", "payment webhooks", "Telegram bots"],
  "ops":          ["GitHub Actions", "nginx", "Azure", "cPanel/WHM", "cron · supervisor · pm2"],
  "testing":      ["PHPUnit", "xUnit", "Vitest", "TDD"],
  "practices":    ["Git workflows", "MVC", "Clean Architecture", "Agile / Scrum"],
  "speaks":       { "arabic": "native", "english": "fluent" }
}

05 git show-ref

Where I've been.

refs/heads/work

Software Engineer, OrionDev

2025/02 — present

  • Build and maintain production apps in Laravel, Livewire, .NET and Vue/Nuxt with TypeScript, for live customers across e-commerce, CRM and mobile-backed platforms.
  • Mentor new developers on project architecture, Git workflows, and coding standards.
  • Run production through cPanel: databases, cron jobs, and monitoring across several applications.

refs/tags/msc

MS Computer Science

Lebanese University · 2025 — 2027

M1 completed, taken alongside client work.

refs/tags/bsc

BSc Computer Science

Lebanese University · 2020 — 2024

Top 10% in several software engineering and web development courses.

06 git remote add you

Have something that needs to reach production?

Beirut time · UTC+2 / +3