§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,
tytype-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).