nidal.app

Backend and AI, taken to production.

Nidal Alhariri, senior backend and AI engineer in Berlin. Twenty years building production software. I take backend and AI features from written scope to production, keep them reliable, and hand them over documented so your team can own them.

Write to hello@nidalalhariri.comAsk for the CV

cv.md

/cv.mdtext/markdown8.8 KBEntry names call get_project

# Nidal Alhariri
Senior backend and AI engineer, freelance, Berlin, remote.
Availability: available now, full-time or part-time.
Working language: English. Languages: Arabic (native), English (fluent), Russian (good), German (around B1).

## Summary
Twenty years building production software. I take backend and AI features from written scope to production, keep them reliable, and hand them over documented so your team can own them.

## Skills

### Backend
Python, FastAPI, Flask, SQLAlchemy, Celery, async services, REST and event-driven APIs, PHP, Node.js

### Data
PostgreSQL, MySQL, MongoDB, Redis, Elasticsearch, Apache Kafka, Snowflake, Airflow

### Infra
AWS, Kubernetes, Docker, Terraform, Ansible, CI/CD, Linux, Datadog, OpenTelemetry

### AI/LLM/agents
LLM integration, RAG, MCP servers, retrieval-augmented generation, embeddings and vector search (pgvector), agents, evaluation

### Frontend
Vue, React, Next.js, TypeScript

### GIS
PostGIS, geospatial queries, Leaflet maps, OpenStreetMap data

## Experience

### Raisin SE
Period: 2021 to 2026
Organisation: Raisin SE, Berlin (fintech, savings and investment marketplace)
Role: Senior backend engineer, freelance
URL: https://www.raisin.com
Python microservices with FastAPI, Kafka and PostgreSQL on AWS and Kubernetes, Terraform, and front end in React and Next.js, for a European savings and investment marketplace. Bonus campaigns, payouts, and authentication work across product migrations.
Technologies: Python, FastAPI, Apache Kafka, PostgreSQL, SQL, AWS, Kubernetes, Terraform, React, Next.js.

### Bayanat
Period: 2014 to now
Organisation: Syria Justice and Accountability Centre (SJAC), Washington D.C., remote (human rights documentation)
Role: Lead engineer, Syria Justice and Accountability Centre
URL: https://bayanat.org
Open-source platform used to document human rights violations: Whisper transcription and vision-LLM OCR on its media, full-text search over millions of records, PostGIS location search and maps, granular permissions, encrypted backups and signed updates. First built on Django, later migrated to Flask. US State Department Internet Freedom Award, 2019.
Technologies: Python, Django, Flask, SQLAlchemy, PostgreSQL, PostGIS, Celery, Redis, Pydantic, Vue, Leaflet, WebAuthn, AWS S3, OpenAI Whisper, Google Cloud Vision, OpenAI-compatible vision LLMs, Tesseract OCR, Docker, Nginx, Caddy.

### Level09
Period: 2005 to now
Organisation: Level09 FZE, Dubai (software studio and product company)
Role: Founder and lead engineer
URL: https://level09.com
Built and operate Flowdesk, a deal-flow platform for property developers with LLM features on the Anthropic API, live inventory, PDF offers and Salesforce sync. Sales CRM and client portal for Seven Tides. Platforms and data migrations for JLL, UNDP and Minor Group. Runs and secures its production servers with Ansible playbooks: provisioning, hardening, firewall rules and fail2ban.
Technologies: Python, Flask, SQLAlchemy, PostgreSQL, Celery, Redis, WebSockets, WebAuthn, Anthropic API, Salesforce API, Docker, Nginx, Ansible.

### Seven Tides
Period: 2005 to now
Organisation: Seven Tides, Dubai (luxury real estate and hospitality developer, Dubai and London)
Role: Technology partner, through Level09
URL: https://seventides.com
Corporate and property websites for a luxury developer and hotel owner, including DUKES Hotels and Anantara Residences, plus the sales CRM and client portal.

### Al Arabiya
Period: 2010 to 2016
Organisation: MBC Group (Al Arabiya), Dubai (broadcast and news media)
Role: Senior web specialist and team lead, MBC Group
URL: https://www.alarabiya.net
Led web engineering through the Arab Spring traffic peaks. Built all of its APIs in Django, including the mobile app APIs and the core content API for web, mobile and broadcast, and a video ingest pipeline from Avid production systems to publishing.
Technologies: Python, Django, Flask, PHP, iOS, infrastructure and operations.

### SwissMed AI
Period: 2025 to 2026
Organisation: SwissMed AI (mdai.ch), Switzerland (independent medical AI platform for physicians)
Role: Technical Lead, freelance
URL: https://mdai.ch
Technical lead for SwissMed AI, a physician-led resource on AI in Swiss healthcare: a bilingual directory of 92 clinical AI tools mapped to medical specialties, the Swiss Healthcare AI Map and an AI Research Radar. Site updates run through an agent-orchestrated workflow I built and own.
Technologies: Eleventy (11ty), Nunjucks, JavaScript, Node.js, PostHog, Linux.

## Projects

### Enferno
Period: 2014 to Present
URL: https://enferno.io
Flask framework with production authentication. Maintained since 2014, 569 GitHub stars.
Technologies: Python, Flask, Vue 3, WebAuthn

### ReadyKit
Period: 2025 to Present
URL: https://readykit.dev
SaaS foundation on Enferno with workspaces, billing and roles. Sponsored by Chargebee.
Technologies: Python, Flask, Stripe

### stk
Period: 2026 to Present
URL: https://stk.dev
Async Python framework designed so coding agents can operate and extend the apps built on it.
Technologies: Python, Quart

### OfferBrief
Period: 2025
URL: https://offerbrief.com
Dubai property intelligence over 1.6M+ transactions: LLM analysis, semantic search on embeddings in pgvector, and an MCP server for agents.
Technologies: OpenAI embeddings, PostgreSQL, pgvector, MCP

### Qarina
Period: 2026
URL: https://qarina.org
Evidence-grounded research workspace. A central orchestrator coordinates planning, web research and retrieval, streams the answer with its sources, and traces tokens and cost per step.
Technologies: Python, Quart, async SQLAlchemy, Vue 3, OpenRouter, vector retrieval.

### Vilcos

URL: https://vilcos.com
AI agent built on Agno that creates and maintains websites through chat. Award at the Global Agent Hackathon 2025.
Technologies: Agno

### watchd
Period: 2026 to Present
URL: https://watchd.dev
Control plane for AI agent work that funds agent loops by verified outcomes. One Go binary.
Technologies: Go

### FigureKit
Period: 2026 to Present
URL: https://figurekit.dev
Agent-operated visual generation exposed as an MCP server.
Technologies: Cloudflare Workers, TypeScript, MCP, OAuth, Stripe.

### Frameloop
Period: 2026 to now
URL: https://frameloop.io
iPhone app for AI video stories that turns one still image into a directed motion clip: pick a frame, describe camera and subject motion in plain language, render remotely on fal.ai video models (Seedance, Kling), then reuse the result. Image editing and frame extraction built in. Private TestFlight beta.
Technologies: Swift, SwiftUI, SwiftData, fal.ai.

### Zant
Period: 2026 to now
URL: https://zant.io
Owned application starter for Cloudflare Workers, where people and agents use one typed action contract with the same workspace and permission checks. Auth, users, workspaces, roles, tokens, audit reads and a CLI. Pre-release.
Technologies: TypeScript, Cloudflare Workers, Hono, Drizzle, D1, better-auth.

### ZigLag
Period: 2026 to now
URL: https://ziglag.com
Self-hosted, open-source invoicing built on stk: line items, tax and discounts, PDF generation, public share links clients open without an account, payment recording and monthly reports.
Technologies: Python, Quart, stk.

### OpenStadt
Period: 2026
URL: https://openstadt.org
Open-source platform that shows whether public facilities are distributed fairly across a German city's neighbourhoods: OpenStreetMap data, an equity score per district, an interactive map and an analytics dashboard. MIT licensed.
Technologies: Python, Flask, PostGIS, OpenStreetMap.

### quart-security
Period: 2026 to now
URL: https://github.com/level09/quart-security
Native async authentication for Quart, a replacement path for Flask-Security: sessions, roles, TOTP with recovery codes, and WebAuthn passkeys.
Technologies: Python, Quart, SQLAlchemy, WebAuthn.

### NosyAgent
Period: 2025 to Present
URL: https://nosyagent.com
Personal AI assistant with engineered long-term memory: entity extraction, routing between Claude model tiers, Voyage AI embeddings.
Technologies: Claude API, Voyage AI

### GermanRat
Period: 2026
URL: https://germanrat.com
Chrome extension for learning German from any web page: select text to translate it and hear it spoken, save words and export them to Anki. Bring your own API key; saved words stay in the browser.
Technologies: JavaScript, Chrome extensions, OpenAI API, OpenRouter.

### Flask extensions
Period: 2024 to 2025
URL: https://github.com/level09/flask-openai
flask-openai (on PyPI) and flask-supabase: small Flask extensions that connect the OpenAI API and Supabase to Flask apps.
Technologies: Python, Flask, OpenAI API, Supabase.

## Awards
2019: Internet Freedom Award, Bayanat, US State Department
2025: Award, Vilcos, Global Agent Hackathon
2016: Technical Reviewer, Mastering Flask, Packt Publishing
2012: Top Achiever Award, MBC Group

## Links
Website: https://nidalalhariri.com
GitHub: https://github.com/level09
Xing: https://www.xing.com/profile/Nidal_Alhariri
portrait.png
Nidal Alhariri, halftone portrait

Berlin

Available now

Full-time or part-time. Remote.

mcp.server

Read this profile as data.

The same facts, served read-only over MCP from cv.md. No LLM runs on the server, so answers can only contain what is in the profile.

Endpoint
https://mcp.nidalalhariri.com/mcp
Tools
get_profile()search_experience(query)get_project(name)
Open the Agent view

mcp.console

    Twenty years in production. A few serious engagements at a time.

    Backend
    Python services and APIs with FastAPI, Django and Flask, Kafka, PostgreSQL, Redis and Elasticsearch, on AWS and Kubernetes.
    AI in production
    LLM features inside existing products, retrieval-augmented search, agents and MCP servers, with evals and monitoring.
    Fixed-scope work
    A one-week AI feature audit, a two to three week prototype-to-production engagement, or monthly senior capacity.

    Selected work

    6 engagements

    Raisin SE

    Senior backend engineer, freelance

    2021 to 2026

    Python microservices with FastAPI, Kafka and PostgreSQL on AWS and Kubernetes, Terraform, and front end in React and Next.js, for a European savings and investment marketplace. Bonus campaigns, payouts, and authentication work across product migrations.

    Bayanat

    Lead engineer, Syria Justice and Accountability Centre

    2014 to now

    Open-source platform used to document human rights violations: Whisper transcription and vision-LLM OCR on its media, full-text search over millions of records, PostGIS location search and maps, granular permissions, encrypted backups and signed updates. First built on Django, later migrated to Flask. US State Department Internet Freedom AwardAwarded in 2019 to the Bayanat project, the open-source platform SJAC uses to document human rights violations., 2019.

    SwissMed AI

    Technical Lead, freelance

    2025 to 2026

    Technical lead for SwissMed AI, a physician-led resource on AI in Swiss healthcare: a bilingual directory of 92 clinical AI tools mapped to medical specialties, the Swiss Healthcare AI Map and an AI Research Radar. Site updates run through an agent-orchestrated workflow I built and own.

    Level09

    Founder and lead engineer

    2005 to now

    Built and operate Flowdesk, a deal-flow platform for property developers with LLM features on the Anthropic API, live inventory, PDF offers and Salesforce sync. Sales CRM and client portal for Seven Tides. Platforms and data migrations for JLL, UNDP and Minor Group. Runs and secures its production servers with Ansible playbooks: provisioning, hardening, firewall rules and fail2ban.

    2 more engagements

    Seven Tides

    Technology partner, through Level09

    2005 to now

    Corporate and property websites for a luxury developer and hotel owner, including DUKES Hotels and Anantara Residences, plus the sales CRM and client portal.

    Al Arabiya

    Senior web specialist and team lead, MBC Group

    2010 to 2016

    Led web engineering through the Arab Spring traffic peaks. Built all of its APIs in Django, including the mobile app APIs and the core content API for web, mobile and broadcast, and a video ingest pipeline from Avid production systems to publishing.

    Languages

    • Arabic, native
    • English, fluent
    • Russian, good
    • German, around B1

    Recognition

    • 2025 Award, Vilcos, Global Agent Hackathon
    • 2019 Internet Freedom Award, Bayanat, US State Department
    • 2016 Technical Reviewer, Mastering Flask, Packt Publishing
    • 2012 Top Achiever Award, MBC Group

    Open source and products

    16 items
    • Enferno

      Flask framework with production authentication. Maintained since 2014, 569 GitHub starsOpen source and MIT licensed. The base of ReadyKit, Bayanat and Flowdesk..

    • ReadyKit

      SaaS foundation on Enferno with workspaces, billing and roles. Sponsored by Chargebee.

    • stk

      Async Python framework designed so coding agents can operate and extend the apps built on it.

    • OfferBrief

      Dubai property intelligence over 1.6M+ transactions: LLM analysis, semantic search on embeddings in pgvector, and an MCP server for agents.

    • Qarina

      Evidence-grounded research workspace. A central orchestrator coordinates planning, web research and retrieval, streams the answer with its sources, and traces tokens and cost per step.

    • Vilcos

      AI agent built on Agno that creates and maintains websites through chat. Award at the Global Agent Hackathon 2025.

    • watchd

      Control plane for AI agent work that funds agent loops by verified outcomes. One Go binary.

    9 more projects
    • FigureKit

      Agent-operated visual generation exposed as an MCP server.

    • Frameloop

      iPhone app for AI video stories that turns one still image into a directed motion clip: pick a frame, describe camera and subject motion in plain language, render remotely on fal.ai video models (Seedance, Kling), then reuse the result. Image editing and frame extraction built in. Private TestFlight beta.

    • Zant

      Owned application starter for Cloudflare Workers, where people and agents use one typed action contract with the same workspace and permission checks. Auth, users, workspaces, roles, tokens, audit reads and a CLI. Pre-release.

    • ZigLag

      Self-hosted, open-source invoicing built on stk: line items, tax and discounts, PDF generation, public share links clients open without an account, payment recording and monthly reports.

    • OpenStadt

      Open-source platform that shows whether public facilities are distributed fairly across a German city's neighbourhoods: OpenStreetMap data, an equity score per district, an interactive map and an analytics dashboard. MIT licensed.

    • quart-security

      Native async authentication for Quart, a replacement path for Flask-Security: sessions, roles, TOTP with recovery codes, and WebAuthn passkeys.

    • NosyAgent

      Personal AI assistant with engineered long-term memory: entity extraction, routing between Claude model tiers, Voyage AI embeddings.

    • GermanRat

      Chrome extension for learning German from any web page: select text to translate it and hear it spoken, save words and export them to Anki. Bring your own API key; saved words stay in the browser.

    • Flask extensions

      flask-openai (on PyPI) and flask-supabase: small Flask extensions that connect the OpenAI API and Supabase to Flask apps.

    Available now. Full-time or part-time, remote.

    One endpoint, read-only.

    Streamable HTTP, no session. Three tools and one resource, cv://nidal-alhariri, all answered from cv.md. No LLM runs on the server.

    get_profile()
    Summary, availability, location, remote setup, languages and links.
    search_experience(query)
    Up to eight keyword matches in skills, experience and projects.
    get_project(name)
    One experience or project by exact name, or the list of valid names.

    Install

    https://mcp.nidalalhariri.com/mcp
    Claude Code
    claude mcp add --transport http nidal-cv https://mcp.nidalalhariri.com/mcp
    ChatGPT: Add custom MCP server
    https://mcp.nidalalhariri.com/mcp
    Codex
    codex mcp add nidal-cv --url https://mcp.nidalalhariri.com/mcp
    Cursor, mcp.json
    {
      "mcpServers": {
        "nidal-cv": {
          "url": "https://mcp.nidalalhariri.com/mcp"
        }
      }
    }