We choose the area
We define the territory, the period and the question: vegetation, water, land or urban context.
Inteligență geospațială Implementare specializată
FlowMind organises maps, public sources and Copernicus products into one space for analysis. We move from a background image to layers that carry a source, a date, a sensor and stated limits of interpretation.
FlowMind
We define the territory, the period and the question: vegetation, water, land or urban context.
We use the optical, radar, thermal and atmospheric products that suit the question.
We show the layers on the map and keep the context an informed decision needs.
Sentinel-2 and indices such as NDVI and NDWI, for exploring change.
Sentinel-1 completes the optical picture, including when there is cloud cover.
Sentinel-3 thermal and Sentinel-5P atmospheric data, at the resolutions specific to those products.
The data is not a continuous video feed. Interpretation depends on resolution, season, cloud and the moment of observation. InSAR displacement analysis needs a separate pipeline, still in development.
FlowMind in detail
FlowMind is an aggregation layer for a territory: it gathers into one operational map everything that can be read about a city from public sources — Copernicus satellite imagery, OpenStreetMap geometry, public road cameras, incidents, weather — and shows beside every layer where it came from and when it was last read.
The rule it is built on is called ZERO FALSE DATA in the code: when a source does not answer, the platform writes OFFLINE and the reason, instead of filling the gap with a plausible value. There is an automatic guard, `noFakeLive`, that refuses to mark a layer LIVE without proof of a successful read. At today's check it reports zero violations.
We do not own satellites. We work through the 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 that means in practice: the resolution, the revisit frequency and the clouds belong to the mission, not to us, and they are stated 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 from Sentinel Hub are `sentinel-2-l2a`, `sentinel-1-grd`, `sentinel-3-slstr` and `sentinel-5p-l2`.
Sentinel-2 requests filter out scenes above 40% cloud cover, and in the evalscript the pixels the SCL band marks as cloud, cloud shadow, cirrus or snow (classes 3, 8, 9, 10, 11) are returned transparent. An empty pixel means "we did not observe here", not "there is nothing here".
Sentinel-1 passes through cloud and works at night, at 10 m, with a revisit of roughly 6–12 days. It is single-scene screening, not interferometry: the VV/VH ratio shows differences in surface and moisture, not millimetre displacements.
538 road infrastructure points mapped from OpenStreetMap (245 traffic lights, 174 pedestrian lights, 61 speed cameras, 58 cameras) and a prober that genuinely tests every camera stream and writes down the reason when one drops.
The 3D map drapes the government orthophoto from geodata.gov.md (WMS, served by Moldova's geodesy, cartography and cadastre agency) over a terrain model built from the terrarium tiles on AWS Open Data, rendered with MapLibre GL. Zero API keys, zero cost per view.
Satellite trajectories are propagated from CelesTrak TLE elements with `satellite.js` in process, with the age of the orbital data marked fresh / stale / expired. It is a map of the sky, not an imagery product.
Data and operation
From exploration to deployment
What the territory is, what the team wants to follow (vegetation, water, land, air, infrastructure) and at what scale the decision gets taken. A resolution that suits a district does not describe a single plot.
We check which cameras, geoportals, transport feeds and public registers actually exist and answer. Every source enters the platform with its licence, its attribution and its state; the ones that do not answer stay visible as OFFLINE with the reason, they do not vanish from the list.
An OAuth2 client is created in the Sentinel Hub Dashboard inside CDSE, and `CDSE_CLIENT_ID`, `CDSE_CLIENT_SECRET` and `CDSE_INSTANCE_ID` go into the application's environment. The quota of 30,000 PU/month stays the client's own, which means the client sees it and controls it.
The installation goes onto a server belonging to the client (Next.js under systemd, nginx in front). The acceptance check is `/api/worldview/source-health`: if `noFakeLive` reports so much as one violation, the installation is not finished.
The current reference installation runs on HTTP without TLS and without authentication on read. For a publicly exposed deployment, TLS and authentication are separate pieces of work, planned explicitly — they are not assumed to be included.
Sentinel-1, Sentinel-2, Sentinel-3 and Sentinel-5P, through the Copernicus Data Space Ecosystem. In the code the collections are named exactly `sentinel-1-grd`, `sentinel-2-l2a`, `sentinel-3-slstr` and `sentinel-5p-l2`. We have no satellites of our own and we do not buy high-resolution commercial imagery — if you need 30 cm, that is a different conversation and a different supplier.
No, and nobody can give you that with Sentinel. Sentinel-2 passes over the same place about every 5 days, Sentinel-1 every 6–12 days, and the product needs processing time. That is why the default window for the layers is the last 7 days, ending yesterday. What you get is the best scene available in the interval you asked for, with its date stated.
The optical view is lost. We filter out scenes above 40% cloud and mask the pixels the SCL band marks as cloud, shadow, cirrus or snow — they come back transparent, not invented. When optical cannot, Sentinel-1 remains: radar passes through cloud and works at night, at the price of being read differently — it sees roughness and moisture, not colour.
No. That takes InSAR: pairs of scenes, precise orbits, a DEM and phase unwrapping. In the code this product is listed with the status `requires_pair_processing` — declared as not implemented, rather than hidden. What we do instead: screening. There is a landslide triage module that introduces itself as `flowmind-landslide-screening-v0`, heuristic, with the warning written into the API response that it is not confirmed detection.
Few, and you are better off hearing it from us. An OSINT survey of our own from July 2026 found a ceiling of roughly 34 public road cameras live in the whole country — 12 of them ANDSA, plus 22 at the border. At today's check, out of 116 streams probed, 13 answered, all of them refreshed JPEG stills, zero video feeds. The rest are declared with the reason: expired subscription, rotated token, folder gone, port unreachable. If somebody promises you 150 cameras in Moldova, ask them for the list.
No, and in its present form it could not. 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 liability for safety, 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.
A standard Copernicus account comes with 30,000 processing units and 30,000 requests a month, free of charge. Every tile requested draws on them. The platform cuts consumption through caching (30 minutes in memory, 24 hours in the response) and through limits on the size and the interval of a request, but it has no quota counter — if the installation carries heavy public traffic, metering and a paid plan are things to decide beforehand, not afterwards.
Illustrative example
A usage scenario, with no client data and no commercial results attributed.
A local council receives a report that forest has been felled in an area that is hard to reach, and wants to know whether sending a team out is worth it.
The Sentinel-2 NDVI layer is requested over the bounding box of the area, for one window from before the report and one recent window — at most 31 days each, with a 40% cloud filter. Pixels marked cloud or shadow by the SCL band stay transparent. If both windows are cloudy, we switch to Sentinel-1 VV/VH, which passes through cloud. Overlaying the OSM geometry shows whether the area with the lowered value really is forest, and which parcel it falls on.
A pair of dated images, at 10 m, with the outline of the area where the vegetation index dropped between the two windows, and the approximate surface of that area. A 10 m pixel means that a clearance below roughly 0.1 ha cannot be told apart from noise — you see a parcel, not a tree.
Ce este necesar:Un cont Copernicus Data Space cu client OAuth2 (gratuit) și o fereastră de timp în care există măcar o scenă cu nori sub prag. Rezultatul e un motiv de verificare în teren, nu o constatare legală.
Ways of working together
Analysis of satellite imagery and indicators for planning, environment or agriculture, stating the resolution, the date and the limits of every source.
We define a pilot around one real process: users, data, integrations, costs and acceptance criteria. Expansion follows once the result has been assessed.
We establish the requirements for accessibility, hosting, data protection and interoperability. Any connection to services run by Moldova's e-Governance Agency (AGE) or its state information-technology service (STISC) requires eligibility, access and approvals to be validated.
These are adaptation scenarios, not statements about existing contracts or partnerships. The proposed capabilities are confirmed within the project's scope of work.
Discută un pilotSee how we use Copernicus observations and how we explore the orbits of satellites.
Cronberry aduce împreună surse autorizate, conversații și relații într-un spațiu de cercetare și coordonare.
Dezvoltare & demonstrațiiDezvoltăm reprezentări 3D ale orașului care combină relief, hărți și date despre spațiul construit.
Prototip & cercetaresesizari.md organizează sesizările despre spațiul public: loc, categorie, descriere și materiale relevante.
Platformă publicăTell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.