Skip to main content

A world, live · tenant: public

London, right now.

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

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. Get a number. Get the bytes. Check the signature.

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

1 person and 1 bus in view of the Trafalgar Square camera quieter than usual for this hour (percentile 0.11, CI 0.060.21, from 71 earlier readings).

At this hour of day, that is higher than 5 of 71 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
ae00c8187da822cf24501eab37c95af4897c192cfd01e93ef9379c44a3b7bbc3
frame
135 of 271, captured 17 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

✓ valided25519 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 hashsha256 of the payload's canonical bytes equals payload_sha256
  • source identitythe key this receipt names is geo.qa's published signing key
    kid geoqa-2026-06 · geoqa
  • cryptographiced25519 over the payload's canonical bytes, under the key above
  • bindingthe envelope's outer schema label equals the schema inside the signed payload
  • bindingthe 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/c8dcbf14d5bac5d6336b8440fe8d26cc0ef97cab3cda6f427edf8767de5cf59b -- fold the audit path to the signed root yourself

Signed 2026-09-19 04:58 UTC. Checked by this page 2026-09-19 05:15 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/c8dcbf14d5bac5d6336b8440fe8d26cc0ef97cab3cda6f427edf8767de5cf59b

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 in its latest kept clip.

These are readings from one camera each, as fresh as its last retained clip. A camera that showed an operator notice instead of a street says so rather than counting the notice. When this page was built it checked the signature on 12 of the 12 clips: proof the bytes are ours, from that camera, at that time, unaltered. That is not the same as verifying the counts — the signature does not contain them. To check a count, fetch the clip and re-run the named detector on the cited frame.

Aldgate

24 cars, 2 buses and 1 truck

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

clip 9bf41df81603… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Canary Wharf

9 cars

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

clip 2ec4e85be1b1… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Elephant and Castle

4 people, 4 cars, 1 bus and 2 trucks

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

clip e071e60c02c2… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Hammersmith Broadway

1 car and 2 buses

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

clip d7d4fdf3e4b0… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Hyde Park Corner

1 car, 1 bus and 2 trucks

24 min ago · Hyde Park Corner, 152 m away

clip 040b029873d7… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Marble Arch

7 people, 3 cars, 2 buses and 1 truck

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

clip 013175071972… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Old Street

2 people

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

clip cf7d617a3c8c… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Oxford Circus

3 people, 4 cars and 3 buses

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

clip ca70a3d22965… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Piccadilly Circus

1 person and 3 cars

24 min ago · Piccadilly Circus, 88 m away

clip adf601d27c9e… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Tower Bridge

10 people, 7 cars and 3 trucks

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

clip b671f183647d… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Trafalgar Square

1 person and 1 bus

17 min ago · Trafalgar Square, 128 m away

clip ae00c8187da8… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Vauxhall Cross

nothing the detector looks for

17 min ago · Vauxhall Cross, 80 m away

clip 807e37959c11… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

What this page cannot tell you

A camera sees a 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 {"bus":1,"person":1} over frame 135 of 271 deterministic_index, computed by geoqa-perception; re-runnable
compare_to_baselinepercentile 0.113 over n=71 readings, basis hour_of_day, 95% interval [0.058, 0.207] 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:3273dcb5a0cb16008237375671c02892, 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-09-19T05:15:28.315Z. Bring your own cameras, drones or phones and your World gets the same treatment, in its own namespace: write to us.