sentinel-to-atproto
Cloudflare worker to store Sentinel-2 metadata records on ATProto
This project automates the process of sharing satellite imagery metadata on a decentralized social network. Specifically, it takes catalog records about Copernicus Sentinel-2 satellite images (which are freely available Earth observation data) and publishes them to ATProto, the open protocol that powers Bluesky and other decentralized social platforms.
Here's how it works at a high level: The project runs as a Cloudflare Worker, which is a lightweight cloud service that can execute code on a schedule or when triggered. When activated, it connects to a STAC catalogue—a standardized way of organizing and describing satellite imagery—and pulls metadata about the latest Sentinel-2 satellite observations. It then logs into an ATProto account (like a Bluesky account) and publishes those records as posts or structured data on the network. The worker remembers which records it has already published, so it doesn't create duplicates.
Someone building a project that relies on fresh satellite data—say, a climate monitoring app, an agricultural analytics tool, or a disaster response platform—might use this to automatically broadcast when new Earth observation data becomes available. Rather than manually checking catalogues or building a custom notification system, they'd have a bot posting updates to a social platform that their team and other interested developers follow. It's a bridge between the scientific data world and decentralized social media.
The project is written in TypeScript and designed to be deployed and managed through Cloudflare's tooling. You set it up by creating a storage namespace for state, configuring your Cloudflare account credentials and Bluesky login details in environment variables, then deploying it. The README includes commands for running it locally during development and pushing it live.