Ihar P.
AI Infrastructure Engineer
AI infrastructure engineer. I build and run the infrastructure that AI works on: private models on your own servers with Ollama, MCP servers that connect Claude to your systems, AI agents in production with permissions, cost limits and monitoring, all on Linux and AWS that I set up, secure and keep as code with Ansible and Terraform. 15+ years in software engineering, the last years mostly Linux, backend and AI infrastructure. = = = AI INFRASTRUCTURE = = = Private AI on your own servers: Ollama, vLLM or llama.cpp behind an OpenAI-compatible API, secured, monitored and sized for the task RAG on your own data: embeddings in pgvector or Qdrant, documents that never leave your network AI agents in production on Claude, OpenAI or Gemini: tool allowlists, turn and cost caps, human approval for anything risky LLM services on FastAPI: streaming, auth, rate limits, queues, retries and fallback between models Observability for AI: Prometheus, Grafana and Loki on latency, errors, tokens and cost per job Costs under control: event triggers, prompt caching, the cheapest model per job = = = CLAUDE CODE & MCP = = = Claude Code set up for a team: CLAUDE.md, permission rules, hooks, subagents, skills and plugins, kept in git Headless Claude Code in CI: jobs that triage issues, review pull requests and draft release notes MCP servers for Claude: your API and data as tools, resources and prompts, Streamable HTTP, OAuth, read-only first Custom agents on the Claude Agent SDK, the Claude API and Amazon Bedrock = = = LINUX, ANSIBLE & TERRAFORM = = = Server setup, hardening and migration: Ubuntu, Debian, Fedora, Rocky Linux, RHEL, Alpine systemd services and timers, LVM and storage, boot problems and emergency mode recovery SELinux, AppArmor, firewalld, ufw, fail2ban, SSH hardening, TLS, automatic security updates Nginx and Caddy reverse proxies with certificates that renew themselves Monitoring with Prometheus, Grafana, Loki and Alertmanager; backups that are restore-tested Ansible: roles and playbooks that re-run cleanly, secrets in Vault, no one-off SSH sessions Terraform: AWS environments as code with modules and remote state = = = PYTHON, AWS & DEPLOYS = = = Python services and automation: FastAPI, boto3, CLI tools and terminal apps (Typer, Textual) AWS: EC2, VPC, IAM, S3, RDS, Lambda, SQS, ECS, EKS, CloudWatch, Route 53, Secrets Manager Docker, Compose and Kubernetes (EKS, Helm, ArgoCD): multi-service stacks, deploys with rollback CI/CD with GitHub Actions, GitLab CI and Jenkins: test, build and deploy on every push = = = RECENT PROJECT: NORBOTEN [dot] ORG = = = My open-source platform where people learn Linux by fixing real broken machines, with AI agents built into it. I built all of it: - An MCP server that gives Claude the platform itself: labs, journals and your progress as tools, resources and prompts, with OAuth sign-in - Claude Code agents run the chores in GitHub Actions, each with a turn cap, a tool allowlist and a measured cost. A Claude Code plugin turns an idea into a new lab, questions or a journal - An AI tutor that runs on the learner's own Claude Code or a local model on Ollama and never sees the solution - A Python terminal app that boots a real VM (QEMU/KVM + Lima), breaks it on purpose, then grades the fix by checking the machine, rebooting it and checking again - 50+ hands-on labs: RHCSA, Linux, Bash, Python, Ansible, Docker, Terraform, AI agents, Ollama, Claude Code and MCP. CI proves every lab solvable on a clean machine before it can merge - FastAPI on PostgreSQL and Redis, live terminal streaming, Prometheus and Grafana - The whole server as code: Ansible, Docker Compose, a one-command Python installer for a fresh VPS, and GitHub Actions with deploy and rollback = = = WHERE THIS COMES FROM = = = For years I shipped complete products on my own: mobile apps (Flutter, iOS and Android), web frontends (React, Vue), and the backends behind them (Python, Node.js, Java). The other half was the database, the cloud, the release pipeline and the Linux servers underneath, which I provisioned, hardened and kept running. That is why the AI I put in place does not stop at a demo. I know what happens to it in production, because I was the one on call when something broke at 2am and there was nobody to escalate to. = = = HOW I WORK = = = I leave you infrastructure you can read and maintain: documented, in git, reproducible on a fresh server. One rule I keep: AI in my systems never gets open access. An agent works from a list of allowed tools with a turn and cost limit, and anything destructive waits for a human to approve it. AI that can take down production is not infrastructure, it is a liability. If you have AI that works on a laptop but not in production, or models and data that must stay on your own servers, send me the details. I will tell you honestly what is worth building and what is not.
Earnings and projects
Last 6 months ÷ 6
Last 6 months: $11k
Billed in all: $150,887$151k
$1.4k in the last 6 months
Across 10 contracts
Across 48 contracts
Earnings, last 30 days
Skill rankings: Top 6% in Bash Programming
Ranked by MRR among everyone on Upwork with the skill.
- #32Bash Programming572 freelancers · 🇵🇱 #1Top 6%🇵🇱#1 of 7
- #38Server Administration419 freelancers · 🇵🇱 #1Top 9%🇵🇱#1 of 2
- #41LLM API Integration359 freelancers · 🇵🇱 #1Top 11%🇵🇱#1 of 3
- #69Ansible931 freelancers · 🇵🇱 #6Top 7%🇵🇱#6 of 20
- #70Model Context Protocol (MCP)413 freelancers · 🇵🇱 #2Top 17%🇵🇱#2 of 3
- #127AI Agents877 freelancers · 🇵🇱 #3Top 14%🇵🇱#3 of 12
- #175Linux System Administration2,578 freelancers · 🇵🇱 #4Top 7%🇵🇱#4 of 34
- #182Terraform2,052 freelancers · 🇵🇱 #11Top 9%🇵🇱#11 of 46