Skip to main content

A world, live · tenant: public

London, right now.

Compared with 3 hours ago, central London is quieter. On the 228 cameras within 5 km of Trafalgar Square that reported in both windows, objects per view went 22.5 → 12.8.

Counted on the 267 street cameras within five kilometres of Trafalgar Square, which is a slice of Greater London and not all of it. Every number on this page names the clip it came from and the detector that counted it. One of them is taken all the way to a signed receipt below, and checked.

One answer, all the way down

Ask. Read. Check.

This is what every geo.qa answer is built from. Here it is once, unabridged, for one place.

ask

How busy is Trafalgar Square right now?

answer

3 people and 1 car in view of the Trafalgar Square camera — quieter than usual for this hour (percentile 0.06, CI 0.03–0.10, from 164 earlier readings).

At this hour of day, that is higher than 7 of 164 previous readings at this camera at this hour of day, over the last 30 days.

counts are from ONE camera of 267 within 5000 m. That is an answer about this junction, not about the area.

evidence

clip sha256
9e0abf983f7f9a01efd245852d68b99e64896b7372d5f44455c1853611f00baa
frame
136 of 272, captured 8 min ago
counted by
cpu_detect_coco@4d9812b3db3df883 (fasterrcnn_mobilenet_v3_large_fpn)
camera
tfl_jamcam:tfl-JamCams_00001.06502

The clip is kept and hashed. Fetch it, hash it, decode that frame and run the same detector: the counts must reproduce.

check

✓ valid — ed25519 signature by geoqa, verified offline against the published key. Checked by this page when it was built. It proves the clip above is ours, from that camera, at that time, unaltered. It does not sign the counts — those you check by re-running the detector, as described in the step before.

what was checked
  • ✓
    cryptographic hash — sha256 of the payload's canonical bytes equals payload_sha256
  • ✓
    source identity — the key this receipt names is geo.qa's published signing key
    kid geoqa-2026-06 · geoqa
  • ✓
    cryptographic — ed25519 over the payload's canonical bytes, under the key above
  • ✓
    binding — the envelope's outer schema label equals the schema inside the signed payload
  • —
    binding — the signed payload is the kind the caller expected (not asked: pass expect_schema to pin the kind)
  • ✓
    record lookup (not a proof) — a leaf for this cid exists in geoqa-transparency-v1
    geoqa-transparency-v1 · 0 independent witnesses
    no independent party has co-signed this log's head yet, so a different history shown to someone else would go undetected
    check it yourself: GET /verify/log/proof/26b8780578c3eed5a7726030bb1b825981c688eacd891f8c0ef764fd9d4484b6 -- fold the audit path to the signed root yourself

Signed 2026-10-12 18:25 UTC. Checked by this page 2026-10-12 18:33 UTC.

what this does not establish
  • that the observation is accurate: the signature proves these bytes came from geo.qa unchanged, not that the sensor or the model got the world right
  • that any sentence written about this payload is true: text around a receipt is not signed by it unless it is inside payload
curl geo.qa/api/world-model/verify/by-cid/26b8780578c3eed5a7726030bb1b825981c688eacd891f8c0ef764fd9d4484b6

No key, no account. The same call from your terminal returns the same verdict, and the clip hash checks out on the verify page without a terminal at all.

Twelve places

What each camera saw.

One camera each, as fresh as its last kept clip. A camera showing an operator notice says so rather than counting the notice. This page checked the signature on 12 of 12 clips: the bytes are ours, from that camera, unaltered. It does not check the counts — re-run the named detector on the cited frame for those.

1 kmAldgate32Aldgate — 32 objects in view nowMarble Arch32Marble Arch — 32 objects in view nowOxford Circus30Oxford Circus — 30 objects in view nowElephant and Castle26Elephant and Castle — 26 objects in view nowHammersmith Broadway21Hammersmith Broadway — 21 objects in view nowTower Bridge19Tower Bridge — 19 objects in view nowOld Street10Old Street — 10 objects in view nowCanary Wharf9Canary Wharf — 9 objects in view nowPiccadilly Circus8Piccadilly Circus — 8 objects in view nowHyde Park Corner7Hyde Park Corner — 7 objects in view nowVauxhall Cross6Vauxhall Cross — 6 objects in view nowTrafalgar Square5Trafalgar Square — 5 objects in view now
12 places, positioned by the camera that answered for each. Circle area is what that camera sees now. Click one to read its evidence.

Aldgate

1 person, 30 cars and 1 bus

12 min ago · Whitechapel High St/Mansell St, 115 m away

clip a2c3fb139551… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Canary Wharf

1 person and 8 cars

19 min ago · ASPEN WAY - UPPER BANK STREET, 308 m away

clip f58dc4f62b92… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Elephant and Castle

8 people, 17 cars and 1 truck

22 min ago · Elephant & Castle/Walworth Road, 184 m away

clip 9a78e5e73604… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Hammersmith Broadway

2 people, 18 cars and 1 bus

15 min ago · Hammersmith Bway/Shepherds Bush Rd, 56 m away

clip 174768607c9b… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Hyde Park Corner

6 cars and 1 bus

17 min ago · Hyde Park Corner, 152 m away

clip 8f7e3a3ed8a3… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Marble Arch

10 people and 22 cars

22 min ago · A4202 Park Lane/North Row, 89 m away

clip 93da23c742de… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Old Street

3 people, 5 cars and 2 buses

19 min ago · City Road/Old Street, 67 m away

clip f9a28ea43935… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Oxford Circus

22 people and 8 cars

29 min ago · Regent St/Conduit St, 283 m away

clip 3eec2c653ba0… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Piccadilly Circus

1 person, 5 cars and 2 buses

22 min ago · Piccadilly Circus, 88 m away

clip 7eb0f83dc6f6… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Tower Bridge

10 people, 8 cars and 1 truck

26 min ago · Tooley St/Boss St, 404 m away

clip 3c97dd75050c… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Trafalgar Square

5 people

24 min ago · Trafalgar Square, 128 m away

clip 0639bd2cc3fe… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Vauxhall Cross

2 people and 4 cars

27 min ago · Kennington Lane, 184 m away

clip 574ed959e176… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

What the cameras know jointly

Twelve cameras, and the ground underneath them.

Every camera above stands at a cell. At that same cell the open ledger already holds what the ground is: metres of road, land-surface temperature, particulates, canopy. The cameras say what is moving. Joined, they answer what neither half can — and the two questions people mean by “busy” turn out to have different answers.

Most in frame

Charing Cross Rd/Cranbourne St

32 objects counted

Counting alone. Needs one camera.

Most crowded street

Piccadilly/Whitehorse St

84.1 vehicles per 100 m seen

19 vehicles over 22.6 m of street the camera resolved. Needs the ranges the detector measured.

Charing Cross Rd/Cranbourne St has the most objects in frame; Piccadilly/Whitehorse St has the most vehicles per 100 m of street it can see. Counting answers 'where is there most', dividing answers 'where is it worst', and the second needs the ranges the detector measured. The divisor is the furthest object in each frame, so it is a lower bound on what each camera can see and the densities are upper bounds: some of this difference is where the traffic happened to stand, not how crowded the street is

Breathing it now

Charing Cross Rd/Cranbourne St — 32 people counted, at 6.5 µg/m³ PM2.5.

The camera counts who is standing there; CAMS says what they are breathing. An instant at one junction, not a dose.

Nothing here is averaged into a score. A score hides which half moved. Every number names the two measurements it came from, and an agent reads the same object at /api/worlds/london.

What this page cannot tell you

One junction, not a city.

One camera is one junction

A count is what one camera saw in one frame. It is an answer about that junction, not about the area around it. The trend line at the top compares the same cameras with themselves, which is the only comparison that removes our own sampling.

A park is not a cell

Ask about a place with no camera on it and the honest answer is the distance to the nearest one, not a number. geo.qa says it cannot see rather than inventing a count.

Not everything here is evidence

The counts on the cards and in the answer above come from retained clips, so they can be recomputed; a count from a live frame cannot, once the frame is gone. The trend is different: it is computed over the observation series, and there is no receipt for a trend. What you can check there is its method and its paired-camera reasoning. The detector is named by a function id: only counts sharing one are comparable.

For agents

The same World, as a document.

Everything above, with nothing added, at one URL. No key. Rebuilt about every two minutes, and served from the last build while the next one runs — each panel carries its own age.

curl geo.qa/api/worlds/london
curl geo.qa/api/world-model/verify/by-cid/<receipt cid>

The document also carries the derivation: each step, its inputs by address, who computed it, and how to re-run it without trusting us.

select_cameracamera tfl_jamcam:tfl-JamCams_00001.06502 (nearest with a retained clip) — deterministic_index, computed by geoqa-perception; re-runnable
retain_clipclip bytes, hashed and kept, with a signed receipt over them — direct_sensor, computed by geoqa-perception; re-runnable
detectcounts {"car":1,"person":3} over frame 136 of 272 — deterministic_index, computed by geoqa-perception; re-runnable
compare_to_baselinepercentile 0.058 over n=164 readings, basis hour_of_day, 95% interval [0.031, 0.105] — deterministic_index, computed by geoqa-perception; re-runnable
place_the_readingverdictState=stated (quieter than usual); the interval must be narrower than 0.5 of the range to place a reading — deterministic_index, computed by geo.qa; re-runnable
verify_receiptsignature valid over the clip receipt — attested_execution, computed by geo.qa; re-runnable

The twelve panels were not re-read for this build: the perception service reported its answer unchanged at state:f3cbd286c09d490e693e01bc2513327d, and 13 clock-derived fields were refreshed. That address says two answers are the same reading. It does not say the reading is true, and no signature covers it.

Generated 2026-10-12T18:34:43.025Z. Bring your own cameras, drones or phones and your World gets the same treatment, in its own namespace: write to us.