Eirlab.
We find out what AI actually does in real work, through projects, products and experiments.
What we've worked with
11 areas · 54 casesFrom our own hardware and local models to sites, agents and automation.
Products and live demos
app.charmonye.compto.eirlab.rutorgi.eirlab.rupaker.eirlab.rugraf.abm-ai.rubash.abm-ai.ru
app.charmonye.com ↗ product
A workspace for landscape and interior studios. A public product with accounts, payments and export. Selected for BuildUp Skolkovo.
pto.eirlab.ru ↗ live stand
An open stand for the as-built documentation agent. You can look at a finished pass over a real document set, no sign-in needed.
torgi.eirlab.ru ↗ live stand
An open stand for the tender analyst: it shows how the agent works through a real lot and what it looks for in the paperwork.
paker.eirlab.ru ↗ live stand
An open stand for a knowledge base over internal catalogues. You can see what document search looks like for the person using it.
graf.abm-ai.ru ↗ live stand
An image generator running on our own hardware, with a Bashkir interface. Open to anyone.
bash.abm-ai.ru ↗ live stand
Galiya, an AI tutor for Bashkir. Runs on a local language model, with no cloud service in the loop.
Local models and our own hardware
QwenGPT-OSSGemmaLlamaDeepSeekGLMPhivLLMllama.cppSGLangOllamaQdrantZvecComfyUIFLUX.2Ideogram 4ParakeetGigaAMRTX 3050 → 5090
Where to run the model
There are three options, and the choice usually comes down to where the data goes rather than how good the model is. A foreign cloud is cheap and available today, but it isn't for everyone. Your own hardware keeps everything in the building, but you have to buy it, rack it and look after it. The third option gets forgotten: Russian providers run the same open models on their own hardware and sell access, so the data stays in the country and you buy no equipment. We have working contacts with providers like that, so we can put together whichever of the three fits the job.
GPU servers
We build and set up the machines ourselves, with cards from the RTX 3050 up to the RTX 5090, modded 32 GB RTX 4090s among them. Hardware, OS, networking, remote access, firewall: all of it goes through our hands.
Text models
Those machines run Qwen 3.x, GPT-OSS 120B, Gemma 4, Llama 4, DeepSeek V4, GLM-5 and Phi-5. We watch what fits, how each one holds up in real work, and where quantisation starts costing you the answer.
Models that see
Qwen3-VL and DeepSeek-OCR 2 read drawings, scans, book pages and photos of documents for us.
Serving and search
We serve models through vLLM, llama.cpp, SGLang, Ollama and LM Studio, and put Open WebUI in front. For search we run Qdrant and Zvec, embedded as well, with no separate server.
Voice
Speech to text runs locally on Parakeet and GigaAM, and in the cloud on Groq and Deepgram. For dictation on the desktop we keep separate tools around, Handy among them. We wire voice input into our own setup too: dictate the task and the agent picks it up and gets going.
Image generation on our own boxes ↗
We set up ComfyUI, FLUX.2 and Ideogram 4 on our own hardware, so prompts and source material never leave the building.
Documents and data extraction
PDFscansDOCXXLSXDWG / DXFOCRvision modelsclassificationentitiesanalyticsdashboards
Construction documents ↗ live stand
PDF, DOCX, XLSX, DWG, DXF and images each go to their own handler. OCR reads scans, a vision model reads drawings, DWG gets converted to DXF where needed. One document set comes out as structured data, a list of what is missing, and finished certificates.
Accounting documents
We take bank statements apart: pull the transactions, match counterparties, sort everything into categories and build the analytics with a dashboard on top.
Books and large archives
Text PDFs, scans, DOCX and XLSX turn into clean markdown: headings, page numbers, and markers where the illustrations were. If a page fails, the pipeline resumes from that page instead of starting over.
Document images
We render PDFs to PNG, clean up photographs and strip watermarks off slides. Inpainting, gradient work and plain crop & zoom all come into play.
Document search
RAGembeddingsrerankingGraphRAGmultimodal RAGFile-FirstcitationsQdrantZvec
A company knowledge base ↗ live stand
Ask in your own words, get an answer with a link to the source document. Catalogues and documents never leave the perimeter.
RAG you can check
We build the whole chain: sharpen the question, retrieve, re-rank what came back, and hand the model only the pieces that earn their place. Then we run it against our own set of questions.
Books with citations
Page numbers live inside every chunk. You can open the answer and check it against the book.
When you do not need an index ↗
With few enough files the agent just reads them: no embeddings, no vector store. That's how the assistant inside the studio site works.
AI agents
as-built docstender analystsales assistantmessengersvoice messagesrolesescalationkanbanTelegramon-prem
As-built documentation engineer ↗ live stand
Reads through the project set, finds the gaps, asks the questions it needs answered, and puts together concealed-work inspection certificates.
Tender analyst ↗ live stand
Finds procurements under 44-FZ and 223-FZ, reads the documentation, checks requirements and risks, and writes up a verdict on each lot.
Sales assistant ↗ at a client
Handles incoming enquiries and answers on range, services and company policy. It pulls prices, products and live stock directly from internal company sources, so the answers never drift from what's in stock. The enquiries themselves become analytics: what people ask about most, and what they could not find. Shared code sits outside the client folder and is read-only from there, otherwise the agents pull it apart to fit one customer on day one.
Messenger manager
Answers on behalf of the company in Telegram, VK and WhatsApp. Voice messages get transcribed and answered the same way as text. Hard questions go to a human, and the conversation history survives the handover.
Agents on the client's own server
We work through the setups where the agent lives on company hardware and working data never goes to the cloud.
Agentic development and frameworks
MCPClaude CodeCodexDroidOpenCodecliproxyherdrOrcaHermesOpenClawZeroClawPinchTabAntigravityGrok
MCP
Our own setup is built on MCP: through it the agents reach the task tracker, the messengers and the scheduled jobs. One MCP server, raised by a wrapper of our own, registered in every environment we work in, from Claude Code to Antigravity. Dictate a task by voice in Telegram and it is in every agent's morning digest — whichever one picks it up.
What we use every day
Claude Code and Codex constantly, each with its own roles. Droid, OpenCode and cliproxy regularly. Several projects run at once, so the sessions live in herdr and Orca. Sometimes we put models head to head on the same task: it's the fastest way to tell whether the model is making things up or the instruction was written badly. We measured the cost side too: the rtk request router saved us nothing on our workloads, so it went.
Our own development loop
A product task turns into architecture, BDD scenarios, code and a check.
Hermes
Runs on our VPS, tuned to fit: task tracker over MCP, Telegram channels and scheduled runs.
OpenClaw and ZeroClaw
We run them separately. OpenClaw has its own containers, Telegram bots and the PinchTab browser. ZeroClaw we keep as a standalone environment to compare against.
agent-pipeline-kit ↗ open-source
Our own orchestrator, built in spring 2026 to understand how models behave inside a pipeline: task handout, a ladder of checks, a separate reviewer that hands down the verdict. The backend switched with a single command: the same task on Codex, GLM, Sonnet, Haiku, MiniMax and Kimi, and you see straight away which one holds up. The experiment did its job: we dropped the homemade wheel and moved to off-the-shelf tools.
ai-agent-roles ↗ open-source
Open roles for working with agents: librarian, architect, developer.
landkit ↗ open-source
A folder template where the agent runs a project from files, instructions and rules instead of scattered chats.
Images, video and visualisation
photos and plans44 stylesComfyUIFLUX.2Ideogram 4SeedanceKlingRunwayinfographics
Plots and interiors ↗ product
We take a photo from ground level, a 2D plan or a finished project and change the surroundings without moving the house, the windows or the utilities. The styles come out of real work.
Video
We work with Seedance, Kling, Runway and other models: clips, promos, bringing stills to life, material for social. Editing and sound come after.
When the source material cannot leave ↗ live stand
Some jobs must not leave the perimeter at all. Then generation runs on our own server and the source material stays inside.
Carousels and infographics
First we check the material and pull out the points, then we lay it out. HTML templates and Python turn that into carousels, reports, dashboards and PDFs.
Sites and web products
AstroNext.jsReact + ViteFastAPI + VueQloAppsPlaywrightRU / EN / ARRTLVercelnginxalesyadesign.ruostalyk.rucharmonye.comabm-ai.ru
Astro
One stack, different jobs: a studio showcase with an AI assistant built in (alesyadesign.ru ↗), the OSTA design bureau site with a single-screen home and cases running from AI visuals to print- and production-ready artwork (ostalyk.ru ↗), and a bilingual site with an Arabic version and RTL layout (charmonye.com ↗). Interactive parts ship as React islands, and we check the markup with Playwright.
Next.js ↗
Company and product sites on App Router, Tailwind and Framer Motion. That's how the site for one of our business lines is built, with two language versions.
React + Vite
Landing pages for festivals and cultural projects, plus an estimate calculator that reads photos and PDFs.
Web apps ↗ product
When a site is not enough: a visualisation service on FastAPI + Vue with accounts, credits, a generation queue and PDF export. If the main provider drops out, the request goes to a backup. Booking runs as a separate system on QloApps.
Hosting and running it
A site does not end at the build. We keep both: Vercel where the platform is enough, and our own VPS under nginx where we need the control. Docker, certificates, CDN, clean URLs, sitemaps, OG previews for links in messengers, and backups.
Automation
TelegramTelethonyt-dlpffmpegYooKassascraperscronsupervisor
Video → audio
Send the bot a link and it pulls the audio track, splits the file when it is too big, and hands it back in Telegram.
Mention monitor
The bot watches selected channels, catches keywords and forwards what it finds into the right group.
Visualisation in Telegram
Photo of a plot → pick a style → finished image. The web product grew out of this bot.
Background jobs
Scrapers, change notifications, scheduled tasks, and taking payments inside Telegram.
Servers and operations
Dockernginxsupervisorpm2PrometheusVictoriaMetricsGrafanafail2banRustDeskTailscaleTermius
Monitoring
Prometheus, VictoriaMetrics, Alertmanager and Grafana. External checks watch from the outside and tell us when a site or service stops responding.
Self-hosted services
We run RustDesk for remote access, Tailscale to link hosts together, and a SOCKS5 proxy.
Day-to-day operations
nginx across several domains, Docker, supervisor, pm2, fail2ban and backups. We work with physical machines and VPS alike, and reach the hosts themselves through Termius and RustDesk.
Research, materials and events
“Gardens and People”dashboard.charmonye.composts in RU / EN
AI Day at the “Gardens and People” festival →
We came up with the idea and ran a day of the Green Lecture Hall at a Moscow festival, August 2026. One rule for the line-up: no technology overviews, one concrete case taken apart in detail. So the speakers were not course instructors but people from the industry, with their own work, their own mistakes and the parts they had to redo by hand.
Our own library
Third year of keeping our own library of material, and a separate librarian agent fills it: we read industry channels, hand it whatever is worth keeping, and it sorts and files. Before a task, agents go there for the rules and the context.
dashboard.charmonye.com ↗ product
An open map of AI tools for architecture, interiors and landscape. It is built for finding the tool for a specific job rather than the “best service”. Every card carries its sources.
Posts →
We write about what AI actually does in real work: where it saves time, where it needs watching, and why the same model behaves differently at different steps.
