All projects/Products/2026/Live
AquaFerma: feed, finance and risk for fish farms, inside Telegram
For fish farmers in Uzbekistan: manage each pond, track its finances, prevent feed waste with rations computed from water readings, and get advice from a specialist, all inside Telegram, with an operator dashboard behind it.

What I built
- —Feed calculator: biomass times a base rate from average weight, adjusted for temperature, oxygen, pH and species, split across three meals. Below 3 mg/l oxygen or 8 °C the answer is zero, on purpose.
- —Lake stock is never written directly. It is recomputed by replaying a ledger of stockings, sales, mortality and weight checks, with triggers handling edits and deletes.
- —One SQL view turns readings and ledger rows into farmer signals with a severity (act today, this week, nudge), and offer rules map a signal to something useful to sell.
- —Operator dashboard with one-time sign-in links issued by the bot; admin and operator roles re-resolved on every request; finance fields removed at the API, not hidden in the UI.
Stack
FastAPI · SQLAlchemy · PostgreSQL 16 · aiogram 3 · React 18 · TypeScript · Tailwind · Docker · Caddy
Outcomes
- —Live for farmers with a fully Uzbek interface.
- —Operators handle orders, photos and questions without seeing lake finances.
- —New risk rules are added as SQL, without touching application code.