ERP · healthcare
ERP for a private clinic
Reception, cashier, inventory and reports in one web system: roles and permissions, fast search, and an interface that’s comfortable to use all day.
Next.js · Express · PostgreSQL
Used every day.
Open to offers
I plug AI agents into the systems a business already runs: ERP, CRM, Telegram, databases. Mostly Python, Node.js and TypeScript, with PostgreSQL.
01 · About
I’m Javohir Jumaboyev, from Tashkent. For two years I’ve been building systems for retail and healthcare: an online store with its own ERP and POS, payments and fiscal receipts, an ERP for a private clinic, Telegram bots. I do both the interface and the server. These days I mostly connect AI agents to those systems.
02 · AI
My examples come from an AI assistant I built for a clinic director. The model is only part of the job. The rest is safe access to data, who can do what, and oversight.
The model doesn’t query the database itself. It sees the results of prepared queries and answers only from those. If the data isn’t there, it says so instead of guessing.
The clinic assistant has a layer of prepared queries for this.
Even when the model writes its own SQL, it’s safe: the database user can only read, the app lets through a single SELECT and blocks risky commands, and query time and row count are capped.
So the agent can’t change anything in the database, and there are no repeated or wrong actions.
The bot answers only Telegram IDs on its list, and only the admin can change settings. The director talks to it in a group, so every question and answer is visible.
Confidential data won’t end up in the wrong chat.
Memory has three parts: the current conversation (6 hours), standing facts about the clinic, and corrected mistakes. The model saves new things on its own, but a person can see the list and delete what’s wrong.
A mistake that’s been corrected doesn’t come back.
If you need to launch fast, I use the Claude or Gemini API. If data has to stay inside the company, I set up an open model (Gemma, Qwen) on the company’s own machine.
I’ve already self-hosted an open model: an Uzbek TTS running on a GPU server.
Tokens and cost are logged for every call. If a limit runs out, the request moves to the next model on its own. If voice replies hit their limit, the answer comes as text and nothing stops.
Answers from the web come with sources.
03 · Work
ERP · healthcare
Reception, cashier, inventory and reports in one web system: roles and permissions, fast search, and an interface that’s comfortable to use all day.
Next.js · Express · PostgreSQL
Used every day.
Telegram
When a lab result is ready, the bot sends it to the patient. The Bot API doesn’t give you chat history, so we store messages in our own database, and reception sees every chat in one panel.
Node.js · Telegraf · PostgreSQL · Telegram Web A
Lab results reach patients through the bot every day.
AI agent
The director types a question in Telegram or sends a voice message. The answer is built from real numbers in the ERP database, with an Excel report if needed.
Claude · Gemini · PostgreSQL · Telegram
Connected to the live ERP database.
Voice AI · prototype
The browser itself picks up the wake word, the conversation runs in real time over Gemini Live, and the model calls functions when it needs to. It answers in an Uzbek voice.
Gemini Live · Vosk · Three.js · Python · Modal GPU
I set up the TTS model on a GPU server myself.
Retail · payments
An online store with its own ERP and POS: Click and Payme, fiscal receipts via QPOS, MXIK codes and product marking. I moved a 1 GB Electron POS to Tauri and Rust, and now it opens fast even on weak computers.
Tauri · Rust · React Native · Click · Payme · QPOS
Works with receipt printers, scales and scanners.
Website
A multilingual site with an admin panel. The team adds news, results and documents on its own, without a developer. SEO, mobile version, loads fast.
Next.js · i18n · SEO
04 · Stack
05 · Contact
Telegram is the fastest way to reach me. If you need my CV, I’ll send it there.