We choose the area
We define the territory, the period and the question: vegetation, water, terrain or urban context.
Geospatial intelligence Specialised deployment
FlowMind organises maps, public sources and Copernicus products in an analysis space. We move from a background image to layers with source, date, sensor and interpretation limits.
FlowMind
We define the territory, the period and the question: vegetation, water, terrain or urban context.
We use optical, radar, thermal and atmospheric products suited to the question.
We display the layers on the map and keep the context needed for an informed decision.
Sentinel-2 and indices such as NDVI and NDWI for exploring changes.
Sentinel-1 complements optical information, including when there is cloud cover.
Sentinel-3 thermal data and Sentinel-5P atmospheric data, at the resolutions specific to these products.
The data is not a continuous video stream. Interpretation depends on resolution, season, clouds and the time of observation. InSAR displacement analyses require a separate stream, currently in development.
FlowMind in detail
FlowMind is an aggregation layer for a territory: it gathers into a single operational map what can be read about a city from public sources — Copernicus satellite imagery, OpenStreetMap geometry, public traffic cameras, incidents, weather — and shows next to each layer where it comes from and when it was last read.
The rule it is built on is called ZERO FALSE DATA in code: when a source does not respond, the platform writes OFFLINE and the reason, and does not fill the gap with a plausible value. There is an automatic guard, `noFakeLive`, which refuses to mark a layer LIVE without proof of a successful read. In today’s check it reports zero violations.
We do not have satellites. We work through Copernicus Data Space Ecosystem, with OAuth2 client_credentials credentials on identity.dataspace.copernicus.eu, and we request processed products through the Sentinel Hub API. What this means in practice: resolution, revisit frequency and clouds belong to the mission, not to us, and are visible in the text.
Sentinel-2 MSI at 10 m in three variants (true colour from B04/B03/B02, NDVI from B08/B04, NDWI from B03/B08), Sentinel-1 C-SAR VV/VH ratio at 10 m, Sentinel-3 SLSTR thermal band S8 at ~1 km and Sentinel-5P TROPOMI NO₂ at ~3.5 × 5.5 km. The collections requested in Sentinel Hub are `sentinel-2-l2a`, `sentinel-1-grd`, `sentinel-3-slstr` and `sentinel-5p-l2`.
Sentinel-2 requests filter scenes with over 40% cloud cover, and in the evalscript pixels marked by the SCL band as cloud, cloud shadow, cirrus or snow (classes 3, 8, 9, 10, 11) are returned transparent. An empty pixel means “we have not observed here”, not “there is nothing here”.
Sentinel-1 passes through clouds and works at night, at 10 m, with a revisit of about 6–12 days. It is single-scene screening, not interferometry: the VV/VH ratio shows surface and moisture differences, not millimetric movements.
538 mapped road infrastructure points from OpenStreetMap (245 traffic lights, 174 pedestrian traffic lights, 61 radars, 58 cameras) and a prober that actually tests each camera stream and writes the reason when one fails.
The 3D map drapes the government orthophoto from geodata.gov.md (WMS, Agency of Geodesy, Cartography and Cadastre) over a terrain model from AWS Open Data terrarium tiles, rendered with MapLibre GL. Zero API keys, zero display cost.
Satellite tracks are propagated from CelesTrak TLE elements with `satellite.js` in process, with orbital data age marked fresh / stale / expired. It is a sky map, not an imagery product.
Data and operation
From exploration to implementation
What is the territory, what does the team want to track (vegetation, water, land, air, infrastructure) and at what scale is the decision made. The resolution suitable for a district does not describe a plot.
We check which cameras, geoportals, transport flows and public registers actually exist and respond. Each source enters the platform with its licence, attribution and status; those that do not respond remain visible as OFFLINE with the reason, they do not disappear from the list.
An OAuth2 client is created in the Sentinel Hub Dashboard from CDSE and `CDSE_CLIENT_ID`, `CDSE_CLIENT_SECRET` and `CDSE_INSTANCE_ID` are set in the application environment. The quota of 30,000 PU/month remains the client's, which means that they see it and control it.
Installation is carried out on the client's server (Next.js under systemd, nginx in front). The acceptance check is `/api/worldview/source-health`: if `noFakeLive` reports any violation, the installation is not finished.
The current reference installation runs over HTTP without TLS and without read authentication. For a publicly exposed deployment, TLS and authentication are separate works, explicitly planned — they are not assumed to be included.
Sentinel-1, Sentinel-2, Sentinel-3 and Sentinel-5P, through Copernicus Data Space Ecosystem. In code the collections are called exactly `sentinel-1-grd`, `sentinel-2-l2a`, `sentinel-3-slstr` and `sentinel-5p-l2`. We do not have our own satellites and we do not buy commercial high-resolution images — if you need 30 cm, that is a different discussion and a different provider.
No, and no one can give you that with Sentinel. Sentinel-2 passes over the same place roughly every 5 days, Sentinel-1 every 6–12 days, and the product needs processing time. That is why the default window of the layers is the last 7 days, ending yesterday. What you receive is the best available scene in the requested interval, with its declared date.
Optics is lost. We filter scenes with over 40% cloud cover and mask the pixels marked by the SCL band as cloud, shadow, cirrus or snow — they appear transparent, not invented. When optics cannot help, Sentinel-1 remains: radar passes through clouds and works at night, at the cost that its reading is different — it sees roughness and moisture, not colour.
No. That requires InSAR: pairs of scenes, precise orbits, DEM and phase unwrapping. In code this product is listed with the status `requires_pair_processing` — meaning declared as not implemented, not hidden. What we do instead: screening. There is a landslide triage module that presents itself as `flowmind-landslide-screening-v0`, heuristic, with the warning written in the API response that it is not confirmed detection.
Few, and it is better to hear it from us. A proprietary OSINT survey from July 2026 found a ceiling of approximately 34 live public road cameras across the whole country — 12 ANDSA plus 22 at the border. At today’s check, out of 116 surveyed streams, 13 were responding, all refreshed JPEG images, zero video streams. The rest are declared for the following reasons: expired subscription, rotated token, missing folder, inaccessible port. If someone promises you 150 cameras in Moldova, ask for the list.
No, and there is no way to do so in the current form. The 245 traffic lights are mapped as points in the data, from OpenStreetMap — the platform sees them on the map, it does not command them. Active control would mean integration with the physical controllers and safety responsibility, which is a separate project, with other partners.
No. There is no trained model in the repository and no machine learning code is called by the application; the `ml/gnn` and `ml/forecasting` directories are empty. The RL and GNN architecture in ARCHITECTURE.md is the target, marked as such in that very file.
The standard Copernicus account comes with 30,000 processing units and 30,000 requests per month, free of charge. Each requested tile uses some of them. The platform reduces consumption through cache (30 minutes in memory, 24 hours in response) and through limits on request size and interval, but it does not have a quota counter — if the installation has high public traffic, metering and a paid plan are things to decide beforehand, not afterwards.
Illustrative example
A use case, without client data or attributed commercial results.
A town hall receives a report that forest was cut in a hard-to-reach area and wants to know whether it is worth sending a team.
The Sentinel-2 NDVI layer is requested over the area bounding box, for a window before the report and a recent one — maximum 31 days each, with a 40% cloud filter. Pixels marked as cloud or shadow by the SCL band remain transparent. If both windows are cloudy, it switches to Sentinel-1 VV/VH, which passes through clouds. Overlaying with the OSM geometry shows whether the area with the low value is indeed forest and on which parcel it falls.
A dated pair of images, at 10 m, with the outline of the area where the vegetation index dropped between the two windows, and with the approximate area of that zone. A 10 m pixel means that a cut below approximately 0.1 ha cannot be distinguished from noise — you see a parcel, not a tree.
What is required:A Copernicus Data Space account with an OAuth2 client (free) and a time window in which there is at least one scene with clouds below the threshold. The result is a reason for field verification, not a legal finding.
Collaboration possibilities
Analysis of satellite images and indicators for planning, environment or agriculture, with mention of the resolution, date and limits of each source.
We define a pilot around a real process: users, data, integrations, costs and acceptance criteria. Expansion follows after evaluating the result.
We establish the requirements for accessibility, hosting, data protection and interoperability. Any connection to AGE or STISC services requires validation of eligibility, access and approvals.
These are adaptation scenarios, not statements about existing contracts or partnerships. The proposed functions are confirmed within the project scope.
Discuss a pilotSee how we use Copernicus observations and how we explore satellite orbits.
Cronberry brings authoritative sources, conversations and relationships together in one space for research and coordination.
Development & demonstrationsWe are developing 3D representations of the city that combine terrain, maps and data about the built environment.
Prototype & researchsesizari.md organises reports about public space: location, category, description and the relevant material.
Public platformTell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.