Javlon Baxtiyorov
← All projects
Production system  ·  in production  ·  2025 – 2026

Soffia — AI Academic Assistant

Presentations, papers and tests — generated in seconds, for 20K+ users.

An AI assistant that generates presentations, course papers, reports and tests in seconds — on the web and inside Telegram.

Role
Senior backend engineer
Impact
20K+ users · documents in seconds
Status
In production
Year
2025 – 2026
Fig. 7 — Generation Engine: AI composing machine accepting prompts through authenticated inlets, driving a geared engine that outputs academic documents PROMPT GOOGLE TELEGRAM GENERATION ENGINE GOVERNOR DRIVE GEAR SLIDES PAPERS TESTS REPORTS OUTPUT MAIN 20K+ USERS fig. 7 — generation engine PROMPT INLET TO DOCUMENT OUTPUT
fig. — soffia — ai academic assistant
Soffia — AI Academic Assistant — live screenshot
live — soffia.uz

The problem

Turn a one-line prompt into a finished, correctly-formatted academic document in seconds — from either a browser or a Telegram bot.

Turning a one-line prompt into a finished, correctly-formatted academic document is slow, heavy work — and users expect it in seconds, from a browser or from inside Telegram, without ever knowing what's happening underneath. Users forgive a spinner. They don't forgive a wrong document.

What I built

FastAPI generation services wrap LLM and voice (STT/TTS) models, with NLP automation behind them. The slow generation runs as async jobs (Celery + Redis) so the API answers immediately; one engine is fronted by both a web platform and a Telegram bot. Google and Telegram OAuth keep sign-in friction near zero. The bot and the website are the same engine wearing two coats.

Key decisions

Generation never blocks a request — it's a job, with a status. One generation engine, many front doors (web, bot), so the product can meet students where they already are. Make the model's slowness the queue's problem, not the user's. Async isn't an optimisation here — it's the only honest design.

The result

One generation engine behind two front doors; the slow LLM work runs as async jobs so the app always answers instantly.

20K+ users · documents in seconds

Built with

20K+ usersGenerates in secondsFastAPI · LLM / AISTT / TTS · NLPCelery · RedisGoogle + Telegram authTelegram bot + web

Lessons from the bench

  •  Users forgive a spinner. They don't forgive a wrong document.
  •  The bot and the website are the same engine wearing two coats.
  •  Async isn't an optimisation here — it's the only honest design.

See it live

Visit soffia.uz