decision map for fishing in Romania

Beta

Fewer unknowns on the water.

UndiGo answers one question for a chosen water: can I fish here today, and what must I still check before leaving? It draws on 48 registered data sources, 27 of them ingested and monitored, including seven ANPA feeds, ANAR, ANM, ANCPI, ARBDD, the Border Police, Romsilva, and Hidroelectrica, and keeps official, operator, and community information separately labelled. The web app and a Telegram bot with a Mini App run on the same engine. The public beta is free; open registration serves the free plan and paid checkout is not yet open.

I own the product definition, the source registry and its trust rules, the free-versus-paid boundary, the platform architecture, and the public deployment.

undigo.fish
stagepublic beta; free plan open, paid checkout closed
sources48 registered · 27 active · 7 ANPA feeds
channelsweb app · Telegram bot and Mini App
tests5,269 across 661 Vitest files

Project images

Public siteundigo.fish in public beta: the question on the water, the four tracked source families, and the verdict card with its sources and confidence.
MapThe public map at app.undigo.fish, no account needed: filters by county, type, and signals, and every water opened for rules, sources, and operators.
Water profileGolești, Argeș: the verdict says what is still to check, names the source and its confidence, and lists the operator responsible. Nothing here is invented when data is missing.
On a phoneThe same water on a phone: the map with clusters, the selected water, and the plan sheet ready to pull up.

What we are building

A verdict per water, with its sources

Each water profile answers the question with a verdict: permit and requirements, active prohibition, frontier or Delta rules, or a manual check. Every line carries its source, its confidence, and how fresh it is. Missing or conflicting data is shown as unknown, never turned into permission.

Open the map

Map, saved waters, alerts

The public map filters by county, type, and signals, and needs no account. With a free account you save waters and get alerts on three of them when rules, weather, or hydrology change. Orange and red official warnings for a saved water are delivered on Telegram without any paid plan.

An assistant that cites or refuses

You ask in plain language, on the web or in the Telegram bot. The assistant reads the reviewed rules, current conditions, and confirmed reports, answers with the source, and refuses when the data cannot support an answer. A photo identifies a species together with its legal minimum size and prohibition window; three identifications per month are free.

Operators, corrections, labelled sponsorship

An operator claims its profile, proposes corrections to public data, and publishes updates labelled as operator-declared, all free. Paid operator tools add a richer profile, lead capture, and analytics. Sponsored placement on the map, on water pages, and in assistant recommendations is always labelled Sponsorizat and never displaces organic results.

How it works

Free to discover, paid to decide

Official data, legal rules, safety warnings, and source citations are never paywalled; a test battery fails any surface that tries to gate them. Paid plans sell decision and convenience tools on top: higher assistant limits, alerts beyond three waters, the full chat archive beyond seven days, planning bundles, trip export, unlimited species identification. Today the free plan is what registration serves; card payment is wired but not open, and any paid access is granted by hand.

Observations become truth before they become answers

Source observations go through review before they become domain facts; rule facts, condition signals, and operator facts feed a deterministic decision basis; the assistant only explains and cites that basis. The language model is never the source of legal, safety, operator, species, payment, or eligibility truth, and a change on a water is recorded with its cause in an append-only ledger.

One engine, first vertical

UndiGo is the first vertical of a reusable engine. Shared packages own sources, review, entities, notifications, entitlements, and the assistant core; a vertical is a typed adapter of entity types, taxonomy, required sources, intents, and scoring rules. Platform packages never import the vertical, so a second domain is a new adapter, not a fork.