Amir Teymoori

Senior Software Engineer  ·  AI Agents, Evals & Production Systems

About

Senior engineer with 15+ years building production software used by millions of users in banking, fintech, and telecom. Since 2024, I have focused on AI agents and evals: multi-agent systems, MCP, LangChain, model routing, RAG, fine-tuning, LLM-as-judge evaluation, guardrails, and PII filtering.

I focus on making agents more reliable and cost-effective through better tool design, prompt discipline, RAG, eval feedback loops, and smaller task-specific models.

Currently running Royan AB out of Stockholm and contributing to AI engineering at SBAB Bank's internal AI forum.

15+
Years Shipping
600K+
Live AI Users
1M+
Past App Users
2000+
Training Hours

Core Expertise

AI Agents & Orchestration

LangChain DSPy MCP Servers Multi-Agent Systems Agent Orchestration Agent Routing Tool & Function Calling LSP Model Routing per Task Prompt Engineering AI Agent Security

LLMs, Fine-Tuning & Training

Frontier LLMs Open-Weight LLMs Fine-Tuning Model Training Knowledge Distillation Unsloth Google Colab Self-Hosted GPU Inference

Evals, RAG & Safety

LLM-as-Judge Golden Datasets Trajectory & Outcome Scoring ML Experimentation NLP RAG Hybrid Search Embedding Models Vector Databases Reranking AI Red-Teaming Prompt-Injection Defense Output Guardrails PII Filtering

Infrastructure & Serverless

Cloudflare Workers Durable Objects Kubernetes Google Cloud Docker REST gRPC CI/CD PostgreSQL

Languages & Frameworks

Python TypeScript Kotlin Java PHP Flutter Laravel Go (fundamentals) Rust (fundamentals)

Professional Experience

Nov 2025 – Present

Royan AB

Founder & Solo Engineer

Stockholm, Sweden

Building production AI agents, evals, and ML systems for clients. Active deployments cover voice agents, pricing agents, and order-interpretation pipelines.

  • Built LLM-as-judge eval pipelines with golden datasets, regression back-testing, and pass/fail gates to detect agent-quality regressions before release.
  • Embodied 3D AI assistant: real-time, low-latency LLM agent loop with STT, MCP tools, TTS, and gesture sync.
  • Autonomous pricing agent for ParkUp Inc. (600K+ users): multi-agent system with RAG over a vector database and embedding models.
  • Order-interpretation agent that turns natural language into JSON via LangChain, with schema validation and LLM-as-judge gating.
  • Fine-tuned and distilled open-weight models with Unsloth on Google Colab to cut inference cost and latency; output guardrails and prompt-injection checks on the deployed voice agent.
LangChain MCP RAG LLM-as-Judge Unsloth Multi-Agent
Sep 2023 – Present

SBAB Bank

Senior Android Developer & AI Engineering Contributor

Stockholm, Sweden

Senior engineer on SBAB's mobile banking app and contributor to the bank's AI direction through its internal AI forum.

  • Part of SBAB's AI forum (5 members) shaping the bank's AI direction and building internal AI tools: MCP servers, agent skills, and model platforms including AWS Amazon Bedrock.
  • Evaluate and integrate LLM tools and agent capabilities into the bank's engineering workflows.
  • Senior Android developer on SBAB's mobile banking app.
Kotlin MCP Servers AWS Bedrock AI Forum Banking
Apr 2022 – Sep 2023

P.F.C.

Senior Android Engineer

Stockholm, Sweden

P.F.C. consumer fintech app with Swish topup, BankID login, transfers, crypto, loans, and savings. Production fintech under Swedish banking uptime requirements.

Kotlin Jetpack Compose Firebase MVVM CI/CD Fintech
Jun 2021 – Mar 2022

Cuploop

Backend & App Developer, Head of Tech Team

Tallinn, Estonia

Built the Android client (Kotlin) and PHP backend on Google Cloud from scratch to manage Cuploop's machines. Led the technical team.

Kotlin PHP Google Cloud Tech Lead
Jan 2019 – Jun 2021

MobilityOne

Lead Android & Backend Developer

Kuala Lumpur, Malaysia

Lead engineer on OneCENT e-wallet and OneCALL mobile-operator app for the Malaysian telecom market. Encrypted payments, scaled to millions of users.

Kotlin MVVM PHP Laravel Google Cloud E-Wallet
2013 – 2022

Earlier Roles: Lead Android & Backend, Trainer

Jibit · Yaico · Mapfa · Avval Sazan · Sematec

Tehran, Iran

Mobile and backend lead across e-wallet (Jibit), MyApps (1M+ users), VoIP messaging (Callyar), and video streaming (TVHamrah). Official Android ATC trainer at Sematec, with 2,000+ training hours.

Kotlin Java PHP MySQL Android ATC Trainer

Education

BSc, Software Engineering

Hashtgerd Azad University

Iran

2011 – 2013

Associate, Computer Science

Karaj Azad University

Iran

2007 – 2010

Languages

English Fluent
Persian Native
Swedish Basic, learning
German Basic, learning

Featured Work

LLM-as-Judge Eval Pipelines

Golden datasets, regression back-testing, and pass/fail gates that catch agent-quality regressions before release. Royan AB.

Evals LLM-as-Judge Royan
Read deep-dive ›

Embodied 3D AI Assistant

Real-time, low-latency LLM agent loop with STT, MCP tools, TTS, and gesture sync. Output guardrails and prompt-injection checks on the deployed voice agent. Royan AB.

Voice Agent MCP TTS / STT

Autonomous Pricing Agent

Multi-agent system with RAG over a vector database and embedding models, serving 600K+ users at ParkUp Inc. Royan AB.

Multi-Agent RAG 600K+ Users
ParkUp on Play Store ›

SBAB Mobile Banking App

Swedish mobile banking app. Senior Android engineer and AI engineering contributor in SBAB's AI forum (5 members).

Kotlin Banking Production
SBAB on Play Store ›

OneCENT E-Wallet

QR payments, bill payments, and mobile reload for the Malaysian market. Lead Android engineer at MobilityOne.

Kotlin MVVM E-Wallet
OneCENT on Play Store ›