v0.1.6Free · no account · on your machine
Venezuela, now.Every figure with its source and its time.
Vigía puts what is happening in the country on one screen: the official and parallel dollar, internet by state, censorship, earthquakes, fires, weather and the news from 224 publishers. It runs on your own computer, with no account and no keys.
Linux, Windows and macOS (the last two are new) · 20–44 MB · source-available under a non-commercial licence

- 37 earthquakes in 7 days, largest M4.0USGS · FUNVISIS
- 10 strongest fires, 24 hNASA FIRMS
- Internet: drops in 3 of the 24 states with dataIODA
A snapshot from Vigía as of 25 Sept 2026, 16:30 (Caracas time), taken when this version of the site was prepared. Not live: for that, run Vigía.
01How it works
A situation room that runs on your computer.
Download one file, open it, and Vigía starts reading. No one else's server in between: your data, your keys and your history stay with you.
A real recording of Vigía with its data of 25 Sept 2026, 10:03 (Caracas time). 35 s, no audio, no staged data.
The recording, as text
- 0:00The wall on a desktop screen: the “Ahora” sentence, the map by state and the panels.
- 0:02A click on Sucre: the map zooms to the state and its sheet opens.
- 0:08Ctrl K opens the search; typing “maracaibo” and pressing Enter takes the screen to that municipality.
- 0:15In the history strip, 7 days are chosen and the week's stored data is played back.
- 0:23The phone view: scrolling through the panels, then tapping the Dollar and Map tabs.
- 1
Reads public sources
313 sources: the central bank, USGS and FUNVISIS, NASA, IODA, OONI, Open-Meteo, 224 publishers and more. 309 work with no key and no account.
- 2
Computes in code, keeps everything
Every response is validated, normalised and archived with its history. Gaps, changes and counts come from tested code, not from a model.
- 3
Shows it with its source and its time
A map and panels you read in ten seconds. Tap any figure: who published it, when it was valid, when it arrived, its licence and the link.


02What it shows
22 panels and a map. Each answers one question.
What is the dollar at? Is the internet down? Was there a quake? Real crops of the app, with the names of whoever publishes each figure.


Dollar: BCV and parallel
The central bank's official rate and parallel quotes from named sources, side by side. Code computes the gap; there is never a “Vigía rate”.
Banco Central de Venezuela · BCV (via bcv-api) · Yadio · Binance (opt-in) and 1 more


Internet by state
Signal drops by state and by ISP, measured by independent networks against what is normal at that hour, with their history.
IODA, Georgia Tech Internet Intelligence Lab · RIPE NCC · RIPE NCC (RIPEstat)


Censorship and blocks
Which sites are blocked, how and since when, from OONI and VE sin Filtro measurements.
OONI · VE sin Filtro


Earthquakes
USGS and FUNVISIS in one list, each quake with its place, its magnitude and who reported it.
USGS · FUNVISIS


Weather
Rain and storms forecast for every state capital over the next 24 hours.
Open-Meteo


Fires
Heat detections seen from orbit, telling likely fires apart from gas flares.
NASA FIRMS


Night lights
Night-time light by state from orbit: the slow signal of a blackout.
NASA GIBS / Black Marble


Oil and energy
Brent and WTI, and gas flaring at named refineries and fields, seen from space.
U.S. EIA via FRED · NASA FIRMS


Markets and cargo
Neighbouring currencies, food and commodities, and port traffic.
U.S. EIA via FRED · U.S. EIA and Federal Reserve via FRED · Superintendencia Financiera de Colombia · Banco Central do Brasil and 3 more


Health and migration
Health bulletins, migration from UNHCR and R4V, and the aid that arrives, each figure sourced.
Ministry of Health (MPPS) · World Health Organization (GHO) · R4V (UNHCR and IOM) · UNHCR and 2 more


Services
The Guri reservoir's level from satellites, with a free DAHITI key. Where nothing can be measured, it says so.
DAHITI (DGFI-TUM) (with a key)


Official Gazette
New issues and their acts, in the official index's words: acts about public officials with their names; pensions and private matters, only counted.
Imprenta Nacional (Official Gazette)


TV and radio
Which channels and stations are on air now, measured; if unmeasured, it never says “on air”. Turned on at /guia.
YouTube · Radio stations


Your pocket
What it is in dollars and what a salary is worth: every rate named and dated, never averaged, and the minimum wage from the Gazette.
Banco Central de Venezuela · BCV (via bcv-api) · Yadio · Binance (opt-in) and 2 more


News
Headlines from across the spectrum, each outlet's stance labelled, placed by state and grouped into stories.
224 publishers


Incidents
An incident opens only when independent sources agree on the same place and time, with the rule shown. Never a probability.
Independent sensors (IODA, RIPE NCC, NASA, USGS, FUNVISIS…) and the press
And 5 more: cyclone and disaster alerts, satellite imagery every 10 minutes, network routes and circumvention, airspace notices, international attention. The screens show the app in Spanish, its first language; it also runs in English.
03Sources
313 sources, each with a name and a licence.
Central banks, measurement networks, satellites, UN agencies and 224 publishers. 309 work with no key or account; the list comes from this version's code.
- sources
- 313
- with no key at all
- 309
- news publishers
- 224
- countries of origin
- 28
Regional outlets by state
57 outlets (sites and channels) in 20 of the 25 states, besides the national and international press.
Zulia 8Lara 7Anzoátegui 6Carabobo 5Miranda 3Falcón 3Portuguesa 3Táchira 3every state
Who publishes what you see
14ymedio 2001online Agencia Carabobeña de Noticias (Carabobo) GDACS (ONU / CE JRC) Analítica TV Wikimedia Banca y Negocios Binance OONI Ministerio del Poder Popular para la Salud EASA RIPE NCC (RIPEstat, RIS) U.S. EIA y Reserva Federal vía FRED DAHITI (DGFI-TUM) NASA GIBS / Black Marble 20minutos (Internacional) Acceso a la Justicia Así Es Noticias (Zulia) NOAA NHC ANTV Asamblea Nacional Prensa Presidencial Bybit VE sin Filtro OCHA Financial Tracking Service FAA IODA, Georgia Tech Internet Intelligence Lab FAO NOAA/NESDIS/STAR ABC (Spain) Internacional Alba Ciudad Cabudare Digital (Lara) NASA FIRMS BBC News Mundo Últimas Noticias Yadio The Tor Project (Tor Metrics) Imprenta Nacional (Gaceta Oficial) RIPE NCC (RIPEstat) Banco Mundial ABC Color (Paraguay, Internacionales) Analítica Cactus24 (Falcón) FUNVISIS Ciudad CCS Banco Central de Venezuela ACNUR (UNHCR) RIPE NCC Superintendencia Financiera de Colombia Agência Brasil (Internacional) Aporrea Carupanero.com (Sucre) USGS CNN en Español BCV (vía bcv-api) R4V (ACNUR y OIM) U.S. EIA vía FRED Al Jazeera (EN) all Armando.info Circuito Regional de Noticias (Portuguesa) Open-Meteo El Nacional ReliefWeb (OCHA) FMI PortWatch Al Navío Aula Abierta Ciudad BQTO (Lara) euronews Español Organización Mundial de la Salud (GHO) Banco Central do Brasil Amnesty International (Venezuela) Caraota Digital Ciudad MCY (Aragua) EVTV Miami Amnistía Internacional (Venezuela) Cáritas de Venezuela Comunicación Continua (Mérida) Globovisión en Vivo Anadolu Agency (Español) Cecodap Diario El Guayanés (Bolívar) La República Perú Andina (Agencia Peruana de Noticias) Cepaz Diario El Tiempo (Trujillo) N+ Univision Atlantic Council Colegio Nacional de Periodistas Diario El Tigrense (Anzoátegui) Noticia al Día BBC Mundo Conindustria Diario El Vistazo (Anzoátegui) Noticias Telemundo BBC News (Latin America) Connectas (Venezuela tag) Digital 58 (Zulia)
From the adapter registry of version 0.1.6; names and marks belong to their publishers.
04Principles
What Vigía never does is what makes it useful.
Many dashboards win on atmosphere: red, blinking, figures from nowhere. Vigía wins on the opposite: calm, sources and times.
Anatomy of a figure
Official dollar, BCV
855.66Bs
BCV · 25 Sept, 00:00
- Source
- Banco Central de Venezuela (bcv.org.ve)
- Valid from
- 25 Sept 2026, 00:00
- Vigía fetched it
- 24 Sept 2026, 21:07
- Original
- www.bcv.org.ve
- State
- current, within its budget
Exactly as /api/v1/panels/money/figures served it when this version of the site was prepared. In the app, every figure opens like this with one tap.
- 01
Every figure, with its source and its time
Who published it, when it was valid, when it arrived, its licence and a link to the original. No exceptions.
- 02
Stale never passes for live
Every source has a freshness budget. If it fails, you see the last good value with its real age and a stale mark; the status page says what is failing.
- 03
Numbers are code, never a model
Rates, gaps, counts and changes come from deterministic, tested code. No model invents or rounds a figure.
- 04
Contested figures, side by side
The official rate beside the parallel ones, each with its name; official beside independent. Never one blended number.
- 05
Events and places, not people
No names, faces or handles of private people; no tracking of military aircraft or ships. Nor of you: no account, no analytics, no tracking.
- 06
AI is optional, and labelled
The core uses no AI. If you turn it on, it classifies and summarises with its measured accuracy shown, links its sources and spends only the budget you set.
05By the numbers
Numbers from the code, not from a brochure.
Every number in this section was computed from the repository when this version of the site was prepared. Under each one, how.
- data sources
- 313
- Adapters in src/adapters/registry.ts; 309 work with no key.
- news publishers
- 224
- Distinct publishers among the news-layer adapters.
- panels on the wall
- 22
- PANEL_IDS in web/src/lib/layout.ts, plus the map.
- tests
- 951
- test() declarations in the public repository's 166 *.test.ts files; they run on every commit.
- the app's first load
- 84.3KiB
- gzip of what index.html loads, measured by scripts/build-web.ts.
- distinct licences
- 41
- Licences the adapters declare; every figure shows its own.
Computed on 25 Sept 2026, 16:49 (Caracas time), version 0.1.6 · the script: scripts/site-data.ts
06Run it yourself
One file. No account. No keys.
With zero keys, 309 sources start filling the screen within a minute or two. Optional keys (NASA FIRMS, free; Jev or Anthropic within a budget you set) are added from the guide (/guia) and never leave your machine except to their own service.
Expand-Archive vigia-0.1.6-windows-x64.zip . .\vigia-0.1.6-windows-x64\vigia.exe
First run: the file is not signed by Microsoft yet, so SmartScreen may say “Windows protected your PC”. Choose “More info” → “Run anyway”. If the window closes by itself, run it from PowerShell to read the message (for example, port 7722 taken: use --port 8080).
Check your download: Get-FileHash .\vigia-0.1.6-windows-x64.zip and compare the result with its line in SHA256SUMS, attached to the same release.
Files of 20 to 44 MB, nothing else to install; each holds a folder with the program, LICENSE and NOTICE. Windows and macOS are new: every file starts and answers in an automated test on its own system before it is published, but few people have used them yet. If something fails, open an issue with what the terminal prints.
Everything on your machine
- Your history stays in a local SQLite database, sealed every day into a SHA-256 chain that
vigia verifychecks offline. - Open Vigía on other devices on your network with
--host 0.0.0.0; settings only change from your computer. - Full guide: docs/SETUP.md
- Have an AI coding agent? Paste this into it: it downloads the right file, checks its checksum, opens it, and never asks for your keys in the chat.
In the terminal, too
No browser needed: curl localhost:7722 prints the situation as plain text, 80 columns, every line with its source and the age of its data. Handy on a server, over SSH or on a bad connection.
$ curl localhost:7722
VIGÍA · Venezuela now Sep 25, 16:49 · Caracas time NOW Possible blackout in Distrito Capital (IODA and press, last signal 7 min ago) · Possible blackout in Guárico (IODA and press, last signal 7 min ago) · Severe internet drop in Amazonas and Táchira · Signal drop in Apure · Storms forecast in 6 capitals DOLLAR BCV official 855.66 Bs +0.14% in 24 h BCV · 16 h ago Yadio (P2P) 953.57 Bs gap +11.4% Yadio · 5 min ago Binance P2P, mediana de los 10 mejores anuncios (USDT/VE… Binance · 4 min ago INTERNET BY STATE (IODA, WORST FIRST) Amazonas severe drop 42.9% of normal IODA · 20 min ago Táchira severe drop 31.1% of normal IODA · 20 min ago Apure drop 25.6% of normal IODA · 20 min ago Normal (21), % of normal for this hour: Guárico 85% Monagas 90% Lara 91% Barinas 93% Zulia 94% Delta Amacuro 94% Anzoátegui 95% Trujillo 96% Distrito Capital 96% Sucre 96% Portuguesa 97% Bolívar 97% Yaracuy 98% Nueva Esparta 98% Mérida 99% La Guaira 99% Carabobo 100% Cojedes 100% Falcón 100% Miranda 100% Aragua 100% No data (1): Dependencias Federales IODA, Georgia Tech · 20 min ago EARTHQUAKES, 24 H, VENEZUELA AND NEARBY M3.4 En el mar, a 80 km al NNE de Güiria (Sucre) FUNVISIS · 1 h ago M3.4 En el mar, a 31 km al ESE de Güiria (Sucre) FUNVISIS · 13 h ago M3.4 En el mar, a 33 km al ENE de Río Caribe (Sucre) FUNVISIS · 15 h ago M3.2 a 12 km al ESE de Palmasola (Yaracuy) FUNVISIS · 14 h ago M3.2 a 14 km al SSO de Yaguaraparo (Sucre) FUNVISIS · 17 h ago and 10 more INCIDENTS (INDEPENDENT SOURCES THAT AGREE) ● Possible blackout in Distrito Capital since 13:14 2 independent sources · IODA, press last 7 min ago ● Possible blackout in Guárico since 08:43 2 independent sources · IODA, press last 7 min ago ● Possible blackout in Táchira since 09:01 2 independent sources · IODA, press last 7 min ago ● Possible blackout in Zulia since 06:50 2 independent sources · RIPE Atlas, press last 1 h ago PRESS REPORTS ONLY (NO MEASUREMENT) ○ Possible blackout in Lara since 09:10 reports only, 6 outlets, no measurement last 1 h ago UNCORROBORATED SIGNALS (ONE MEASURED SOURCE) · Connectivity drop in Apure · IODA last 7 min ago · Connectivity drop in Mérida · IODA last 7 min ago · Connectivity drop in Yaracuy · IODA last 7 min ago · Connectivity drop in Amazonas · IODA last 20 min ago 17 ended in the last 48 h Each line: source · age of the data. Numbers computed by code, no AI. Everything, with links and rules: http://localhost:7722/ · ?lang=es ?color=1
An open, versioned API
Your Vigía serves every panel, source and series with its history at /api/v1, as JSON or CSV, with OpenAPI and rate limits. Every figure taken from a source carries its source, its licence and both times (when it was valid and when it arrived); computed ones name their panel's sources.
$ curl -s localhost:7722/api/v1/panels/money/figures | jq '.figures[0]'
{
"panel": "money",
"path": "official.usd.current.vesPerUnit",
"label": null,
"value": 855.6625,
"feed": "bcv-official",
"sourceUrl": "https://www.bcv.org.ve/",
"observedAt": 1790308800000,
"fetchedAt": 1790298435420,
"stale": false,
"licence": "bcv-attribution-nc",
"licenceUrl": "https://www.bcv.org.ve/terminos-condiciones",
"attribution": "Fuente: Banco Central de Venezuela (bcv.org.ve)",
"panelSources": [
"bcv-official",
"bcv-api",
"bcv-history",
"yadio",
"binance-p2p",
"bybit-p2p",
"bcv-inpc"
]
}Real output from Vigía, captured on 25 Sept 2026, 16:49 (Caracas time).
07For developers
One process, one contract, every source tested.
One Bun process reads sources through adapters, stores every observation in SQLite with its history, computes each panel in tested code and serves a small client over HTTP and live events.
src/core/types.ts
view on GitHubexport interface Adapter<V extends Json = Json> { readonly id: string; readonly layer: Layer; readonly name: { readonly es: string; readonly en: string }; /** Who publishes the data, e.g. "USGS". */ readonly provider: string; readonly homepage: string; readonly licence: Licence; /** Key ids this adapter needs. Empty: works with no key. */ readonly keys: readonly string[]; readonly intervalMs: number; readonly freshness: FreshnessBudget; readonly optIn?: { readonly es: string; readonly en: string }; readonly note?: { readonly es: string; readonly en: string }; readonly blobs?: BlobPolicy; /** Network: fetch whatever raw responses are needed for one run. */ fetch(ctx: FetchContext): Promise<readonly RawResponse[]>; /** Pure: validate and normalise. Throws on schema violations (the run fails loudly, last-good stays). */ normalise(raw: readonly RawResponse[]): Observation<V>[]; } export interface Observation<V extends Json = Json> { readonly source: string; readonly series: string; readonly sourceUrl: string; readonly fetchedAt: number; readonly observedAt: number; readonly licence: string; readonly value: V; readonly location?: GeoPoint; readonly confidence: number; readonly basis: Basis; readonly keepFirst?: true; }
Adding a source
- 1Read the source's terms and rate limits.
- 2Create src/adapters/<id>/index.ts with the contract, and register it.
- 3Record a real response with scripts/record-fixture.ts and write the tests.
- 4bun run check: format, lint, types, tests and build. Green.
What it is built with
- Bun
- Strict TypeScript
- Preact + signals
- SQLite
- Zod
- Hand-built SVG
- SSE
- 951 tests
08Licence
Source-available, for any non-commercial use.
Vigía is published under the PolyForm Noncommercial License 1.0.0. In plain words:
You may
- Use it, read it, modify it and share it, free.
- For personal study, research and hobby projects, and for charities, schools, public research, public health and safety organisations, and government institutions.
You may not
- Sell it, or sell access to it.
- Use it in a paid product or service. That needs a separate licence.
If you share it, pass on the licence and its notice. This summary is not the licence: LICENSE is. Data belongs to its publishers under their own licences, which Vigía shows beside every figure.
See the country for yourself.
Download it, open it, and within two minutes the situation room is on your screen. No account, no keys, no tracking.
What is Vigía missing? Propose ideas and vote for the ones you want; the most voted get built first.
Suggest an idea