We held the first TESSERA hackathon over the Indian AI Impact summit in Delhi today, thanks to sponsorship from OpenUK. Despite only announcing it the weekend before, we had a full house of active participants (some of whom came up all the way from Bangalore for the day to attend!).
This is the first TESSERA hackathon I've taken part in outside the UK (where we've had several really fun ones with the IUCN and UNEP-WCMC). It was especially packed because of the massive buzz in Delhi with the summit going on; every hotel in the city was booked out and traffic was gridlocked as 200,000 people descended. We held the hackathon in the lovely India International Centre campus in the centre of Delhi which was a peaceful locale amidst the chaos outside.

1 Learning about CoRE Stack

- The GitHub core-stack-org has the backend service, the landscape explorer web app, and various mobile apps.
- They use GEE to perform the geospatial analyses and then export the rasters into their own pipeline, with a geoserver instance to serve the site. Currently runs only for ROIs for projects, but would like to scale pan-India but depends on compute availability. There's a Django, Celery, GEE, Geoserver, Airflow cloud flow, but we discussed Yirgacheffe and a local machine like we do for LIFE to simplify deployment. Concerns include having to manage on-prem resources (but need to balance this vs cost of cloud resources).
- They have developed a dataflow extension to STAC that extends STAC with lineage tracking, algorithm versioning, and incremental recomputation. This is of great interest to us as we deploy STAC for TESSERA too! See PROPL talk, paper and my notes on STAC-D.
- The CoRE Stack Explorer does more than just mapping; it also generates structured reports about items of concern such as hydrological flows, soil health and other indicators being tracked that are of relevance to the local people in the region. It's open access and browsable, and I enjoyed looking through projects in Andhra Pradesh!
2 Showing TESSERA

- Clone the tessera-interactive-map repo and setup a pip or uv environment from the requirements.txt, and then open up
app.ipynbin VSCode or Jupyter (as you prefer, but I tend to use VSCode as it works better with uv). Then pick an area of interest and try out the labeling workflow directly on your laptop. - Clone Keshav's TESSERA Embeddings Explorer which is a much more feature-rich app but requires a bit more setup. I demonstrated this using the docker-compose file and several people with Docker for Windows got it up and running with a
docker compose up.
While this all went right, the wifi at the venue was pretty slow, so downloading embeddings all the way from Cambridge was pretty slow. I think there are two avenues we need to explore quickly:
- I want to prioritise switching the embeddings to Zarr, and there's a comprehensive thread on the EEG Zulip about how we can go about this. This is on next week's hacking queue, using the ocaml-zarr bindings that Mark Elvers has put together!
- We discussed mirroring embeddings for India to IIT Delhi's servers, which Aadi Seth is going to investigate. I think this will also be easier once we have Zarr, since then a static webserver is all that's needed and even JavaScript clients could fetch the data they need.
- A mobile phone app for TESSERA would be extremely cool, as Sadiq has observed before.
After this, we had a brief period to try out some labeling, but the conversations about exactly what we hack on together will continue on our EEG Zulip channel! There was a lot of discussion about how to store labels, as many of the groups there had ground truth information that they weren't quite sure how to share. I think it would be very valuable to have a general geospatial labeling service that could then export to various specific services like OpenStreetMap or for downstream training.
Thanks OpenUK and the Impact Summit for facilitating this, and for IIT-Delhi and the other participants for the fascinating discussions and hacking!


