Cities are nature, organised.

Understanding why. Visualising where. Engineering how.

I grew up in the Canary Islands, where water, land and energy are visibly finite. Where does a city hide its limits?

I build spatial intelligence: maps, models and tools that help people understand places and make decisions. My work connects spatial data science, AI and environmental science.

My route since: environmental science in Granada, urban sustainability in Barcelona, circular-city research in Amsterdam, spatial data and technology in London.

For contract work, team roles and research collaborations.

Fig. 0 · Sequenceillustrativesourced

Where I learned to read a city

Orthographicscale variesno scale bar04Amsterdam05London01Canary Islands03Barcelona02Granada
  1. Also: Software Engineering Immersive, General Assembly, a 480-hour full-stack programme.

  • Illustrative line: a professional sequence, not a travelled route
Five places, in the order I first studied or worked in them. Approximate city-centre coordinates in WGS84. The line records a professional sequence, not a travelled route.Stations: my own record, approximate city centres. Coastlines: Natural Earth 1:110m land, with the Canary Islands from the 1:50m tier; public domain. Orthographic projection; scale varies, so no scale bar.
Sources and evidencesourced
On screen now

One place, seven questions

How I read a city.

Soho and the West End, chosen for recognisable streets, mixed uses and published movement evidence, not because they are London’s busiest. At each scale I ask one question and draw what answers it.

How sure is each answer?

  • observedSolid lineMeasured directly: a sensor, a survey or a walk.
  • sourcedSolid line with a source tickTaken from a named, dated dataset someone else maintains.
  • derivedLong dashCalculated from observed or sourced layers by a stated rule.
  • modelledShort dashPredicted by a model, with its validation scheme and limits stated.
  • inferredDotted lineAssumed from context, with the assumption written down.
  • illustrativeHatch or halftoneDrawn to explain, not to measure.
  • not knownFog stippleLeft as fog, never given a value.

Every plate and stage layer carries one of these marks. A limit is part of the answer.

  1. 01 · From orbit

    Remote sensing

    Where should I look closer?

    Surface heat varies across London.

    Fall from the Earth into London, then hold on its vegetation and surface heat.

    Two satellite readings of London: Sentinel-2 vegetation on 25 August 2025, then one Landsat 9 surface-temperature overpass on 10 July 2025, to show where to look closer. At Metabolic I trained a Sentinel-1 radar land-use classifier for a project commissioned by the European Environment Agency; it is not drawn here.

    RadarSentinel-1C
    Where has water or the ground changed?
    OpticalSentinel-2C
    What covers the land, and how is vegetation changing?
    ThermalLandsat 9
    Which surfaces are hotter?
    AtmosphericSentinel-5P
    How does the wider atmosphere vary?

    Each sensor is one pass on a different date, and heat here is surface, not air, temperature.

    Explore Shaping Cool CitiesOngoing research

    How this view is made: 01 · From orbit
    Inputs in my practice
    Sentinel-1 radar · Sentinel-2 optical and NDVI · Landsat 9 surface temperature · Google Earth Engine · STAC catalogues
    Lens
    Remote sensing and land-cover classification

    The Earth from NASA Blue Marble, Black Marble and cloud composites; a June–August 2025 locally cloud-screened Sentinel-2 regional composite precedes London and Soho from Copernicus Sentinel-2 (25 August 2025, native true-colour pixels 10 m). The same date's red and near-infrared surface reflectance yields NDVI, shown on a clipped −0.2 to 0.8 colour scale. Landsat 9 Collection 2 Level-2 supplies a separate land-surface-temperature overpass from 10 July 2025 at 10:52 UTC. Its 100 m thermal observations are delivered on a 30 m product grid, not independent 30 m measurements; colours clip at 18–45 °C. The provider's uncertainty band has a median of about 3.3 K in Soho. These are surface retrievals at one moment, not air or individual-building temperatures, pedestrian comfort, building heat loss or forecast climate risk. Source quality masks retain missing pixels; no thermal sharpening or local field calibration is claimed. Four representative satellite missions illustrate radar, optical, thermal and atmospheric sensing. A dated CelesTrak GP snapshot is propagated with SGP4 for one shared 7 October 2026 replay, 08:33–14:33 UTC, at 30 times speed. Tracks are modelled Earth-fixed paths, not live or precision ephemerides. Craft shape, scale, attitude and nominal sensor fields of view are illustrative. The opening rotation is a view transform shared by Earth and tracks. One Earth-fixed cloud field accompanies the changes of scale and projection, with illustrative drift and depth. It is not observed weather. No separate radar or atmospheric product is loaded; the annual embeddings are learned features, not sensor measurements. The preserved surface-cover proxy is separate from the satellite temperature product and is not measured temperature.

    Related portfoliosIndustryAcademic

  2. Britain

    A city begins beyond its boundaries.

    London draws on land, water, energy and materials from far beyond its streets. Start with the landscape around it.

  3. South-east England

    Follow the Thames.

    River catchments and daily journeys connect London to its region. Keep the river in view as we move towards the city.

  4. London

    London is a city of journeys.

    Find the Thames, then the West End. Homes, jobs and destinations connect each neighbourhood to a wider pattern of movement.

  5. London · Vegetation

    Read London through its vegetation.

    Red and near-infrared measurements reveal a vegetation index. Trace the parks and river corridor, then ask where planting, shade and access need closer investigation.

  6. London · Surface heat

    Surface heat has a geography.

    One Landsat overpass on 10 July 2025 maps land-surface temperature. The plate below compares two local 250 m samples, read from about 33 m display cells nearest-resampled from 100 m thermal pixels.

    Land-surface temperature, 10 Jul 2025; colours clip at 18 and 45 °C

    Plate I · Measurederivedsourced

    One overpass: a 250 m sample in Soho reads 6.6 °C above a 250 m sample in Regent’s Park.

    Landsat 9 · 10 Jul 2025, 10:52 UTC · about 33 m display cells, nearest-resampled from 100 m thermal pixels · two 250 m-radius local samples, not whole-park, whole-Soho or land-cover statistics

    • 250 m-radius local sample

    Median, quartiles and median per-cell provider uncertainty (a retrieval value per cell, not a confidence interval for the median or the difference)

    Regent’s Park
    36.7 °C · 35.8 to 37.5 °C · 2.4 K
    Soho
    43.3 °C · 42.8 to 43.7 °C · 3.3 K

    One native Landsat thermal pixel, 100 m across, at the same scale. Each value mixes several roofs, streets and trees.

    Land-surface temperature, display palette 18 to 45 °C, ticked at the two medians; the values shown lie between 29.5 and 44.7 °C.

    The quartile ranges do not overlap. One overpass: a descriptive contrast, not a significance test or a cooling effect.

    Cannot say: air temperature, which building is hot, or that the park cools Soho.Landsat Collection 2 Level-2 image courtesy of the U.S. Geological Survey, public domain. Sample centres and building outlines © OpenStreetMap contributors, ODbL 1.0.
  7. London to the West End

    Closer views need different evidence.

    Satellites reveal broad patterns across the city. For roofs and streets, we turn to finer aerial photography from 2007–08, then mapped geometry. The question changes with the scale.

  8. Piccadilly Circus to Soho

    One place, many purposes.

    An aerial from 2007–08 brings Piccadilly into focus. Follow Soho’s mapped streets into the buildings and journeys that connect work, commerce and everyday life.

  9. 02 · Water and ground

    Environmental science

    What does the ground decide before anything is built?

    Tidal flood zones touch only the Soho frame’s south-east corner.

    The 2007–08 photograph gives way to LiDAR returns, the ground surface and the Thames flood zones.

    Here the Environment Agency’s 2022 LiDAR gives the ground its shape, and its Flood Zones 3 and 2 give the likelihood of flooding from the tidal Thames, ignoring defences. My BSc in Environmental Sciences at the University of Granada gave me my grounding in environmental systems.

    Plate II · Locatemodelledsourcednot known

    Tidal flood zones line both banks of the Thames; within the Soho frame they touch only its south-east corner. Surface water, the question these streets still raise, is not loaded.

    Environment Agency Flood Map for Planning · Flood Zones 2 and 3 from the sea (tidal Thames) · ignoring defences · retrieved 12 Oct 2026

    • Zone 3: 0.5% or more a year from the sea, ignoring defences
    • Zone 2: 0.1% to 0.5% a year from the sea, ignoring defences
    • Thames, mapped water
    • Surface-water flooding: not loaded. Fog means not known, not safe.

    Cannot say: depth, a flood event, the effect of defences, or surface-water risk.© Environment Agency copyright and/or database right 2026. All rights reserved. OGL v3.0, retrieved 12 Oct 2026. Buildings, streets and the Thames © OpenStreetMap contributors, ODbL 1.0.

    Flood zones give likelihood, ignoring defences, and no depth; surface water is not loaded. The 2007–08 aerial and the 2020 and 2022 LiDAR are separately dated; none shows current conditions.

    Explore BSc Environmental SciencesFaculty of Sciences, University of Granada

    How this view is made: 02 · Water and ground
    Inputs in my practice
    AlphaEarth Foundations annual embeddings · Environment Agency LiDAR · OpenStreetMap water and green space · Environment Agency Flood Zones 3 and 2
    Lens
    Urban ecology

    Historical Environment Agency aerial photography, surveyed in 2007–08 at native 0.4 m, sharpens the neighbourhood in the same BNG frame. It is not current street or building conditions. Then three of AlphaEarth's 64 learned dimensions (A01, A16 and A09) from its 2024 annual dataset, native 10 m, mapped to RGB on the same British National Grid frame, shown as discrete cells with the geographic ground retained beneath. These colours are not land classes, materials, temperature or an EPC assessment. A relief map from Environment Agency LiDAR (2022, 1 m) is classed with OpenStreetMap water, streets and green space. The Environment Agency’s Flood Zones 3 and 2 (Flood Map for Planning, OGL) show modelled likelihood extents that ignore defences, not depths or an event; every zone in this frame is from the sea, the tidal Thames. Surface-water flood risk is not loaded. An H3 hexagon grid briefly marks the frame at the resolution in view. Measured LiDAR returns (2020), spatially thinned for display, gain height derived relative to the separately dated 2022 ground product. The 2022 surface-minus-ground raster then rises in the same held view before a shared sweep introduces footprint-based volumes. This is a comparison of separately dated products, not triangulation of the 2020 returns into the 2022 surface. Neither establishes surveyed facades or materials. People, traffic and birds are illustrative; the birds fly over mapped green-space anchors. The sun's colour and, where it shows, a faint haze beyond the subject follow a standard clear atmosphere (Takram three-atmosphere, after Bruneton, 2017), not London's air on any day; neither is calibrated.

    Related portfoliosAcademic

  10. Learned patterns · 2024

    Three of AlphaEarth’s 64 learned dimensions, shown as colour.

    They are not land classes, materials, temperature or an EPC assessment.

  11. Measured returns · 2020

    LiDAR reveals the city’s form.

    Blue building returns and green vegetation gain height relative to a separately dated ground model. Each dot is a retained laser return; these classes do not identify building materials.

  12. Derived surface · 2022

    Give the measurements a surface.

    A separately dated surface and ground model describe height above ground. It shares the horizontal frame with the returns, so we can compare their shapes without pretending they are one survey.

  13. Mapped footprints · inferred volumes

    Turn form into a model we can question.

    Mapped footprints organise the city into building volumes. The sweep makes that change explicit: a model needs stated height and fabric assumptions before it can support energy, shade or retrofit decisions.

  14. 03 · Materials

    Urban metabolism

    What has this city stored, and what can stay in use?

    Every block is a stock of materials.

    Mapped footprints rise into estimated volumes: the building stock of these blocks.

    With Metabolism of Cities, I co-authored the CityLoops circularity method, as one of four named authors, and mapped estimated building material stock for Apeldoorn and Bodø. The volumes here are a simpler estimate of stock.

    Plate III · Comparesourcedinferred

    Around Piccadilly Circus, 286 of 507 buildings have no mapped height; the model gives each two storeys.

    OpenStreetMap buildings, 7 Oct 2026 · levels mapped (solid outline) or assumed at two storeys (dotted outline, flat tint) · counted by footprint centre (mean of the ring's vertices) inside this plan

    • Levels mapped
    • Levels assumed: two storeys

    Across the whole Soho frame, 1,496 of 3,854 buildings have assumed heights. The London Pavilion, chapter 04, has four mapped levels.Cannot say: what any building is made of, its age, or its real height where levels are assumed.© OpenStreetMap contributors, ODbL 1.0, retrieved 7 Oct 2026.

    Footprints and levels give a volume estimate, not a material inventory.

    Explore CityLoops: Urban Circularity AssessmentCompleted research

    How this view is made: 03 · Materials
    Inputs in my practice
    OpenStreetMap buildings · Overture maps · Eurostat material-flow accounts
    Lens
    Urban metabolism and economy-wide material-flow analysis

    Historical 2007–08 aerial photography remains registered beneath the mapped volumes, then fades into the walking print. It is a separate dated ground reference, not a contemporary building texture or facade survey. Building footprints extruded by recorded levels, levels derived from mapped height at 3.2 m per storey, or a declared two-storey fallback. Material strings are retained where OpenStreetMap records them. Facades are drawn from each building's mapped use in OpenStreetMap (homes, shops and offices, sheds, schools): illustrative, not surveyed. Piccadilly's fountain, curved illuminated frontage and Pavilion provide recognition cues at mapped locations, with illustrative architectural detail and abstract screen graphics. Historic England describes Pavilion's facade as stucco faced; this is separate from its OSM stone tag. Neither establishes the building's material quantities or assemblies. Not a material audit. People, traffic and birds are illustrative. The sun's colour and, where it shows, a faint haze beyond the subject follow a standard clear atmosphere (Takram three-atmosphere, after Bruneton, 2017), not London's air on any day; neither is calibrated.

    Related portfoliosIndustryAcademic

  15. 04 · One building

    Urban heat research

    How much do we need to know about a building before trusting a model?

    Fabric decides how much heat passes through.

    The London Pavilion comes close; example insulation and glazing change its calculated heat flow.

    My master’s in Sustainable Intervention in the Built Environment at UPC studied how buildings and cities can be transformed sustainably, including their flows of energy. Here one building keeps its mapped form and an assumed construction.

    Plate IV · Measuresourcedinferredmodelled

    With its mapped form and an assumed fabric, example insulation and glazing cut calculated heat flow by about three-quarters.

    OpenStreetMap footprint, 7 Oct 2026 · declared example fabric · steady transmission, Q = U × A × ΔT at 15 K

    Example fabricU, W/m²KkW at ΔT 15 K
    Walls 1,335 m² opaque
    Before: 0.215 m masonry2.13442.7
    After: + 0.12 m insulation0.2575.1
    Roof 955 m²
    Before: deck + 0.03 m insulation1.02214.6
    After: + 0.12 m insulation0.2273.3
    Glazing 445 m², 25% of walls
    Before2.818.7
    After1.49.3
    Total transmission76.1 kW to 17.7 kW

    U in W/m²K to three decimals; kW computed from unrounded U-values and areas.

    • Mapped footprint
    • Before: example fabric
    • After: added insulation and glazing

    Plan: roof 955 m², perimeter 139 m; four mapped levels at an assumed 3.2 m, 12.8 m.

    Cannot say: what the Pavilion is really built from, its energy use, ventilation, solar gains or an EPC rating.Footprint © OpenStreetMap contributors, ODbL 1.0. Assemblies and U-values are declared examples on this site.
    AirflowIdealised model
    A lifted plan diagram shows a 3 m/s free stream around an enclosing circle, with no turbulence or local calibration.
    FabricExample assemblies
    Example roof: 150 mm deck and 30 mm insulation. Scroll adds 120 mm insulation to roof and walls and changes glazing.

    The construction is an example, not a survey; the calculation is declared and not calibrated.

    Explore MSc Sustainable Intervention in the Built Environment (MISMeC)Vallès School of Architecture, Universitat Politècnica de Catalunya

    How this view is made: 04 · One building
    Inputs in my practice
    OpenStreetMap footprints and levels · Historic England architectural description · Declared example assemblies · Analytical potential flow · Computed solar position
    Lens
    Building stock, steady envelope transmission and idealised airflow

    London Pavilion at Piccadilly Circus is selected explicitly for the journey. OpenStreetMap records its footprint, four building levels, a stone material tag and one roof level. These are mapped attributes, not a surveyed inventory; extrusion uses 3.2 m per storey. Historic England's listing describes stucco facing, principal nine- and eleven-bay fronts, arches, porticoes and pediments. Its architectural description and the OSM stone tag are distinct evidence. The drawing follows that vocabulary, but all roof, window, column, facade-depth and surface details are illustrative, not surveyed materials or imported BIM. A lifted plan diagram shows the wind reading, which solves steady, two-dimensional inviscid potential flow around a circle enclosing the footprint, with a declared 3 m/s free stream: no turbulence, wake, adjacent buildings or local weather calibration. An inset teaching section separates the declared roof deck and insulation, with thickness exaggerated eight times. These layers are example inputs, not the Pavilion's surveyed construction. The envelope reading calculates Q = U A ΔT from mapped plan and facade areas, treating all facades as external, 25% assumed glazing and a declared 15 K difference. Example wall and roof assemblies gain 0.12 m insulation, changing their resistance and transmission; example glazing U also changes. Warm arrows shorten and fade symbolically with the calculated flux, not measured temperatures. A label on the roof gives the calculated total in kilowatts, marked as an example at the declared 15 K, in step with the column's readout. The calculation excludes floor loss, ventilation, thermal bridging, solar gains and heat storage; it is not an EPC or a measured building-performance result. Shadows follow the computed sun for today's date, not pedestrian comfort. Dotted design moves remain proposals, with no measured cooling benefit. People, traffic and birds are illustrative. The sun's colour and, where it shows, a faint haze beyond the subject follow a standard clear atmosphere (Takram three-atmosphere, after Bruneton, 2017), not London's air on any day; neither is calibrated.

    Related portfoliosIndustryAcademic

  16. 05 · On foot

    Walking and cartography

    Who can move, stop, meet or belong here?

    Walk what the data misses.

    Streets become a riso-style print; illustrative walkers and TfL buses leave ink.

    For a built-environment practice, I designed Twenty Years on the Lower Lea and delivered it collaboratively: a two-hour participatory workshop, a five-stop route map and a 15-page printed companion. I also built Upside Down World, a public atlas and poster-map tool.

    See the Lower Lea route map

    Walkers and their ink are illustrative; buses follow a TfL route snapshot, not live positions.

    Explore Twenty Years on the Lower LeaDelivered commission

    How this view is made: 05 · On foot
    Inputs in my practice
    OpenStreetMap street network · TfL regular-service route snapshot · Field notes and photographs
    Lens
    Psychogeography, space syntax and critical cartography

    The same city becomes a riso print. Drawn walkers leave recent-position ink trails, with two offset plates and paper grain; lights and windows are separate. Walkers and their ink are drawn larger than life so they read at this scale. With reduced motion, a still shows each traced walker's circuit behind it at its declared pace. Streets and building footprints are OpenStreetMap. Declared pavement circuits turn smoothly on two separated directions and are clipped clear of mapped buildings. They are not surveyed or step-free footways. Bus paths and stops come from a dated TfL regular-service snapshot, projected and clipped to this frame; they are not live positions, timetables or current diversions. Thin corridors retain the source paths. Bus driving lanes align to compatible mapped road centres within a declared 6.5-plan-unit bound, then offset left by 1.25 units. This is illustrative lane placement, not TfL lane data. Route plates identify services; short wakes show the drawn buses' recent positions. Cars and cyclists use illustrative major-street circuits. Body-sized clearance, shared 50 ms movement steps, render interpolation, acceleration, braking and yielding govern all street actors; a held walker, car or cyclist turns back along its circuit or steps back to give way, and buses keep their routes, reversing along them only to give way. Bus stop pauses are declared at 4 to 6 seconds. Rear lights brighten with slowing and dwell, on the same pausable clock. The desired population is 14 buses, 120 cars, 44 cyclists and up to 630 walking or lingering people, reduced where clear placement is unavailable. Speeds, lane offsets, counts, age mix, bicycle and pedestrian proportions, traces and bird flights are illustrative, not measured movement or calibrated traffic. Walking circuits stay visible through their rounded turns. Open bus journeys fade at frame exits or source termini; no bus route is closed or joined across a clipping gap. Only sufficiently long mapped above-ground rail routes carry drawn trains; heights are schematic from OSM bridge and layer tags, not surveyed elevations or live services. The sun's colour and, where it shows, a faint haze beyond the subject follow a standard clear atmosphere (Takram three-atmosphere, after Bruneton, 2017), not London's air on any day; neither is calibrated.

    Related portfoliosArtist

  17. 06 · People and places

    Location intelligence

    Who can reach this place, and along which streets?

    Walking reach follows streets, not a circle.

    From a Piccadilly bookshop, walking times follow the streets to a school and a health centre.

    At TJX Europe I automated site-selection, catchment and cannibalisation analysis. Earlier, as an intern at BCNecologia, Barcelona’s urban ecology agency, I developed and mapped a proposal for the city’s home-care service.

    Plate V · Comparederivednot known

    A circle puts the school inside five minutes; along mapped streets it is 5.8 minutes.

    OpenStreetMap walking network, 7 Oct 2026 · declared 1.3 m/s · one band, 5 minutes · clipped at the frame edge

    • Streets within 5 minutes
    • 390 m circle, the same 5 minutes in a straight line
    • Beyond the map edge: not loaded

    Not client work: a mapped Piccadilly bookshop chosen as an example start.Cannot say: crossing delays, steps, slopes, opening hours, or who actually comes. Not client work; not a complete catchment or a count of residents served: the street frame clips every band. Distances include short unvalidated connectors from each place to the street network. This is reach, not demand.© OpenStreetMap contributors, ODbL 1.0, retrieved 7 Oct 2026. Walking distances derived on the mapped street network.

    Not client work. Bands are clipped at the frame edge, so they are not a count of residents served.

    Explore Social SuperblocksCompleted research

    How this view is made: 06 · People and places
    Inputs in my practice
    ONS Census 2021 and the London Output Area Classification · Places and streets from OpenStreetMap
    Lens
    Site selection, gravity models, geodemographics and access to services

    A mapped Piccadilly bookshop anchors 5-, 10- and 15-minute walking-time bands along connected OpenStreetMap streets. Two routes connect it to a school and a health centre. Standard and slower pace are declared scenarios, 1.3 and 0.85 m/s, not assessments of step-free or disability access. Restricted ways are excluded from their tags; crossings, gradients and unrecorded barriers are not assessed. The street frame clips every band, so this is not a complete catchment or a count of residents served. A separate choice reading compares three mapped bookshops from one school-origin example: mapped floor-area proxy divided by squared network distance, normalised only across those three. It is a conditional Huff illustration, not observed shopping behaviour, a forecast, client work or calibrated demand. Quiet, neutral context retains Output Areas with their Census 2021 residents and London Output Area Classification 2021 communities (Singleton and Longley, 2024). People, traffic and birds are illustrative. A small, neutral display selection of the existing modelled day keeps its journeys legible; the full data remains available. Trips have origins and destinations inside the frame and do not establish visitor volumes or exclusion outside it. The sun's colour and, where it shows, a faint haze beyond the subject follow a standard clear atmosphere (Takram three-atmosphere, after Bruneton, 2017), not London's air on any day; neither is calibrated. Towards dusk the model's exposure is raised, at most twice, so it stays readable: a display choice, not the light of the hour.

    Related portfoliosIndustryAcademic

  18. 07 · Intelligence

    Spatial science and software

    What does the next decision still need to know?

    Read it whole, then name the next observation.

    Six readings return to one Soho block; the whole city twin stays in view.

    Six readings of one block stay separate and are never summed into a score. In 2026, as fractional CTO for the early-stage venture CommunityAI, I led architecture, data engineering and spatial modelling for its proof of concept; the engagement ended in October 2026.

    What I still need to know.

    Each reading on the block names the observation that would improve it.

    Illustrative connections. Not a live or validated decision model.

    Bring a place and a question.

    Contact

    Explore CommunityAICompleted engagement

    How this view is made: 07 · Intelligence
    Inputs in my practice
    Every source above · Street-level evidence · VoxCity 3D urban form
    Lens
    Spatial cross-validation; an input model for a twin, not yet verified or validated

    Six readings return to the London Pavilion's block and lift into plates, each the trace layer at the block with its own source and class: Landsat surface-heat display cells (derived); contours every 0.5 m of the Environment Agency's 2022 composite terrain model, which descends below the street at the Circus (sourced); mapped footprints with mapped or assumed levels (sourced and inferred); the declared envelope example after insulation, 17.7 kW at ΔT 15 K (modelled, not calibrated); drawn walker ink on the block's pavements (illustrative); and the streets within five minutes' walk of the mapped Piccadilly bookshop at a declared 1.3 m/s (derived). One schematic spine joins them; the plates are drawn to explain and nothing is summed, scored or ranked. Explore each reading on the same city; the geometry stays intact. The sun's colour and, where it shows, a faint haze beyond the subject follow a standard clear atmosphere (Takram three-atmosphere, after Bruneton, 2017), not London's air on any day; neither is calibrated. Towards dusk the model's exposure is raised, at most twice, so it stays readable: a display choice, not the light of the hour.

    Related portfoliosIndustryFounder / CTO

    Sheet 06How this page is built

    1. Source

      • OpenStreetMapSoho snapshot, 7 October 2026 (ODbL)
      • Environment Agency LiDAR12 December 2020 returns; 2022 composite ground and surface models, 1 m (OGL)
      • Environment Agency aerial photographyHistorical 2007–08 RGB, native 0.4 m pixels (OGL)
      • Copernicus Sentinel-2 L2ASummer 2025 regional mosaic; 25 August London imagery, native 10 m pixels
      • AlphaEarth Foundations2024 annual learned features, 10 m (CC BY 4.0), not physical classes
      • Census and London communitiesCensus 2021 and London Output Area Classification (OGL)
      • NASA Blue and Black MarblePublic domain, via GIBS and Visible Earth
      • CelesTrak orbital elements7 October 2026 SGP4 replay, one shared time preserving relative phases
    2. Build

      • Place geometryMapped buildings and streets registered in British National Grid metres
      • LiDAR surfaces and returnsPlace-specific ground, cover and thinned returns, with registration metadata
      • Compact return subsetSelect existing returns nearest voxel centres; no averaged or invented points
      • Optical imagery and featuresRegistered Sentinel and AlphaEarth display levels; source resolution retained
      • Regional compositeLocally clear summer Sentinel pixels assembled through Earth Engine
      • Historical aerial levelsRegistered RGB previews and detail, with the 2007–08 date preserved
      • Population and journeysCensus inputs and mapped places feed declared, uncalibrated gravity-model trips
      • H3 aggregationH3 v4 cells and footprint shares, rebuilt for the Soho frame
      • Satellite trajectoriesSGP4 samples for four missions on one dated replay clock
    3. Store

      • soho-twin.json1.3 MBLayers in the local frame (ODbL 1.0, from OpenStreetMap)
      • soho-lidar-points.bin.gz5.4 MB1,743,803 retained survey returns
      • soho-lidar-points-compact.bin.gz1.6 MB450,965 existing returns, verified as a subset
      • soho-data.webp878 KBHeight and derived cover classes, stored losslessly
      • soho-orthophoto-2008-detail.avif3.2 MBHistorical aerial detail, approximately 0.45 m display pixels
      • soho-raster-manifest.json4 KBRegistered optical and learned-feature assets, dates and hashes
      • soho-h3.json241 KBResolutions 7 to 11, values at 10 (ODbL 1.0)
      • soho-activity.json736 KBDated population, mapped places and declared trips
      • satellite-orbits.json136 KB7 October 2026, 08:33–14:33 UTC replay at 30 times speed; not live telemetry
    4. Serve

      • Next.js, static assetsDated files loaded progressively; declared calculations run in the browser
    5. Render

      • Three.js WebGPUTSL shaders, adaptive detail and motion cadence, with WebGL 2 and Canvas 2D fallbacks
    6. You

      • Your scrollIt moves the camera. Nothing is streamed live; the files are dated.

    The same shape in my workShaping Cool CitiesPython, Google Earth Engine, GeoPandas, VoxCity

Skip the descent

No one discipline reads a city whole. I learned these readings in universities, a public agency, research consortia and companies, and have used them for a commissioned walk and an early-stage venture.

Map data © OpenStreetMap contributors, available under the Open Database Licence; the model and grid files built from it are shared under the same licence. Contains modified Copernicus Sentinel data 2025. Landsat Collection 2 Level-2 image courtesy of the U.S. Geological Survey. Greater London boundary: Source: Office for National Statistics licensed under the Open Government Licence v.3.0. Contains OS data © Crown copyright and database right 2025. Residents and communities: Census 2021 tables TS001 and TS066 by Output Area, and Output Area boundaries (December 2021). Source: Office for National Statistics licensed under the Open Government Licence v.3.0. Contains OS data © Crown copyright and database right 2025. London Output Area Classification 2021 (Singleton and Longley, 2024). Bus routes: Powered by TfL Open Data. Contains OS data © Crown copyright and database rights 2016. Geomni UK Map data © and database rights [2019]. © Environment Agency copyright and/or database right 2022 (surface models and historical 2007–08 aerial photography), 2020 (point cloud) and 2026 (Flood Zones 3 and 2). All rights reserved. Licensed under the Open Government Licence v3.0. Imagery: NASA Earth Observatory (Blue Marble) and NASA Goddard Space Flight Center (Black Marble), via NASA GIBS; clouds: NASA GSFC, image by Reto Stöckli. H3 index by Uber (Apache 2.0). The AlphaEarth Foundations Satellite Embedding dataset is produced by Google and Google DeepMind, CC BY 4.0. NDVI and land-surface temperature are dated satellite products. Surface-cover and building-stock proxies are derived from mapped geometry, not measured temperatures or material inventories. Building transmission and wind are declared analytical examples. Piccadilly’s architectural detail is illustrative; Historic England descriptions are available under OGL v3. Orbital tracks replay a dated CelesTrak GP snapshot through SGP4; craft geometry, potential sensor coverage, people and birds are illustrative.

Research and industry.

  1. 2026–Oct 2026

    Started with a technical audit and implementation roadmap, then led solution architecture, data engineering, bespoke spatial modelling and software delivery for an early-stage community-intelligence proof of concept. Set technical strategy and introduced provenance, licence governance, spatial validation and reproducible release controls for location-intelligence and media-optimisation questions.

  2. Sep 2023–May 2026

    Delivered geospatial analysis for European markets and built cloud-native workflows connecting loyalty, footfall and demographic evidence. Automated site-selection, catchment and cannibalisation analysis that had required weeks of manual work, and presented the work at the Spatial Data Science Conference 2025.

  3. Feb 2022–Feb 2023

    Researcher and Spatial Data Analyst

    Metabolism of Cities · Horizon 2020 CityLoops, from London

    Co-developed and co-authored CityLoops' Urban Circularity Assessment method. Supported application across five pilots, built Sankey and CARTO outputs, and managed two analysts.

Urban research.

With research consortia and public bodies, I turn urban data into maps and methods for circularity, energy and neighbourhood decisions.

I built a six-city dataset and 3D models to investigate urban heat.

Researcher and developer · Ongoing research

Validation is being rebuilt; temperature predictions and cooling estimates remain unvalidated.

Amsterdam study-area detail from the six-city research figure: the complete first tile, with its city label, grey building geometry, green vegetation and blue water.
Amsterdam study-area detailDerived urban form from the six-city VoxCity figure. Figure: Gerardo Ezequiel Martín Carreño. Declared inputs: EUBUCCO, © OpenStreetMap contributors, FABDEM and High Resolution 1 m Global Canopy Height Maps.
See the six-city study
Six labelled isometric voxel models of Amsterdam, Athens, Barcelona, Berlin, Madrid and Paris, with grey buildings, green vegetation and blue water.
Six study areas, voxelised using VoxCity. Figure: Gerardo Ezequiel Martín Carreño. Declared inputs: EUBUCCO, © OpenStreetMap contributors, FABDEM and High Resolution 1 m Global Canopy Height Maps. Derived urban form; temperature predictions and cooling estimates remain unvalidated.

My contribution

I built a Python pipeline joining Landsat temperature and vegetation, VoxCity 3D city models, Urbanity street networks, Global Streetscapes image semantics and EUBUCCO footprints. I generated voxel models for Amsterdam, Athens, Barcelona, Berlin, Madrid and Paris, and comparative figures for the research presentation. Exploratory XGBoost models and SHAP helped inspect associations. A later audit identified problems in the temperature target and spatial folds; I am rebuilding those stages before publishing performance claims.

Outputs

Six-city voxel models and comparative research figures, a 40,344-cell dataset, a Python pipeline and explorable input maps.

Open the full original figure
Read the case

I co-authored the circularity method and built material-stock maps for Apeldoorn and Bodø.

Co-author and map developer · Completed research

Gerardo’s Apeldoorn map, showing 3D buildings coloured by estimated total material stock, with the stock legend in tonnes.
Buildings coloured by estimated total material stock, in tonnes: pale yellow lowest, dark teal highest. Apeldoorn material-stock map, 2022. Map: Gerardo Ezequiel Martín Carreño. Buildings: 3DBAG; material intensities: Sprecher and colleagues. Basemap: CARTO and OpenStreetMap contributors. Screenshot: 11 October 2026.
Read the case

I developed a territorial proposal for Barcelona’s home-care service using spatial and demographic analysis.

Researcher and spatial data analyst · Completed research

The proposed Social Superblocks in Barcelona, with social-superblock boundaries, mobility superblocks and district boundaries distinguished in the original legend.
Proposed social superblocks (green), each a grouping of mobility superblocks (thin red lines), with district boundaries dashed. Legend, in Spanish: Distritos, districts; Supermanzanas sociales, social superblocks; Supermanzanas de movilidad, mobility superblocks. From Gerardo’s UPC master’s thesis, 2020, p. 29; research developed at BCNecologia, Barcelona’s urban ecology agency. Original map and legend retained.
Read the case

I co-authored the cartography method for nine European pilot cities, connecting local skills, materials and community networks.

Co-author · Completed research

Shared CENTRINNO KUMU demonstrator, mapping exchanges of materials, pooled tools and knowledge between local makers.
Shared KUMU connection-mapping demonstrator by Metabolic and pilot teams, CENTRINNO D2.2, 2022, p. 34, Figure 23. Co-authored deliverable. Basemap: MapTiler and OpenStreetMap contributors.
Read the case
Explore the full work catalogue

Walking and mapping.

I read places on foot, sometimes with others, then take what I notice into maps, print and tools.

I designed the route, print companion and mobile tools for a delivered five-stop walking workshop.

Artist and developer · Delivered commission

Five-stop walking route through Queen Elizabeth Olympic Park, with numbered stops and a map scale.
Five-stop route map for the Lower Lea walking workshop of 13 May 2026: meeting at Hackney Wick station, five stops, then the workshop at Barge East. Map: Gerardo Ezequiel Martín Carreño.
Read the case

I built an atlas and poster maker that makes orientation and projection choices visible.

Artist and developer · Ongoing practice

Upside Down World: London flipped south-up in riso spot inks, exposing north-on-top as a choice rather than a fact.
The same London, south at the top. Orientation changes; the place does not. Basemap: Protomaps, © OpenStreetMap contributors.
Read the case
See the walking and cartographic work

What I can help you build.

From the source data to a tool your team can use, with its limits written down. Explore the outputs and examples for each kind of work.

Spatial data products

Location analysis, data pipelines and software for decisions about sites, audiences and neighbourhoods.

Enough for people. Room for nature.

The Living Section, a method I am developing to ask what people need, what nature can sustain and what a decision still needs to know.

Explore the method

Work together

Bring a place and a question.

Tell me about the role or project, the people it serves and the delivery you need.