Skip to content
Rami Borni

Ahmed Rami Borni

Founding engineer and engineering lead for AI products. I took Sendler.ai's AI platform from first commit to $240K ARR in two months.

8+ years of full-stack work, the last three with LLMs, agents, RAG and MCP in production. Technical point of contact for enterprise teams at Sony Sweden and Revolut.

Open to roles in Qatar, remote or relocation · Doha, UTC+3

Scroll to walk. Tap or click the ground to wander.

The home page as an ink world: the name printed on a stone plaza, a pink tree, a small inked figure
The same CV, as a walk.

Selected work

Three systems I built or led, newest first. Each case study goes into the architecture and the decisions behind it.

Sendler.ai

Founding Engineer & Engineering Lead · Aug 2024 – Aug 2026

ARR within two months of launch
$240K
ARR within two months of launch
automated actions per day
1M+
automated actions per day
automations per day through an in-house queue
200K+
automations per day through an in-house queue
engineers led and mentored
5
engineers led and mentored

AI outreach and sales automation: a platform built from the first commit to $240K ARR in two months, running 1M+ automated actions a day.

  • Queues first, Temporal when the sequences grew

    Automation started on BullMQ and Redis. As volume passed a million actions a day and campaigns became multi-step sequences, I led the move to Temporal so every run is durable, retryable and observable instead of state scattered across job handlers.

  • One provider layer, not one SDK per model

    LLM-personalised messages, reply classification and agentic workflows all go through one provider layer across OpenAI, Anthropic Claude and Azure OpenAI, so a model can be swapped without touching product code.

  • Build the queue in-house

    For the sales-workflow automation I designed a Python queue system that scaled processing to more than 200,000 automations a day, behind FastAPI and Express services with Prisma on MySQL.

  • Move clouds without stopping customers

    The platform ran on AWS (EC2, RDS, Aurora, S3, Lambda, SQS). I planned and led its migration to Azure Functions and Service Bus while customers kept running.

  • Open the product to AI assistants

    An MCP server exposes platform tools to AI assistants, so users can run campaigns, search leads and manage conversations in natural language, alongside a public REST API, webhooks and n8n integrations.

  • Meter usage per account

    Credit-based usage metering and per-account rate limits keep LLM costs predictable and protect customers' accounts.

  • Next.js apptoNestJS services
  • MCP servertoNestJS services
  • Public APItoNestJS services
  • NestJS servicestoMongoDB
  • NestJS servicestoTemporal
  • TemporaltoWorkers
  • WorkerstoLLM layer
  • NestJS servicesto.NET AI service
  • .NET AI servicetoLLM layer
The architecture, simplified.
Read the case study

Infokanal

Senior Automation Engineer, contract · Apr 2023 – Jul 2024

months running and evolving the pipeline
15
months running and evolving the pipeline

An AI pipeline that monitors Norwegian news, with editors approving every output before it is used.

  • Replace manual monitoring with a pipeline

    FastAPI services ingest X, police and government press channels and national news outlets in batch and streaming modes, then clean, validate and store everything in MongoDB.

  • Retrieval and memory for Norwegian news

    An LLM layer with RAG and memory management summarises, translates and categorises each item with the context of what came before.

  • A human approves every output

    Editors review, edit, approve or reject each AI output on a role-based review platform, with new items and review status pushed to them live over Socket.io.

  • Evolve with the newsroom

    Over 15 months I kept the crawlers working as sources changed and introduced new AI strategies based on editors' feedback.

  • SourcestoIngestion
  • IngestiontoLLM + RAG
  • IngestiontoMongoDB
  • MongoDBtoLLM + RAGcontext
  • LLM + RAGtoHuman review
  • EditorstoHuman reviewapprove · edit · reject
  • Human reviewtoPublish
The architecture, simplified.
Read the case study

Logikey

Software Engineer, contract · Apr 2022 – Feb 2023

A logistics app for truck drivers, rebuilt in Next.js with full Arabic RTL and a new NestJS back end.

  • Rebuild the front end in Next.js and TypeScript

    I migrated the JavaScript React app to Next.js with TypeScript and full Arabic RTL support, with Redux Toolkit for state and Jest for unit tests.

  • Replace Firebase with a dedicated back end

    A NestJS service exposes REST and GraphQL APIs over a new data model on Prisma and PostgreSQL, plus DynamoDB and S3.

  • Integrate government and identity services

    Vehicle lookup and number identification from government services, plus KYC identity verification.

  • Next.js apptoNestJS API
  • NestJS APItoPostgreSQL
  • NestJS APItoDynamoDB + S3
  • NestJS APItoGov + KYC APIs
  • FirebasetoNestJS APImigrated
The architecture, simplified.
Read the case study

Experience

8+ years, from intern to engineering lead

  1. 2024–26Sendler.aiFounding Engineer & Engineering Lead · SwedenSenior engineer, then built its AI platform from the first commit and led a team of five.
  2. 2023–24InfokanalSenior Automation Engineer · NorwayAI news pipeline with RAG and human review.
  3. 2022–23LogikeySoftware Engineer · Umm al-FahmNext.js and RTL rebuild; Firebase to NestJS.
  4. 2021–22AB TechJunior Software Engineer · BiskraWeb apps, APIs and RTL dashboards for agency clients.
  5. 2020–21NB InfoJunior Software Engineer · BiskraStudent management and attendance software in C#/.NET.
  6. 2018–20Vesceranet EURLIntern, then Junior Engineer · AlgeriaStarted with C# and ASP.NET Core; promoted to junior.

Skills

What I build with, day to day

AI & LLMs
Agents & tool calling · OpenAI API · Anthropic Claude API · Model Context Protocol · RAG & embeddings · LangChain · Azure OpenAI · Human-in-the-loop review · Vector search: Pinecone, Azure AI Search · Gemini API · Voiceflow, Botpress
Frontend
TypeScript · React · Next.js (App Router, SSR/SSG) · Tailwind CSS · shadcn/ui · TanStack Query · Zustand · Arabic RTL interfaces · Redux Toolkit · Accessibility (WCAG 2.1 AA) · Flutter & Dart
Backend
Node.js · NestJS · REST APIs & OpenAPI · Python & FastAPI · WebSockets & Socket.io · Express · C# & ASP.NET Core · GraphQL · PHP
Architecture
Multi-tenant SaaS · Queues & background jobs · Temporal workflows · Event-driven systems · System design & architecture docs · Microservices
Data
MongoDB & Mongoose · PostgreSQL · Redis · Prisma · MySQL · SQL Server · Azure Cosmos DB · DynamoDB
Cloud & DevOps
Azure: AKS, Container Apps, Functions, Service Bus · Docker · Vercel · AWS: EC2, S3, RDS, Lambda, SQS · GitHub Actions & Azure DevOps · Sentry & PostHog · Kubernetes · Terraform
Testing & Security
Vitest & Jest · Playwright · Role-based access control · Cypress · OAuth 2.0, OIDC & JWT · OWASP Top 10 practices
Portrait of Ahmed Rami Borni

AI in the product, and in the workflow

LLM features, RAG pipelines, agents with tool calling and MCP servers, shipped with the guardrails, human review and cost controls production needs. Claude Code, Cursor and Copilot draft a lot of my code; every generated line is reviewed and tested before it ships.

I work remotely with product teams in Sweden, Norway, Palestine and Algeria, from Doha. I'm most useful where product and platform meet: founding-engineer work, turning queues into durable workflows, and turning customer conversations into a spec and then a release.

Based in
Doha, Qatar
Experience
8+ years, 3+ senior and lead
Languages
Arabic, native · English, full professional
  • Mentor to junior engineers and students ·
  • Speaker at tech meetups ·
  • Independent AI & technology advisor ·
  • Hackathons and student tech clubs ·
  • Azure Developer Associate (AZ-204)

Let's talk

Doha, Qatar · Doha

I'm open to new roles in Qatar, remote or relocation. Tell me what you're building and where I'd fit.

borniahmedrami@gmail.com

LinkedInGitHub