Back to archive
I. Personal Ventures & Frameworksupportingcontributor

Veterinary AI Document Service

Python 3.13 AI service for processing animal-related documents (veterinary): upload → PDF extraction → report generation via OpenAI. Multi-channel: Flask web (OAuth) + Telegram bot + payment mini-apps (Click/Hambi). With LLM observability (Langfuse). 2 developers (user ~48%).

Status
active
Period
2025-12-03 → 2026-03-04
AI sessions
13
Stack
Languages
Python
Frameworks · Infra
FlaskFastAPISQLAlchemyOpenAILangfuse
§01

Overview

  • What it is: application for processing animal-related documents (veterinary/breed documents → structured reports). Users upload files (PDF/images), the system extracts data (pdfplumber/pymupdf) and generates reports (OpenAI + md2pdf). Access via web (Flask + OAuth), Telegram bot, and Telegram payment mini-apps (Click.uz / Hambi).
  • Type / status / role: web-app (multi-channel AI service) / active / contributor (2 authors: Denis Ergashbaev 65, Davron 59 ≈ 48% — near parity).
  • Active period: 2025-12-03 → 2026-03-04 (~3 months). 13 CC sessions.
§02

Stack

  • Language: Python 3.13 (uv, ty type-checker — rare choice), SQLAlchemy 2.0 + Alembic + Postgres (psycopg), Supabase.
  • Web/API: Flask 3 (main UI, OAuth via authlib, flask-session) + FastAPI (part of services), gunicorn/uvicorn, Caddy (reverse proxy).
  • AI/LLM: OpenAI + Langfuse (LLM observability / prompt tracing) — mature approach to LLM in production.
  • Documents: pdfplumber, pymupdf, md2pdf, openpyxl — PDF/XLSX extraction/generation.
  • Channels: pyTelegramBotAPI (bot) + 2 mini-apps (click_app, hambi_app — UZ payments Click/Humo).
  • Other: Babel (i18n .po/.mo), loguru (idiomatic logging), Sentry, tenacity (retry), cachetools.
  • Infra: 5 Dockerfiles (base/web/click/hambi/telegram), docker-compose, Makefile, Caddyfile.
§03

Technical challenges

  • LLM observability via Langfuse + OpenAI: prompt/generation tracing in production — mature AI observability practice (not "just called the API"). → demonstrates production LLM discipline.
  • PDF extraction + AI report generation (pdfplumber/pymupdf → OpenAI → md2pdf): parsing → LLM → document pipeline. → document-AI domain.
  • Multi-channel architecture from a single codebase (web/telegram/2 mini-apps/CLI, separate Dockerfiles, shared domains/services/repositories): clean channel separation over a common core. → solid modularity.
  • Modern Python tooling: uv (packages), ty (new type-checker), idiomatic loguru (logger.opt(exception=e)), tenacity retries. → "applies new and useful" in the Python ecosystem.
  • Layered architecture (domains/repositories/services/core) — DDD-like organization.
§04

AI-assisted development

  • Sessions found: 13 .jsonl. .cursor/, .mcp.json, claude_scripts/ (custom scripts for Claude).
  • What was done with AI: service development; CLAUDE.md sets codestyle (loguru idioms). claude_scripts/ — user utilities for Claude workflow.
  • Pattern: Claude Code + Cursor + MCP; custom claude_scripts.
§05

Achievements & metrics

  • Full-fledged AI document-processing product (Python) in ~3 months, 2 developers.
  • 5 delivery channels, LLM observability (Langfuse), document-AI pipeline.
  • Modern Python stack (uv/ty/loguru/SQLAlchemy 2).
§06

Contributors

git shortlog · all branches

  1. Dave9359
  2. Denis Ergashbaev65
2 contributors124 commits total
Currently

Open to Senior / Staff engineering roles and selective freelance — production AI, platform, and full-stack work.

Get in touch