Kai Lark — AI / LLM Engineer

I integrate AI into production.

RAG, agents, cost-aware model routing, self-hosted inference — shipped and running.

▚ How I think

My strongest skill isn't writing prompts — it's knowing where AI actually helps and where it doesn't. RAG vs fine-tune vs rules vs a human in the loop: I call that call, then own the build.

▚ Stack

Python, Claude / GPT / Gemini APIs, RAG (pgvector, Qdrant), agents & tool-use, self-hosted LLMs (llama.cpp, Ollama), cost-aware model routing, FastAPI / PostgreSQL, Docker / GitHub Actions / Caddy.

Open to offersAI / LLM Engineer role, remote or EU relocation. See live work in Projects, and how I run everything in Infrastructure.

6years in IT
20+live projects
6+self-hosted services
Holo · 001/001 SSS Kai Lark — full-height engraved portrait
heylark.devno gods no masters
Holo · 001/001 SSS Kai Lark — engraved portrait with a teal sigil
heylark.devno gods no masters
Drop table

Live in production

S
● shipped · NDA

Support & AI Analytics Platform

Unified communications platform for an e-commerce client: 4 data streams + 3 bots.

Designed the AI system and wrote the detailed development spec: four data streams (calls via MTS Exolve, marketplaces Ozon/WB/YM, messengers Telegram/MAX, the 4PDA forum) in one interface with semantic search across the whole base (Qdrant across 8 collections, Gemini via OpenRouter, monitoring via Langfuse). The AI answers requests in three bots (operator, support, MAX) drawing on the whole knowledge base and escalating to an operator by button or on low confidence, aggregates marketplace/messenger conversations into AI summaries with semantic search over them, transcribes support calls into short summaries, generates replies to marketplace reviews and questions, and builds charts on sales and support. Directed the embedding-model migration — retrieval quality rose to 0.82 (from 0.59). Delivered with full system documentation.

Qdrant (8 collections)Gemini via OpenRouterLangfuseMTS Exolvesemantic search
A
● shipped · NDA

Sales & Negotiation Coach

AI trainer for sales calls & negotiations.

Telegram bot + Mini App: the user records a full sales or negotiation conversation as a voice message; the system transcribes it and returns structured coaching via LLM — what went well, what to improve, recommended next steps. Designed the system and wrote the development spec; set up the prompts and model routing via OpenRouter (Gemini Flash 3).

Telegram Mini AppWhisper / transcriptionOpenRouter (Gemini Flash 3)LLM prompting
A
● live

Virtual-Pet Mini App Game

Telegram Mini App game built around several AI integrations.

Owned the full decomposition, the ICE-prioritized backlog, sprint planning, and specs across ~3 developers + a designer. When a photo of a real pet is uploaded, an image model (Nano Banana 2 via OpenRouter) generates a virtual version of it; extra skins are generated on demand as the paid monetization loop. A meme mini-game runs a short pipeline: one LLM image generation (OpenRouter, combined prompt) split into two variants, then local background removal via RMBG-1.4 ONNX in parallel, returning two finished images (PNG + WebP). An audio handler records the pet's voice; a model strips extraneous noise and applies the cleaned sound in-game. Multi-pet system, payments, mini-games.

Nano Banana 2 (OpenRouter)RMBG-1.4 ONNXvoice cleanupTelegram Mini Apppayments
t.me/dogidog_game_bot →
A
● live · NDA

Assistant Operations Platform

Web + Telegram workspace for assistants and entrepreneurs.

CRM, HR automation, finance, group chats, task control, and contract generation, with an AI task delegator (assistant↔entrepreneur matching is one feature among many). Designed the rebuild of the Telegram bot into a single AI agent (detailed development spec): it knows the team structure (roles and reporting lines), automatically calculates ratings in the relevant chats, logs employee mistakes by context, converts free-text assistant requests into tasks, and returns context-aware replies about the work process. Tuned the AI assistant's prompts to the client's required specifications. Later initiated moving task tracking off Google Sheets into the web app: records, reporting, and dashboards in one place. Ran the roadmap and sprint planning across two developers (web + Telegram bot).

Telegram Bot APIAI agent designprompt engineeringSheets → web migrationsprint planning
B
● shipped · NDA

Legal-Tech Case Platform

Legal-tech platform for a client: case-law analysis by district, document generation from templates.

RAG search over case law (Qdrant), document generation from templates, cross-platform auth.

PythonQdrantRAGLangfuse
B
● shipped · NDA

Beauty-Salon Booking Consultant

AI consultant for a beauty-salon chain.

Finds open slots and books consultations — bookings up 43%.

Pythonlocal LLMsLangfuse
B
● shipped · NDA

Real-Estate Auction Aggregator

Telegram bot aggregating real-estate auction listings from open sources.

Aggregates listings from open sources, with new-listing alerts.

PythonReactGitLab CI/CD
B
● shipped

Browser Subtitle Translator

Browser extension for learning English: live subtitles over any video, with instant translation.

Overlays subtitles directly on top of whatever video is playing in the browser and translates them on the fly, powered by ChatGPT.

Browser extensionChatGPT APIsubtitle overlay

// plus several other client AI/LLM projects — these are the ones most interesting by stack

SSS
● running

Nexus & Arcana

Telegram AI agent + React miniapp system: ☀️ Nexus (tasks & productivity) and 🌒 Arcana (esoteric practice & witchcraft).

Nexus (personal assistant: tasks, finances, inventory, notes) and Arcana (CRM for my tarot practice) share a Mini App. Natural-language control: a two-tier classifier (regex pre-filter → Haiku few-shot) routes free-form input across 11+ domains. Cost-aware routing keeps Haiku as default and reserves Sonnet for high-value reasoning (budget analysis, tarot interpretation, summaries) — locked in by static regression tests, so the cheap path can't silently slide to an expensive model. Every model output is wrapped in validate → retry → fallback with JSON-only parsing. Persistent memory across sessions; multimodal via Vision (receipts → expenses) and Whisper (voice). Arcana adds RAG over a multi-collection base — an esoteric grimoire as the knowledge base, spread structures, and per-client session context — so interpretations stay grounded and consistent with how I read. A companion Mini App (React + Vite + FastAPI) gives each bot a tabbed GUI over the same backend.

PythonaiogramClaude APIWhisper / VisionpgvectorSQLiteAPSchedulerReact + Vite + FastAPI
github.com/dontkaiad/nexus-arcana →
S
● running

job-hunter-agent

Telegram bot + React dashboard for automated job search.

LLM scoring with cost-aware routing against a structured candidate profile. A pluggable source abstraction ingests Telegram channels and public job APIs behind one interface; an add-by-URL pipeline runs any vacancy link through the full scoring flow with an SSRF guard. Self-hosted: PostgreSQL, Caddy/HTTPS, Telegram-login auth, container healthchecks and ops alerting.

PythonaiogramAPSchedulerPostgreSQLReact + ViteCaddyDockerGitHub CI/CD
github.com/dontkaiad/job-hunter-agent →
S
● running

klgpff — multi-model chat router

Cost-optimized creative-writing bot.

A Haiku classifier routes each request across Opus / Sonnet / Haiku by task type, with manual override. Prompt caching (cache_control = ephemeral) on the system + facts block cuts repeat-turn input cost to ~10%. Per-chat cost tracking across all models with input / output / cache-read / cache-write breakdown. History compression via summarization; persistent fact memory with semantic retrieval over pgvector; per-chat system prompts persisted on disk. Full technical write-up in ARCHITECTURE.md: diagrams, message lifecycle, trade-offs.

PythonClaude Opus / Sonnet / Haikuprompt cachingpgvectorcost tracking
github.com/dontkaiad/klgpff-bot →
A
● pet project

Local LLM Sims

A local-LLM sandbox on 7 networked Raspberry Pi with local Llama (nano models).

A Sims-style multi-agent simulation where each device runs an autonomous agent. Built to prove out the self-hosted / local-inference skill hands-on, not just in theory.

Raspberry Pi clusterllama.cppmulti-agent simulation
A
● live

heylark_cats

Telegram bot + Mini App for remote cat-sitting coordination.

Built while away from home for two months to coordinate a cat-sitter without manual check-ins. A bot tracks recurring and one-off care tasks (feeding, litter, water, plus optional bonus chores) and awards a points-based reward currency; the owner gets a quiet activity log instead of a ping per task. A companion Mini App (React) mirrors the same data with a resident-facing dashboard and a ported care guide. Access is grants-based and app-scoped (sitter vs. owner-only sections), authenticated two ways: Telegram initData inside the Mini App, and a centralized Telegram-Login SSO shared across my other products (one cookie domain, one grants table, each product gates independently). A RAG support layer (pgvector + Haiku, "ask about the flat/cats") is rolling out behind a feature flag.

PythonaiogramFastAPIPostgreSQLReact + ViteDockerCaddyGitHub CI/CD
github.com/dontkaiad/heylark_cats →

// more self-hosted bots and Mini Apps live on heylark.dev — this is a selection, not the full list

Self-hosted

How it's run

One VPS. No DevOps team, no shared ops — I set it up, secured it, and keep it running.

kai@vps — tree
caddy auto-HTTPS · subdomain per service
├─ docker compose
│  ├─ nexus · arcana
│  ├─ job-hunter-agent
│  ├─ klgpff-bot
│  └─ …more bots & mini apps
├─ postgresql shared · role/grant per product
└─ ops healthchecks · heartbeat cron · tg alerts
github actions — deploy.log
$ git push origin main
build push deploy
orphan containers cleaned
health-check poll: verified healthy — not just "container started"
unhealthy container → deploy fails (exit 1), old version stays up
kai@vps — cat server.cfg
# hardening
non-root user with sudo
ssh: key auth only — password & root login disabled
ufw firewall · fail2ban
 
# runtime
docker & docker compose
caddy: reverse proxy, auto-HTTPS (Let's Encrypt)
subdomain routing per service
no kubernetes — one server doesn't need it
 
# cross-product architecture
shared auth package across services (SSO)
shared postgresql · role/grant model per product
session cookie scoped to the domain, not per-subdomain
 
# operations
container health checks · heartbeat & cron monitoring
telegram ops alerting on failure
 
# access control
every bot is access-gated by design — nothing open by default
Off the clock

Beyond work

Compulsive automator of my own life — Nexus is a project that runs mine, not just a portfolio piece.

Into esoterica, urban exploration, and the music industry.

10k+ hours in League of Legends, ADC main, peak Master tier — the same hyperfocus and mechanical grind I bring to building.

Owned by three cats.

ADHD brain — it's why I automate everything obsessively instead of doing it by hand twice.

Kai's three cats together on the desk
the three overlords
Kai exploring an abandoned building
somewhere i shouldn't be
League of Legends Master rank promotion screen
peak master grind
Open to offers

Hire the person who ships this.

I'm looking for the role where integrating AI takes real weight off people — fewer manual hours, cheaper pipelines, systems that quietly do the boring work. If that's the problem you're hiring for, we should talk.

Remote, or relocation — Europe (PL / CZ / RS pref.).

kai@heylark — zsh
kai@heylark ~ % contact --open-to-offers
status    ● open
focus     AI that removes toil
location  remote · EU relocation
email     icymirum@gmail.com
github    github.com/dontkaiad
telegram  t.me/hey_lark
kai@heylark ~ %
heylark.dev — self-hosted, single VPS, run by one person.

"The logs and the cards say the same thing once you can read them."