ML Engineer building GenAI and ML platforms.
- Systems programming in C and Rust for Apple Silicon (inference kernels, thermal control, SMC/IOKit)
- Local and on-device LLM inference: Metal kernels, GGUF, MLX, benchmarking on real hardware
- AI developer tooling: MCP servers, CLIs, and a local-first memory graph
| Project | Description | Tech |
|---|---|---|
| atlassian-cli | Unified CLI for Jira, Confluence, Bitbucket & JSM. Bulk ops, dry-run, JSON/CSV/YAML/table output, multi-instance profiles. Docs | Rust |
| surge | Experimental LLM inference engine for the Mac Studio M3 Ultra. Byte-exact greedy Metal decode, no dependencies beyond macOS. Work in progress, and so far slower than mlx-lm and llama.cpp on the workloads measured | C, Metal |
| fanpro | Fan control and thermal monitoring for Apple Silicon Macs. CLI, live terminal dashboard and root daemon, monitor-only by default, no dependencies beyond macOS | C, IOKit |
| speedlog | Self-hosted internet speed monitor: a bash collector logs Ookla Speedtest CLI results to CSV and a FastAPI app serves a Chart.js dashboard. No database, no Docker | Bash, Python, Chart.js |
| batteryconsole | CLI to check Logitech MX device battery levels on macOS, over the BLE Battery Service or HID++ | Rust |
| logi_mx_auto_switch | Make an MX Master follow the MX Keys across Macs on Easy-Switch via HID++ ChangeHost, no Logitech software | Python |
| localsecrets | Small self-hosted secrets manager: single-binary server and CLI, Shamir unseal shares, append-only encrypted store, scoped machine tokens | Rust |
| beacon-hunt | Passive Bluetooth tools for finding a lost Apple device indoors, when Find My has only given you a street address | Python, bleak |
| Project | Description | Tech |
|---|---|---|
| openpos | Offline-first point of sale for small retail shops: one Rust core shared by the till, the browser and the server, so a shop keeps selling with the line down. Pre-release, AGPL-3.0-only | Rust, WASM, Svelte, Postgres |
| cron_manager | Native desktop GUI for managing your crontab: visual schedule builder, next-run preview, conflict detection and automatic backups. Site | Rust, iced |
| usagebar-no-tel | Unofficial no-telemetry fork of robinebers/openusage (v0.7.10), a macOS menu bar app that tracks AI coding subscription usage. Not affiliated with or endorsed by OpenUsage | Swift |
| Project | Description | Tech |
|---|---|---|
| parsnip | Local-first memory graph for AI assistants. Single binary, entities/relations/observations, exact, fuzzy and full-text search, MCP integration, cross-project queries, optional remote mode (source builds). Site | Rust, redb, tantivy, MCP |
| gemini-mcp-rust | MCP server for Google's Gemini API, written in Rust | Rust, MCP |
| reddit-mcp-server | Read-only Reddit MCP server over app-only OAuth | Rust, MCP |
| skills | Custom skills for the Claude Code CLI | Markdown |
| Project | Description | Tech |
|---|---|---|
| llm-benchmark | Local LLM benchmark suite: 26 prompts across 6 categories, programmatic and Claude-as-judge scoring, plus long-context needle-in-a-haystack harnesses | Python |
| bengali-ocr-finetune | Bengali OCR LoRA fine-tuning experiments (Gemma 4 E4B, PaddleOCR-VL-1.5) on Apple Silicon. Research log | Python, MLX, mlx-vlm |
| Project | Description | Tech |
|---|---|---|
| saas_template | Cloudflare-first SaaS starter. Opinionated, SEO-first, swappable. Site | Next.js 16, D1, Better Auth, Stripe |
atlassian-cli: 30 GitHub stars, 8,911 GitHub release asset downloads, 666 crates.io downloads of the atlassian-cli crate (as of 27 Sep 2026).
Merged: App-Store-Connect-CLI (#739 to #743: submission validation, localization updates, price point filtering, stale review submission handling, app privacy error hints) and aws-codecommit-devops-model (#4: Docker install prerequisite).
Open (as of 27 Sep 2026): psd-tools #679 (drop shadow layer effect rendering), whatsapp-mcp #363 (move to the context-aware whatsmeow API), HistoryHound #12 (stdio transport, Chrome profile detection fix).
Systems: Rust, C, Metal, IOKit ML/AI: Python, PyTorch, MLX, GGUF, llama.cpp, Computer Vision, NLP AI tooling: Model Context Protocol (MCP), Claude Code Web: TypeScript, Next.js, Cloudflare Workers/D1 Cloud: GCP (Vertex AI, BigQuery, Cloud Functions), AWS (SageMaker, Lambda), Kubernetes, Docker
- Write-up on M3 Ultra GPU clock drops under sustained LLM load. It proposed a 338 MHz firmware GPU limiter; surge's own later telemetry did not support that premise (retraction)
- Kimi-Linear ran a real 1M context on my Mac Studio
- The two numbers that decide local LLMs: 100 tokens/sec and 1M context
- Serving Machine Learning Models in a Serverless Manner: talk in the AWS User Group Malaysia March 2021 livestream (the link is the full stream)
- Practical Introduction to NLP
- Website: omarshabab.com
- LinkedIn: /in/omar16100





