AI & Software Engineer · Baku, Azerbaijan

Riad Mukhtarov

has 4+ years in software and builds the internal AI infrastructure at the International Bank of Azerbaijan. Before that, he wrote Python and Linux services for governmental institutions and led a team of teaching assistants at the State University of New York at Buffalo. Off the clock, he contributes to the world of open source software and maintains Rust tools of his own.

→whoami
AI Engineer @ ABB · International Bank of Azerbaijan
Head of IT @ European Youth Parliament AZ
→stats
14 merged PRs·4+ yrs shipping·1000+ students taught·Colophon
→

WritingAssume the model cooperates with the attackerThe model doesn't get the last wordThe index is the identityThe tests were the spec

Work history

Experience

Apr 2026 – Present
Artificial Intelligence Engineer
ABB - International Bank of Azerbaijan
Baku, Azerbaijan
  • Leading development of the bank's internal agentic platform, built for 4,000 employees
  • Isolated each agent action in a per-chat sandbox (NVIDIA OpenShell, Kata on OpenShift): no egress, Landlock, audit
  • Built a 28-case LLM-as-judge eval (memory, language, safety, skills, tools) with regression detection, Langfuse datasets and an emailed report; 28/28 passing as of Oct 2026, and it caught web search blocked on the bank network
  • Made it observable: Langfuse tracing per turn and GitLab CI with lint, ~1,700 backend tests and audit
  • Kept data in the bank: guardrails on web search, server-side spend and token limits, ETL into Postgres
  • Integrated LibreChat as the bank's chat front end with LDAP sign-in and service-desk forms in chat
  • Serves users in Azerbaijani, Russian and English
  • Write and send AI-Newsletter, a weekly issue since April 2026 to C-levels, departments and tribes: 17 issues so far
Feb 2026 – Present
Head of IT
European Youth Parliament Azerbaijan
Baku, Azerbaijan
  • Leading a team of 2 on the website and member tools; owning domains, hosting, email, access
  • Coordinating the website renewal, internal platform improvements, and new technology rollouts
  • Got the new website approved by the board before launch
Jan 2025 – Jan 2026
Software Engineer
Ministry of Defense of the Republic of Azerbaijan
Baku, Azerbaijan
  • Mandatory military service: built and maintained internal Linux and Python services (under NDA)
Oct 2024 – Nov 2024
Information and Communication Technology (ICT) Assistant
COP29 United Nations Climate Change Conference
Baku, Azerbaijan
  • Supported IT infrastructure for 500+ delegates under strict SLAs
  • Resolved real-time infrastructure and hybrid session incidents under strict availability requirements
  • Assisted with access control, device hardening, and secure system handling
  • Collaborated with vendors and technical teams to ensure uninterrupted operations
Aug 2022 – May 2024
Head Teaching Assistant: Data Structures
State University of New York at Buffalo
Buffalo, NY
  • Taught data structures and algorithms in Scala and Java to ~1000 students; managed 20 TAs
  • Coordinated course logistics with faculty
  • Oversaw grading with emphasis on academic integrity
  • Provided weekly reviews and debugging support to ~200 students
Sep 2021 – May 2023
Software Engineer (part-time)
EZ Pro Billing and Collection Inc.
New York, NY
  • Built Python and MongoDB backends: authentication and a task-based point allocation system
  • Optimized WebSockets for instant client sync; built ADA-compliant frontend components
Selected work

Projects

Self-service app for a mobile operator that shows each subscriber, in manats, where they overpay and fixes it in one tap through Laya, a voice assistant in Azerbaijani and English. The Expo mobile client lives in a separate repo.

DjangoCeleryGeminiMilvusReact Native
Details
  • Built Laya, an LLM voice assistant that throws away any answer carrying a number the backend did not supply
  • Added usage insights: eight detectors read per-day and per-app usage, catch repeat pack buys, overage, unused data and short balances before renewal, and price the fix from the live catalogue as a card with a one-tap action
  • Built the Django REST backend: billing, tariffs, packs, SIM and credit products behind 86 documented endpoints, with one row-locked, idempotent code path for every balance change
  • Built Laya's plan, narrate and done endpoints: the LLM picks the intent and words the sentence, the backend supplies every number
  • Added a Gemini support assistant with a Milvus knowledge base and per-subscriber memory, streaming replies over SSE and answering voice notes with speech
  • Built the Expo / React Native client with on-device speech-to-text and TTS, running every voice task through the same code path as a manual tap

Tap a card on a USB NFC pad, pay inside the game window, get the item: tap-to-pay for desktop games built on Xsolla. Built at the Xsolla Baku GameTech Hackathon with a 5-person team.

RustTauriESP32XsollaWebSocket
Details
  • Built the Rust (axum) server: per-card spending limits, order creation against the Xsolla Pay Station sandbox, API key kept server-side behind a PaymentProvider trait with Xsolla and Mock implementations
  • Integrated Xsolla checkout as an iframe inside a Tauri 2 desktop game client, polling order status to completion
  • Wired ESP32 + RC522 NFC firmware through a Rust serial-to-WebSocket bridge into a shared tappad-protocol crate with Rust and JS client SDKs
  • 114 Rust tests, clippy pedantic, no unwrap/expect/panic outside tests, CI running fmt, clippy, and cargo audit

Fantasy Premier League assistant for the terminal: pulls live data from the public FPL API, projects points for every player, and picks the best legal squad, captain and transfers over a 5-gameweek horizon. Python stdlib only, no dependencies, no credentials.

PythonFantasy Premier LeagueMarkdown
Details
  • Projects points per player per gameweek as shrunk points-per-90 × expected minutes × fixture multiplier × availability, summed over the horizon: a transparent heuristic, not ML
  • Builds the squad greedily, then improves it by local search with paired swaps, since the budget couples every position; enforces squad quotas, three per club and every legal formation
  • Writes a weekly Markdown report (XI, captain, bench order, ranked transfers) with --lock, --exclude and --budget overrides and a disk cache that keeps weekly runs off the API

CLI that takes a plain-English dev-tool idea, searches open-source registries for existing implementations, ranks matches with local embeddings, and writes a scoped verdict via LLM.

RustTokioOllamaratatuifastembed

– stars on GitHub · – downloads on crates.io

Details
  • Rust CLI that checks if a dev tool exists: 19 concurrent adapters, 500+ GitHub stars, official ratatui showcase
  • Independently ported to Go by a third-party developer and presented at a Leipzig Gophers meetup
  • Designed integrity-scoped verdict system that never asserts absence, only reports what was found in sources checked
  • Added interactive ratatui TUI with detail view, browser open, and structured JSON output for CI pipelines

Multi-retriever RAG with quorum filtering requiring cross-retriever consensus before surfacing evidence. Recalls 19 of 20 answers vs 14 for the baseline.

RustOllamaTokio
Details
  • Built a multi-retriever ensemble with rank fusion and quorum filtering: 19/20 recall vs 14/20 baseline
  • Published to crates.io as an installable Rust crate (cargo add quorumrag)
  • Implemented overlapping chunk processing with 50% stride to prevent boundary-split answers
  • Added parallel embedding with caching to optimize cold-start performance
  • Clustered evidence via cosine-similarity centroids so the quorum vote operates on semantic groups rather than raw chunks

RAG chatbot answering questions exclusively from ABB Bank's public content with multilingual support and strict context-only guardrails.

PythonFastAPIOpenAIFAISSDocker
Details
  • Built a two-service RAG pipeline (gateway + QA) that scrapes, chunks, and indexes bank pages via FAISS
  • Implemented multilingual support across Azerbaijani, English, and Russian with prompt injection blocking
  • Applied distance-gated out-of-scope detection to prevent hallucination, returning 'Bunu bilmirəm' for off-topic queries
  • Added SQLite observability and Chart.js query analytics dashboard for monitoring chatbot usage

End-to-end transaction monitoring pipeline with event-driven scoring, async processing via RabbitMQ, and idempotent data handling.

JavaSpring BootRabbitMQPostgreSQLDocker
Details
  • Designed event-driven architecture for scoring, notifications, and reporting
  • Built async processing with RabbitMQ and safe reprocessing
  • Implemented per-service databases with Liquibase migrations and environment-based configuration
  • Deployed to AWS EC2 with Docker Compose, Linux networking, and public endpoints

A cluster that keeps serving through leader crashes and network partitions: up to ⌊n/2⌋ nodes can fail without a committed entry being lost.

GoUDPProtobuf
Details
  • Handled node failures and network partitions while tolerating up to ⌊n/2⌋ server failures
  • Implemented leader election with randomized timeouts and term-based logical clocks to prevent split votes
  • Built log replication via AppendEntries RPC with consistency checks and quorum-based commitment
  • Enforced safety guarantees ensuring elected leaders always contain all previously committed entries
  • Designed custom RPC framework over UDP with Protobuf serialization, retransmission, and message deduplication
L leader F F F term 3
Leader replicates log entries via AppendEntries RPC

Any key is found in O(log n) hops and stays findable as nodes join and leave, with every value held on the k closest peers.

GoTCPProtobuf
Details
  • Implemented XOR-based distance metric with k-bucket routing tables for peer organization
  • Built iterative node lookup with α concurrent queries refining toward target keys in O(log n) hops
  • Designed join and bootstrap protocol for routing table population from seed nodes
  • Added key-value republishing and redundant storage across k closest nodes for fault tolerance
S source N d = 8 N d = 3 T d = 0
Iterative FIND_NODE lookup converges via XOR distance

Every entry expires on its TTL and dangling cross-layer references are collected, so reads stop returning stale data at no cost to the hot path.

RustTokioRedis
Details
  • Replaced a monolithic cache with two layers: key-subkey to id mapping and id to value storage
  • Applied TTL lifecycle control to expire stale entries predictably
  • Implemented garbage collection to remove expired entries and dangling cross-layer references
  • Preserved low-latency access while improving consistency in distributed workloads
KEY → ID user:1 → id:7 sess:3 → id:12 tok:5 → id:9 ttl ID → VALUE id:7 → val id:12 → val id:9 → expired gc sweep
Two-layer TTL-aware cache with garbage collection
Upstream contributions

Open Source

MLflow

Sep – Oct 2026
PythonAI Gateway
  • Fixed tool-call streaming and parsing in AI Gateway's Anthropic, Gemini, LiteLLM and Bedrock adapters

youki

Sep 2026
RustOCI runtimecgroups
  • Fixed a D-Bus socket opened without SOCK_CLOEXEC leaking its fd into containers under systemd cgroups

ratatui-website

Sep 2026
RustTUI
  • Added patent, my Rust terminal UI, to the ratatui showcase

awesome-ratatui

Jun 2026
RustTUI
  • Listed patent, my prior-art search TUI, in the awesome-ratatui index
Toolbox

Technical Skills

Programming Languages

RustPythonTypeScriptC

Backend & Runtimes

AxumActix-webTokioratatuiFastAPIDjangoCeleryFlaskNode.js

AI, ML & Agentic Systems

LangGraphLangChainDeep AgentsLangfuseOpenAI APIAnthropic APIGeminiGoogle CloudFAISSMilvusRAGMLflowOllamaLangSmithNVIDIA OpenShell

Protocols, APIs & Messaging

gRPCRESTful APIsGraphQLWebSocketsWebRTCServer-Sent EventsLDAPApache KafkaRabbitMQ

Databases & Persistence

PostgreSQLMySQLSQLiteMongoDBRedispgvector

Cloud, Infrastructure & DevOps

AWSSupabaseDockerKubernetesOpenShiftKata ContainersGitHub ActionsGitLab CI/CDLinuxLinux namespaces & cgroupsseccomp-BPFOpenTelemetry

Testing & Quality Assurance

PytestrstestPlaywrightJestSeleniumPostman
Teaching experience

Teaching

Data Structures

tools
JavaScalaGit
topics
Algorithms & ComplexityData Structures

Web Applications

tools
PythonFlaskFastAPIREST APIs
topics
HTTP(S)Back-End Web Development

Software Quality in Practice

tools
GitLinuxTrello
topics
GDBQA EngineeringCode CoverageMake

Discrete Structures

topics
LogicProofsDiscrete Mathematics

Introduction to Computer Science

tools
Python

Computer Organization

topics
MIPS AssemblySystemVerilogComputer Architecture
Academic background

Education

State University of New York at Buffalo, BS in Computer Science

Aug 2020 – May 2024 · Buffalo, New York
  • Awards: Undergraduate Teaching Assistant Award
What colleagues say

Recommendations

“

Put him into a Project Manager/Team Lead role, and I guarantee to you that he will shine.

OK
Oliver Kennedy
Associate Professor, State University of New York at Buffalo
Data Structures — Head Teaching Assistant
“

He not only demonstrated a great technical understanding of the content but was able to explain these concepts in a simple manner to students who were struggling to apply the material.

JH
Jesse Hartloff
Associate Professor of Teaching, State University of New York at Buffalo
Web Applications — Teaching Assistant
“

He was very responsive to requests, professional in all his interactions with students and course staff, and technically competent in all the tools and processes covered in the course.

CA
Carl Alphonce
Professor of Teaching, State University of New York at Buffalo
Software Quality in Practice — Teaching Assistant
“

I was impressed by his strong work ethic, positive attitude, professionalism, and dedication. He proved himself to be an organized, efficient, and hardworking TA.

NA
Nasrin Akhter
Assistant Professor of Teaching, State University of New York at Buffalo
Discrete Structures — Teaching Assistant
“

Riad is one of the best individuals I have ever had the opportunity to work with. His ability to communicate complex concepts to a range of skill levels continually impressed me.

SM
Sean Mackay
Assistant Professor of Computer Science, University of Oklahoma
Introduction to Computer Science — Teaching Assistant
“

I attest to Riad's work ethics, skill, performance, and communication. I do not hesitate to recommend Riad to any employer.

FG
Farshad Ghanei
Associate Teaching Professor, Illinois Institute of Technology
Computer Organization — Teaching Assistant
From LinkedIn

Posts

🎉 patent just hit 1,000 downloads on crates.io! Thank you to everyone who tried it.

Read on LinkedIn

fwiw, opus 4.6 is still the most assertive model ever made. ensure you enjoy it before deprecation

#claude#opus#llm#coding
Read on LinkedIn

Spent some quality time today at GAMESUMMIT conference. What truly stood was most definitely the networking. For what it takes, I want to thank my teammates Gudrat Abidzada and Shahnaz Orujlu for the lessons learnt and experience gained!

Read on LinkedIn

Celebrating little victories every day.

#rust#opensource#ratatui#terminal
Read on LinkedIn

The downfall of computer science totally began the second this industry started normalizing bootcamps.

Read on LinkedIn