Emil Emilov
Projects Skills Exp About

I build systems that don't fall over —

and fix the ones that already have.

Not mockups — live systems running today.

Emil Emilov | Systems & Infrastructure

· ·
EE P01
Hotel Terra Europe Brontes
Hotel Terra Europe Brontes

Complete rebuild of a 4-star hotel's marketing and booking site from a static template into a real product: custom navy/gold design system, full BG/EN/TR translation layer, an interactive date-range picker, and a database-driven booking pipeline with email-verified guest submissions. Built a full internal admin panel from scratch — role-based access (Superadmin/Admin/Reception) with a content-approval workflow so front-desk staff can add photos and news posts without publishing unsupervised. Includes real SMTP email notifications, Cloudflare Turnstile bot protection, and per-IP/per-email rate limiting.

Discover ↗
← Back
Hotel Terra Europe Brontes

Complete rebuild of a 4-star hotel's marketing and booking site from a static template into a real product: custom navy/gold design system, full BG/EN/TR translation layer, an interactive date-range picker, and a database-driven booking pipeline with email-verified guest submissions. Built a full internal admin panel from scratch — role-based access (Superadmin/Admin/Reception) with a content-approval workflow so front-desk staff can add photos and news posts without publishing unsupervised. Includes real SMTP email notifications, Cloudflare Turnstile bot protection, and per-IP/per-email rate limiting.

Full i18n system — BG/EN/TR, DB-persisted for logged-in users, cookie-persisted for guests
Role-based admin panel — Dashboard, Customers, Inquiries, Rooms & Spaces, Gallery, News & Events, Admin management
Content-approval workflow — Reception-submitted photos/posts held for admin review before going live
Per-room photo galleries synced from real server folders, with a lightbox viewer
Email verification (double opt-in) for both loyalty accounts and guest bookings
Cloudflare Turnstile + custom rate-limiting against spam/abuse
PHP MySQL i18n Admin Panel
EE P02
Hotel Network Infrastructure
ISP 1 PRIMARY ISP 2 MIKROTIK VLAN 1 VLAN 2 VLAN 3 GUEST 9-FLOOR COVERAGE 32 ACCESS POINTS
Hotel Network Infrastructure

Full enterprise network design and deployment for a 9-floor hotel. Built from scratch — planning, hardware selection, installation, and ongoing management.

Discover ↗
← Back
Hotel Network Infrastructure

Full enterprise network design and deployment for a 9-floor hotel. Built from scratch — planning, hardware selection, installation, and ongoing management.

3 ISPs → MikroTik core router (failover + per-subnet load distribution)
32 Access Points across 9 floors (seamless roaming)
Unmanaged Gigabit TP-Link switch distributing most floors off the RB5009 core — floor 4 and the office connect directly to the router instead
5 VLANs — Staff, Guest, and three expandable Systems/IoT segments
Guest and Systems VLANs expandable per floor/zone, DHCP pools scaling to roughly 500 IPs
Captive portal with QR code scanning → instant internet access
MikroTik VLANs OpenWRT Hotspot Captive Portal
EE P03
ARK Platform — ks.vg
ARK Platform — ks.vg
ARK Platform — ks.vg

A complete hospitality management platform. Multiple hotels, one login. Each property gets its own modules — Events, Counter POS, Workers, Reception.

Discover ↗
← Back
ARK Platform — ks.vg

A complete hospitality management platform. Multiple hotels, one login. Each property gets its own modules — Events, Counter POS, Workers, Reception.

Events — Full event lifecycle, menu planning, kitchen/waiter/client print sheets, allergen tracking, deposit management.
Counter — POS system for hotel bar, coffee shop, restaurant. Tables, orders, fiscal printer integration, end-of-shift reports.
Workers — QR check-in/out, schedule builder, overtime calculation, payroll export.
Reception — Room bookings, guest check-in, Booking.com API integration. (Planned)
Housekeeping — Room status board, task assignments, consumables tracking. (Planned)
PHP PostgreSQL Multi-tenant SSO Claude
EE P04
Proxmox Homelab
Proxmox Homelab
Proxmox Homelab

Full self-hosted infrastructure running on a single Proxmox VE node. AMD Ryzen 5 5500GT, 16GB RAM, ~20TB across 4 ZFS pools. Also the proving ground for self-hosted AI infrastructure: a personal AI agent (OpenClaw), local LLM inference via Ollama on a dedicated GPU workstation with a RAG pipeline over a personal knowledge base, and an agentic dispatcher routing bash/coding tasks to local models. Recently audited the full local-model roster with real tool-calling tests (not just load-success checks) across three independent integration paths, pruned it down to a single verified-reliable model, and live-confirmed the entire chain end-to-end after reconfiguring every dependent tool.

Discover ↗
← Back
Proxmox Homelab

Full self-hosted infrastructure running on a single Proxmox VE node. AMD Ryzen 5 5500GT, 16GB RAM, ~20TB across 4 ZFS pools. Also the proving ground for self-hosted AI infrastructure: a personal AI agent (OpenClaw), local LLM inference via Ollama on a dedicated GPU workstation with a RAG pipeline over a personal knowledge base, and an agentic dispatcher routing bash/coding tasks to local models. Recently audited the full local-model roster with real tool-calling tests (not just load-success checks) across three independent integration paths, pruned it down to a single verified-reliable model, and live-confirmed the entire chain end-to-end after reconfiguring every dependent tool.

Nextcloud — Family file sync, calendar, contacts
Immich — Photo library with ML face recognition
Jellyfin — Media server (1.4TB TV, 217GB movies, 406GB music)
Vaultwarden — Bitwarden-compatible password manager
Gitea — Self-hosted Git
Pi-hole — Network-wide DNS ad blocker
Proxmox ZFS LXC Self-hosted Docker Ollama LLM
EE P05
Cloudflare Zero-Trust Stack
Cloudflare Zero-Trust Stack
Cloudflare Zero-Trust Stack

Every public-facing service runs through Cloudflare Tunnel — no ports open on the firewall. DNS managed via Cloudflare, wildcard certificates, DDoS protection built in. Administrative/management access on the router side gets the same zero-trust treatment: no exposed management ports, and every edge router is actively hardened and audited, not just configured once.

Discover ↗
← Back
Cloudflare Zero-Trust Stack

Every public-facing service runs through Cloudflare Tunnel — no ports open on the firewall. DNS managed via Cloudflare, wildcard certificates, DDoS protection built in. Administrative/management access on the router side gets the same zero-trust treatment: no exposed management ports, and every edge router is actively hardened and audited, not just configured once.

cloudflared daemon in LXC → outbound tunnel to Cloudflare edge
NPM (nginx Proxy Manager) → routes by hostname
Zero inbound firewall rules needed
Wildcard SSL — *.ks.vg, *.edemilov.ru, *.pi.gd, *.mr.photos
Cloudflare WAF + DDoS mitigation
Multiple domains: ks.vg · edemilov.ru · pi.gd · mr.photos
Cloudflare Zero-trust nginx SSL Tunnel
EE P06
WalletPi — Personal Finance Tracker
WalletPi — Personal Finance Tracker
WalletPi — Personal Finance Tracker

A full-featured multi-user personal finance tracker — accounts, categorized transactions, recurring bills, and a dashboard that actually separates real cash from available credit. Manual entry by design, so it needs no bank API connections or PCI-level security surface.

Discover ↗
← Back
WalletPi — Personal Finance Tracker

A full-featured multi-user personal finance tracker — accounts, categorized transactions, recurring bills, and a dashboard that actually separates real cash from available credit. Manual entry by design, so it needs no bank API connections or PCI-level security surface.

Multi-account tracking — bank, cash, savings, credit card, and crypto accounts side by side
Credit card intelligence — limit, due date, minimum payment, and a live utilization bar, not just a balance
Recurring bills — subscriptions, leases, salary, on any schedule from daily to yearly, auto-generating transactions
Dashboard that separates "my money" from available credit, plus a 30-day upcoming view and card-payments-due panel
Multi-user with an admin-approval flow — first account becomes admin, everyone after needs sign-off before they can log in
Full EN/BG/TR interface
EE P07
Personal Notes
Personal Notes
Personal Notes

A private, invite-only space for markdown notes, code snippets, and technical references — rewritten from a live Node.js/Express app to PHP 8.4 with zero data loss. Each note is public or private, taggable, and searchable, with an admin panel for issuing invite codes instead of open registration.

Discover ↗
← Back
Personal Notes

A private, invite-only space for markdown notes, code snippets, and technical references — rewritten from a live Node.js/Express app to PHP 8.4 with zero data loss. Each note is public or private, taggable, and searchable, with an admin panel for issuing invite codes instead of open registration.

Rewrote a live Node.js/Express app to PHP 8.4 in place, migrating the PostgreSQL schema (users, notes, tags, attachments, invites) with zero data loss
Per-note public/private visibility, so individual references can be shared without opening the whole notebook
Full tag system with filtering — 40+ tags across a real, actively-used note collection
Invite-only registration — admin generates and revokes invite codes instead of open sign-up
Markdown rendering with code-block support, built for technical reference notes and snippets
php - sql
EE P08
pi.gd
pi.gd

Personal multi-app domain — a shared landing page plus a couple of small self-directed tools running side by side on their own dedicated container.

Discover ↗
← Back
pi.gd

Personal multi-app domain — a shared landing page plus a couple of small self-directed tools running side by side on their own dedicated container.

Landing page
Kids jail-app (shared codebase with edemilov.ru)
Wallet — finance tracker (separate project entry)
Self-hosted PHP Multi-app
EE P09
hyprevo — Hyprland+DMS Installer
hyprevo — Hyprland+DMS Installer

A public, Arch-only (pacman, no AUR) one-command installer that sets up a full Hyprland + Quickshell/DMS desktop environment from scratch. Modeled on Proxmox's community helper-scripts: an interactive whiptail picker (terminal, file manager, mail client, cloud sync as single-choice radiolists, plus an independent checklist for extras) instead of a fixed opinionated bundle, with picks wired into a separate extras.conf so the base hyprland.conf stays clean. Built test-first with bats unit tests and shellcheck before any live run, then hardened through a second person live-installing it in a fresh VM, which surfaced real bugs invisible from local testing alone.

Discover ↗
← Back
hyprevo — Hyprland+DMS Installer

A public, Arch-only (pacman, no AUR) one-command installer that sets up a full Hyprland + Quickshell/DMS desktop environment from scratch. Modeled on Proxmox's community helper-scripts: an interactive whiptail picker (terminal, file manager, mail client, cloud sync as single-choice radiolists, plus an independent checklist for extras) instead of a fixed opinionated bundle, with picks wired into a separate extras.conf so the base hyprland.conf stays clean. Built test-first with bats unit tests and shellcheck before any live run, then hardened through a second person live-installing it in a fresh VM, which surfaced real bugs invisible from local testing alone.

Terminal — Konsole / Terminator / Kitty / Alacritty
File manager
Mail client
Cloud sync
Extras — Telegram, screen capture, Bitwarden (independent toggles)
Bash Hyprland Wayland Quickshell/DMS bats shellcheck
EE P10
Self-Hosted Mail Server — pi.gd / ks.vg / edemilov.ru
Self-Hosted Mail Server — pi.gd / ks.vg / edemilov.ru

Built and hardened a full self-hosted mail platform (HestiaCP: Exim, Dovecot, ClamAV, SpamAssassin, DKIM/SPF/DMARC, Roundcube webmail) on a dedicated VPS, replacing a forward-only Cloudflare Email Routing setup with real send and receive for all 3 domains and 9 live mailboxes.

Discover ↗
← Back
Self-Hosted Mail Server — pi.gd / ks.vg / edemilov.ru

Built and hardened a full self-hosted mail platform (HestiaCP: Exim, Dovecot, ClamAV, SpamAssassin, DKIM/SPF/DMARC, Roundcube webmail) on a dedicated VPS, replacing a forward-only Cloudflare Email Routing setup with real send and receive for all 3 domains and 9 live mailboxes.

Correctly wired the full deliverability chain — PTR/HELO/hostname identity, DKIM, SPF, DMARC — matched across mail server and DNS
Verified end-to-end with real Gmail round-trip tests in both directions across all 3 domains, confirmed landing in the inbox (not spam) on a zero-reputation fresh IP
Ran a full security pass: own audit plus an independent DeepSeek second opinion fed the real config
Found and closed a live SSH password-auth bypass around existing passwordless-sudo hardening
Found and closed FTP cleartext logins for a sudo-capable system account, and unnecessary BIND public exposure
Rotated every panel/mailbox/system credential
HestiaCP Exim Dovecot DKIM/SPF/DMARC Roundcube Tailscale
EE P11
Media Automation Pipeline — Sonarr/Radarr/qBittorrent
Media Automation Pipeline — Sonarr/Radarr/qBittorrent

Diagnosed a subtle, silent access-control misconfiguration that had disabled every automated download across three services (Sonarr, Radarr, Lidarr) for two full days with no visible error — a well-intentioned but mistaken tag-based routing scheme had tagged both the indexers and the download clients, which independently gate on the content's own tags rather than on each other, so nothing was ever tagged and every indexer/client silently went unusable.

Discover ↗
← Back
Media Automation Pipeline — Sonarr/Radarr/qBittorrent

Diagnosed a subtle, silent access-control misconfiguration that had disabled every automated download across three services (Sonarr, Radarr, Lidarr) for two full days with no visible error — a well-intentioned but mistaken tag-based routing scheme had tagged both the indexers and the download clients, which independently gate on the content's own tags rather than on each other, so nothing was ever tagged and every indexer/client silently went unusable.

Traced from a vague symptom (playback issues on some downloaded files) through a quality-profile misconfiguration — most of the library was on an unrestricted profile instead of the intended capped one, letting oversized/incompatible releases through
Found the real root cause via direct application log inspection ("0 active indexers" on every search), not guesswork — confirmed empirically before touching any config
Fixed the tag-based routing mistake across all three apps (Sonarr, Radarr, Lidarr), restoring normal automated search and download immediately
Replaced the original broken automation idea with a safer systemd-timer-based cleanup job that only ever acts on state the download client has already independently confirmed is safe to reclaim, rather than guessing at source-based rules
Verified the fix end-to-end with real grabs completing successfully, not just config validation
Sonarr Radarr Lidarr qBittorrent systemd Debugging
EE S01
Networking
Networking
Networking

Runs network operations for a full hotel property day to day, then mirrors the same patterns at home to keep the muscle memory sharp.

Discover ↗
← Back
Networking

Runs network operations for a full hotel property day to day, then mirrors the same patterns at home to keep the muscle memory sharp.

32 access points across a live hotel site, MikroTik RB5009 as core router
Triple-ISP failover with automatic MikroTik-side switchover and per-subnet load distribution
5 VLANs — staff/management, guest, and expandable systems/IoT segments, DHCP scaling to roughly 500 IPs
DNS/DHCP via PiHole, home lab as a testbed before touching production
RouterOS RAW-table DDoS/ICMP rate-limiting hardening across edge routers
TCP/IP VLANs MikroTik OpenWRT Dual-ISP DNS/DHCP Hotspot
EE S02
Security
Security
Security

Inbound-closed by default — every remote path goes through an explicit tunnel or mesh, never an open port.

Discover ↗
← Back
Security

Inbound-closed by default — every remote path goes through an explicit tunnel or mesh, never an open port.

Tailscale mesh for all admin access, zero exposed management ports
Cloudflare Tunnel fronts every public-facing service instead of port-forwarding
RouterOS RAW-table DDoS/perimeter hardening on every edge router — closed gaps like unrestricted WAN ICMP and unscoped management-service ACLs
Diagnosed and fixed a live Tailscale routing misconfiguration causing source-IP masking that had locked out legitimate SSH access
Self-hosted Vaultwarden for credential management, 2FA everywhere it is supported
Working a structured cert path: Security+ → CySA+ → GCFE/GCFA
Firewall Tailscale VPN Cloudflare Tunnel SSL/TLS pf Zero-trust
EE S03
Virtualisation
Virtualisation
Virtualisation

Runs a real multi-tenant Proxmox host at home the same way you would run one in a datacenter — isolated per service, backed up, monitored.

Discover ↗
← Back
Virtualisation

Runs a real multi-tenant Proxmox host at home the same way you would run one in a datacenter — isolated per service, backed up, monitored.

15+ LXC containers on Proxmox VE, one service per container
Migrated three live production sites off a shared web+DB pair onto dedicated per-domain containers with zero downtime
Docker/Compose layered on top where it fits better than native LXC
Automated daily/weekly backups (PBS) across tiered ZFS storage
Proxmox VE LXC KVM Docker Compose Portainer PBS
EE S04
Storage
Storage
Storage

ZFS end to end — tiered pools, scrubbed and verified, sized for headroom rather than filled to the edge.

Discover ↗
← Back
Storage

ZFS end to end — tiered pools, scrubbed and verified, sized for headroom rather than filled to the edge.

Four ZFS pools spanning ~18TB (HDD bulk + NVMe fast tier), all scrubbed clean
Samba/CIFS shares for the whole household plus dedicated dev mounts
Snapshot-based backup strategy, daily and weekly rotation
NVMe reserved for live app/container disks, HDD for media and cold backups
ZFS Btrfs NFS Samba/CIFS Snapshots Tiered pools
EE S05
Operating Systems
Operating Systems
Operating Systems

Genuinely does not have a favorite distro — picks whichever one fits the job and stays current on the rest by actually running them.

Discover ↗
← Back
Operating Systems

Genuinely does not have a favorite distro — picks whichever one fits the job and stays current on the rest by actually running them.

Arch/CachyOS as daily driver, Debian underneath Proxmox and most production containers
RHEL/Rocky and Ubuntu Server for anything expecting an enterprise-standard base
Windows Server & Active Directory from hands-on hotel IT administration
FreeBSD and legacy Novell/eDirectory exposure — comfortable outside the Linux-only comfort zone
Arch/CachyOS Debian RHEL/Rocky Ubuntu Server Windows Server & AD FreeBSD Novell legacy systems
EE S06
Development
Development
Development

Ships and maintains real production PHP/Python apps end to end — schema, backend, deploy, and the bug report that comes after.

Discover ↗
← Back
Development

Ships and maintains real production PHP/Python apps end to end — schema, backend, deploy, and the bug report that comes after.

Built the ARK hotel platform (events, staff, reception, kitchen — one codebase, several subdomains)
Rewrote a live Node.js/Express app to PHP 8.4 with zero data loss
PostgreSQL and MariaDB schema design, REST APIs, admin tooling
Comfortable across the full path from a bare VM to a deployed, monitored app
PHP 8.4 Python Bash PostgreSQL MariaDB REST APIs HTML/CSS
EE S07
AI Engineering
AI Engineering
AI Engineering

Treats LLMs as another service to architect around, not a black box to prompt and hope.

Discover ↗
← Back
AI Engineering

Treats LLMs as another service to architect around, not a black box to prompt and hope.

Designs RAG pipelines end to end — embedding model choice, indexing, retrieval, generation
Wires agentic tool-use via MCP so models can call real infrastructure, not just chat
Works daily with the Claude API and multi-agent workflows on production codebases
Thinks in context windows, tool schemas, and failure modes — not just prompts
LLM app design RAG pipelines Prompt & context engineering Agentic tool-use (MCP) Claude API integration Multi-model orchestration
EE S08
MLOps / LLMOps
MLOps / LLMOps
MLOps / LLMOps

Runs models the same way infra gets run — self-hosted where it makes sense, evaluated, and monitored.

Discover ↗
← Back
MLOps / LLMOps

Runs models the same way infra gets run — self-hosted where it makes sense, evaluated, and monitored.

Self-hosted inference via Ollama, running quantized models locally for cost and privacy
Deliberate routing between local and hosted models based on task sensitivity and latency
Embedding pipelines and vector search for local knowledge retrieval
Evaluates models on real tasks before trusting them in a workflow, not just benchmarks
Self-hosted inference (Ollama) Model selection & quantization Embeddings & vector search Local + hosted model routing Eval-driven iteration Latency/cost tradeoffs
EE E01
Assistant Manager & IT Infrastructure Lead
Assistant Manager & IT Infrastructure Lead

Terra Europa Hotel — BRONTES BC — Targovishte, Bulgaria
Oct 2021 – Present

Discover ↗
← Back
Assistant Manager & IT Infrastructure Lead

Terra Europa Hotel — BRONTES BC — Targovishte, Bulgaria
Oct 2021 – Present

Full hotel network design & deployment. Proxmox virtualisation. Full-stack hospitality platform (ARK/ks.vg). Mixed OS environment. Level 1–3 support across all departments.

EE E02
Freelance IT Support & Various Roles
Freelance IT Support & Various Roles

Self-employed — United Kingdom
2007 – 2021

Discover ↗
← Back
Freelance IT Support & Various Roles

Self-employed — United Kingdom
2007 – 2021

Freelance PC repair and computer troubleshooting for private clients, alongside non-IT work (driving, delivery, taxi) in the UK.

EE E03
Expert IT Services — ARGE / IT Specialist
Expert IT Services — ARGE / IT Specialist

Synovate Global Market Research — Istanbul, Turkey
2006 – 2007

Discover ↗
← Back
Expert IT Services — ARGE / IT Specialist

Synovate Global Market Research — Istanbul, Turkey
2006 – 2007

Large-scale server infrastructure for global market research. Server hardware, OS administration, data integrity, internal network support.

EE E04
Expert IT Services Specialist
Expert IT Services Specialist

TEN Underwear — Istanbul, Turkey
2005 – 2006

Discover ↗
← Back
Expert IT Services Specialist

TEN Underwear — Istanbul, Turkey
2005 – 2006

Expert-level IT support across Windows and Linux in manufacturing & retail environments.

EE E05
IT Services & Web Design Specialist
IT Services & Web Design Specialist

Locomotif IT Services — Istanbul, Turkey
2002 – 2004

Discover ↗
← Back
IT Services & Web Design Specialist

Locomotif IT Services — Istanbul, Turkey
2002 – 2004

IT services, web design, and project delivery. Dreamweaver, Fireworks, Flash, Photoshop.

EE E06
Technical Specialist & IT Support
Technical Specialist & IT Support

Kale / DMS / Anet Communication — Istanbul, Turkey
1997 – 2001

Discover ↗
← Back
Technical Specialist & IT Support

Kale / DMS / Anet Communication — Istanbul, Turkey
1997 – 2001

Hardware diagnosis, repair, assembly. ISP first-line support during the formative period of consumer internet in Turkey.

About
Emil Emilov
Infrastructure specialist · Network & Security Engineer

Hey, I'm an Infrastructure, Network, and Security engineer with 25+ years of experience building and securing the systems other things run on.

I turn fragile, ad-hoc setups into resilient, documented, production-grade infrastructure — combining hands-on technical depth (MikroTik networking, VLAN and failover design, Proxmox/LXC virtualization, zero-trust access via Tailscale and Cloudflare Tunnel, DDoS and perimeter hardening) with full ownership of the lifecycle: design, deployment, incident response, and day-to-day operational support.

I've owned infrastructure end-to-end for a live hospitality property — a 9-floor, 32-access-point network with triple-ISP failover — while building and maintaining the software it runs on and supporting every department directly. My background spans hospitality operations, freelance IT support in the UK, and a self-directed homelab run to production standards, extending more recently into self-hosted AI/LLM infrastructure: RAG pipelines, agentic tool-use, local inference.

Outside the day job, that homelab is where I actually test ideas — a safe place to break things, chase root causes, and confirm a fix before it ever touches something real. Away from it, it's music, cars, a genuine love of tech, and a soft spot for animals.

Open to full-time roles in Network Engineering, Security, or DevOps/Infrastructure — remote or EU relocation.

Capabilities
Networking
Security
Virtualisation
Storage
Operating Systems
Development
AI Engineering
MLOps / LLMOps