Roman Pogrebnyak
Roman Pogrebnyak
Integration engineer · Almaty · open to projects

I build websites and software, bring in AI and connect hardware for businesses

I write websites, CRMs and business systems in Laravel, Go and Python. I connect cameras, access control, barriers, scales and telephony to them, and add AI where it saves people time. I take a system all the way to real use, not just to a demo.

  • websites and CRM
  • ANPR cameras
  • WIM scales
  • lidars
  • barriers
  • bill acceptors
  • Access control
  • Asterisk / SIP
  • Tuya locks
  • public procurement
  • Laravel · 1C · ESBD
  • AI in WhatsApp
  • AI bots
since 2013building systems and integrations
Laravel · Go · Pythonfrom driver to web panel
kk · ruinterfaces, voice and receipts
Ваша система + ИИ

data from hardware and messengers in one system

AI for business

AI inside your processes

The assistant lives inside the tools people already use: WhatsApp, Telegram, the phone, your accounting system. Nobody has to learn a new app. AI prepares, a person decides.

Draft reply to a customer

AI reads the conversation and suggests a reply in the seller's own style. The seller edits it and sends it.

running in Kelisim

Voice message transcription

Customers' voice messages become text you can search and reply to.

running in Kelisim

Customer card

Deal stage, promises, risks and who needs a reply today. Built from the conversation automatically.

running in Kelisim

Bookings and FAQs

A messenger bot answers customers around the clock and books appointments.

AI receptionist

Voice in Kazakh and Russian

Text-to-speech for call-outs and alerts on your own server, no cloud.

emergency alerts

Tenders and supplier checks

Finding suitable tenders and checking counterparties against open data.

tender assistant
AI for sales · Kelisimused by real sellers

AI assistant for sellers in WhatsApp

WhatsApp · Клиенты Есть в наличии? Когда доставка? 0:14 текст голосового: «А на 10 штук скидка будет?» Да, есть. Привезём завтра до обеда. КП со скидкой пришлю. ✓✓ Келісім только чтение расшифровка карточка черновик Карточка этап: КП срок: завтра Черновик ответа ✓ в вашем стиле Отправить отправляет человек, а не бот
  1. A customer writes or sends a voice note
  2. Kelisim reads only chats in the “Customers” list
  3. AI writes a draft in the seller's style
  4. The seller edits and sends it

Sellers keep using their own WhatsApp. The assistant transcribes voice notes, suggests replies, keeps a customer card and reminds about promises. It never reads personal chats and never sends anything itself, so the risk of the number being banned is minimal.

How it's built · data flows top to bottom
  1. Channelseller's WhatsAppWAHA · GOWSthe seller's own number as a linked device, no separate bot
  2. Safetywaha_readonlyread-only and only chats in the “Customers” list: no sending, no read receipts
  3. AIClaude HaikuClaude OpusWhisperdrafts in the seller's style, “make it better”, voice transcription, a customer card with promises and risks
  4. ServerappbridgePINa dashboard for each seller on kelicim.kz, a bridge to WhatsApp, PIN login
PythonJSClaude API · Whisper · Docker · Linux
What else Kelisim does
KelisimCard
Customer: beauty salonYour move
newtalksquotecontractpaid
Promises
✓ Send the price list
○ Quote by Friday
Risks
Comparing with a competitor
Next step: send the quote today by 6 pm
01 / 12

Customer card

Deal stage, promises, risks and whose move it is.

Example with sample data

AI bots

AI receptionist for doctor appointments

A Telegram and WhatsApp bot understands patients' plain messages, matches them to a doctor by specialty and books the visit. It works nights and weekends, so front-desk staff can focus on patients in the clinic.

How it's built
  1. ChannelsTelegramWhatsApp webhookpatient messages
  2. Logicmessage_handlerprompt_builderllm_responsereminder_schedulerunderstands the request, picks a doctor, sends reminders
  3. Datadatabaseclinic_infoPostgreSQL: doctors, chat history
PythonOpenAI · PostgreSQL · Docker
Public procurement · bigtender.kz

Tender assistant

Collects data from the public procurement portal and tax sources, keeps a database of contracts and companies, and rates supplier risk. Helps you find a suitable tender faster and check a counterparty.

How it's built
  1. Collectionscrape_goszakupscrape_contractsscrape_kgdows_clientaisoip_clientprocurement portal, contracts, tax data
  2. Analysisrisk_insightsorganization_storecontract_storecompany and contract database, supplier risk
  3. Interfaceadminweb dashboard with login
Python
Hardware and integrations

How it works on site

Each animation shows how the system works for people. Below it, “How it's built” lists the system layers, the modules from the code and the languages I wrote it in. Plates, amounts and texts in the animations are examples.

Toll roads · KazTollrunning on site

Toll payment terminal in the lane

Камера номер Весы WIM вес по осям Лидар габариты — Терминал оплата, чек Шлагбаум Modbus TCP
  1. The camera reads the plate
  2. Scales and lidar measure the truck in motion
  3. The terminal takes payment and prints a receipt
  4. The barrier opens

I wrote the hardware drivers and the lane service in Go on Linux: bill acceptor, coin board, induction loop, receipt printer in Kazakh and Russian, barrier, display board. The terminal checks itself every 15 seconds and takes itself out of service on a fault. Together with the WIM station (next project) this makes a complete truck lane.

How it's built · data flows top to bottom
  1. HardwareNV200PRS17AGEA2488VKP-80IILBA 63PGdisplaybills, coins, loop, receipt printer, barrier
  2. Driversserialportcashprs17ageaiopanelprintermodbusbarrierledsignRS-232, Modbus TCP, ESC/POS; receipts print as images so Kazakh letters render
  3. Logiclanehealthjournalpassage, change in coins, self-check every 15 s, cash log
  4. LinkapiD-BusHTTP API and message bus for the road operator's system
  5. Installdiscoverconfigdeployauto-detects devices on ports, one-command install, systemd with watchdog
GobashRocky Linux 9 · systemd · SELinux · Docker for builds
Toll roads · WIM

Weigh-in-motion station for trucks

Камера Весы по осям Лидар габариты wimd сведение по полосе и времени Запись номер— полный вес— оси— Д × Ш × В, м— статус—
  1. The camera reads the plate and takes a photo
  2. Sensors in the road weigh every axle
  3. The lidar measures size and counts axles
  4. The service merges it all into one vehicle record

The truck drives through without stopping, and the station collects everything three devices from different vendors can tell about it. Each device answers with its own delay: the camera sees the plate early, the lidar answers once the truck has fully passed. The service matches events by lane and time window, corrected for each device. If the scales count 3 axles and the lidar 2, the record is flagged for review instead of being lost.

How it's built · data flows top to bottom
  1. DevicesKistler LineasIntercompVanJee WLR-711Tattile Vega53weight sensors in the road, a lidar beside the lane, a plate camera
  2. Intaketattileintercompvanjeethe camera pushes JSON over HTTP, the scales use TCP (WIMLOGIX), the lidar an SDK; raw data is stored in full
  3. Matchingmatchthree streams into one vehicle by lane and time window
  4. Recordpassagelimitsaxle weights, dimensions, plate, photos, mismatch flags; weight and size limit checks
  5. ServicewimdHTTP receivers, health checks, record storage
GoLinux · HTTP · TCP · JSON
Alerts · Emergency servicescompleted project

Voice call-out to staff with confirmation

Панель Начать обзвон Asterisk голос kk + ru подтвердили 0 из 6
  1. The operator types the alert
  2. The system voices it in Kazakh and Russian
  3. Calls go out: staff press 1
  4. Up to 3 retries and a list of who missed it

Own telephony on Asterisk via the carrier's SIP trunk. Speech synthesis runs on our own server, so staff data never goes to the cloud. By estimate, 1,400 people are called in about 15 minutes on 100 lines.

How it's built · data flows top to bottom
  1. Panelstaticemployees.csvalert text, staff list with language: kk, ru or both
  2. Backendapp/api/campaigns/api/employeescall campaign, call queue, retries, report
  3. VoicettsPiperKazakh and Russian speech synthesis on our own server
  4. Telephonyextensions.confPJSIPfunc_curlcall via the carrier trunk, key press 1, events back to the backend
PythonAsterisk dialplanFastAPI · SIP · Ubuntu
Education · Safe Schoolcompleted project

Card entry, cameras and parent notifications

Камера кадр входа СКУД Сервер СКУД · видео Родителю Ребёнок пришёл в школу, 08:02 Посещаемость
  1. A student taps a card
  2. The turnstile opens, the camera takes a photo
  3. The event goes to the school system
  4. The parent sees the child has arrived

One system for entry, video, the panic button, a canteen paid from the student's balance, and parent notifications. Access terminals from three vendors and IP cameras are connected. The interface is in Kazakh, Russian and English.

How it's built · data flows top to bottom
  1. HardwareHikvisionDahuaSigurIP camerasaccess terminals from three vendors, video cameras
  2. ServicesHikvisionAccessControlDahuaAccessControlSigurServiceCameraServicea separate adapter for each vendor
  3. Videortps-hlsFFmpegServiceWebRTCServiceRTSP from cameras to the browser, a separate Go module
  4. FeaturesEmergencyAlertMealNotificationAnnouncementpanic button, canteen, notifications, announcements
  5. AdminFilamentJobsEventsadmin panel, background queues and events
PHPLaravelGoMySQL · Redis · FFmpeg · Docker
Customs · asid.kzcompleted project

Inspectors' body cameras and a monitoring centre

REC Нательная камера Сервер видео · события журнал доступа ● LIVE ситуационный центр ASYCUDA декларация ↔ видео
  1. The camera records at the post
  2. A live stream or clips go to the server
  3. The centre watches in real time
  4. Video is linked to the declaration in ASYCUDA

Video from body cameras arrives two ways: a live stream or uploaded recorded clips. Video storage, user roles, an event log and a link to the ASYCUDA customs system.

How it's built · data flows top to bottom
  1. Camerastreamclipslive stream or uploading recorded clips after a shift
  2. APIauthvideosadminlogin and roles, video in and out, managing cameras and people
  3. StoragePostgreSQLMinIORedisalembicmetadata and events in the database, video files in object storage
  4. Integrationasycudalinking video to the declaration in the customs system
PythonFastAPI · Docker
Smart locks · Tuyacompleted project

Smart lock access log in your own system

закрыт Tuya Cloud Наш сервис API · админка Журнал доступа сегодня 08:41 открыт · код вчера 19:12 закрыт вчера 08:39 открыт · карта
  1. The lock is opened by code, card or app
  2. The event goes to the Tuya cloud
  3. Our service fetches it via the API
  4. An entry in your system's log

Lock status and opening history for any period in your own CRM, not just the vendor's app. Bookings, temporary passcodes, Telegram notifications and accounting. A fit for short-term rentals, offices and residential complexes.

How it's built · data flows top to bottom
  1. LockTuyacode, card or app
  2. Cloudtuya_clienttuya_cachelock_cryptoTuya OpenAPI, AES encryption per the lock protocol
  3. Serviceslock_servicebooking_servicepassword_storelock control, bookings, temporary passcodes
  4. CRMcrmtelegram_serviceaccounting_serviceadmin, notifications and accounting
PythonFastAPI · httpx · systemd
Laravel development

Business systems, CRMs and platforms

My main tool for web systems since 2016: from document management and insurance products to billing and marketplaces. I write the backend, the admin panel and integrations, and deploy with Docker.

Insurance · ESBD

Online insurance integrated with ESBD and 1C

Online policy pricing and sales, exchange with the Unified Insurance Database (ESBD) over SOAP and with the company's 1C. Built for three insurers, including 8 online products from scratch at one of them.

Laravel · SOAP · 1C · RabbitMQ · Kafka · Go

B2B + B2C · sauda.kz

High-load trading platform

A marketplace for wholesale and retail. Fast catalogue search, background queues, real-time updates, monitoring and error tracking.

Laravel 11 · Octane · PostgreSQL · Redis · Meilisearch · Reverb

Utilities

Utility billing

Water and heating charges for property managers and homeowner associations. Buildings, meters, five calculation methods, penalties, Excel reports, a customer portal.

Laravel 11 · Filament 3

Service

Help-desk CRM

Tickets are assigned by engineer workload. Time tracking, hourly billing reports, roles and permissions.

Laravel 13 · React 18 · TypeScript

Sales

“KRAFT Proschet”: from request to register

The deal chain: request, rates and costs, commercial offer, supplier order, register. Only the director approves offers.

React · Python · FastAPI · PostgreSQL

Building materials

Material Hub: B2B finishing-materials catalogue

A filterable catalogue of tiles, stone, lighting and decor. Automatic import of catalogues from suppliers present in Kazakhstan.

Laravel 13 · Inertia · React · MySQL

Also: payment integrations (TipTop Pay), car loans, car and motorbike marketplaces, a CRM with Asterisk and call history, moving a monolith to microservices.

How I can help

What I can do for your business

AI assistant for sales and support

  • Draft replies to customers in WhatsApp and Telegram
  • Voice transcription, customer cards, reminders
  • A receptionist bot for bookings and FAQs

for: sales teams, clinics, service companies

Connect hardware to software

  • Cameras, access control, barriers, scales, lidars, cash devices, locks
  • Drivers, protocols, one-command install
  • Self-checks and clear errors for field technicians

for: roads, parking, warehouses, schools, residential complexes

Automation with local systems

  • Public procurement and tax data
  • Telephony and SIP with Kazakh carriers
  • Dashboards and reports for managers

for: government bodies, enterprises, suppliers

A Laravel web system built around your process

  • CRM, accounting, billing, customer portals
  • Integrations with 1C, ESBD and payment systems over REST and SOAP
  • Improving and migrating legacy systems

for: insurance, service and trading companies

  1. ScopingA call or meeting: what the site or process is and what gets in the way today.
  2. PilotOne lane, one seller or one entrance. Results on your own task.
  3. LaunchOn-site install, staff training, a guide for technicians.
  4. SupportI monitor the system and extend it as you grow.
Experience

10+ years in development and integration

I started with websites, then spent years connecting insurance and accounting systems to government databases, 1C and telephony. My recent projects are about hardware and AI.

  • Go
  • PHP · Laravel
  • Python · FastAPI
  • Vue · React
  • PostgreSQL · MySQL
  • RabbitMQ · Kafka
  • Docker · CI/CD
  • SOAP · REST
  • 1C
  • Asterisk

Education: Kazakh-Russian International University, Aktobe, 2009. Information technology.

  1. nowOwn projects and client work

    Toll payment lanes and WIM for toll roads, the Kelisim AI assistant, alerts, schools, locks, tenders.

  2. 2025Craft Promotion · remote

    Full stack: web services in Laravel and Vue, Docker, RabbitMQ.

  3. 2022 – 2024Chocolife.me · senior PHP developer

    Moving a monolith to microservices, external service integrations, CI/CD. Wrote a Go bot that reports build statuses.

  4. 2019 – 2021Insurers: Eurasia, Sinoasia B&R, Oil Insurance Company

    Online insurance and integration with ESBD (SOAP) and 1C. An auth microservice in Go. A CRM for managers with Asterisk and call history.

  5. 2016 – 2018Kamal Oil · Uralsk

    Moved a document management system to Laravel, linked PDMS with a web portal.

  6. 2013 – 2015Web-Design · Uralsk

    Websites, SharePoint, iOS apps.

Contacts

Tell me what you want to solve

I answer personally. Keep it short: what the site or process is and what gets in the way.

WhatsApp +7 705 811 23 00
Message
Telegram @rpogrebnyak
Message
Email r.a.pogrebnyak@gmail.com