Open to offers

Full-stack developer.AI integration.

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

How I build AI agents.

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.

  1. 01

    Numbers come from SQL, not the model

    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.

  2. 02

    SQL written by the model goes through three checks

    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.

  3. 03

    Only approved people can use the bot

    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.

  4. 04

    A person keeps an eye on its memory

    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.

  5. 05

    Cloud or your own server

    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.

  6. 06

    Costs and limits under control

    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

What I’ve built.

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.

Telegram

Patient bot and operator panel

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

AI assistant for a clinic’s director

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

An AI kiosk that speaks Uzbek

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

Grocery delivery platform

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

Official WorldSkills Uzbekistan 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

worldskills.uz

04 · Stack

What I work with.

Languages
Python, TypeScript, JavaScript, SQL, Rust
Frontend
React, Next.js, Vite, TanStack Query, Zustand, Tailwind CSS
Backend
Node.js, Fastify, Express, REST, WebSocket, SSE
Databases
PostgreSQL, Supabase, Redis
AI and automation
Claude, Gemini (Live, function calling), Vosk, Uzbek TTS, n8n
Desktop and mobile
Tauri, Electron, React Native (Expo)
Infrastructure
Linux, Docker, Nginx, CI/CD, Cloudflare
Security
JWT, RBAC, WebAuthn, rate limiting, fail2ban
Integrations
Click, Payme, soliq.uz (QPOS), Telegram

05 · Contact

Let’s talk.

Telegram is the fastest way to reach me. If you need my CV, I’ll send it there.

City
Tashkent, Uzbekistan
Work format
Hybrid, full-time or part-time
Languages
Uzbek (native), English (fluent reading and writing, intermediate speaking), Russian (basic)