Home

Awesome

node-cupola-bot

The Overview Effect on Twitter! A bot simulating the view from the International Space Station's Cupola module using Mapbox & NASA's VIIRS imagery.

WHAT IS THIS?

Cupola Bot does its best to simulate the Overview Effect from the perspective of the cupola module on the International Space Station (ISS). Every 45 minutes (twice an orbit), it tweets an image of the Earth at the current location of the real ISS, night or day!

<p align="center"> <a href="https://twitter.com/CupolaBot/status/977717014377779200"><img src="images/cupola-bot.png" height="500px"></a> </p>

WHY DID I MAKE THIS?

I recently came across a photo on Twitter of the Earth, taken from the International Space Station's (ISS) Cupola module, a large windowed observatory added to the ISS in 2010. It offers a unique and beautiful perspective of the Earth for astronauts on the ISS, a view I heart-achingly wish I could experience for myself.

But I'd also been thinking lately about satellite imagery and its impact on humankind. We're in this fascinating era of increasingly ubiquituous access to space and space data, and I've been trying to think about its longterm impact on human life, culture and society. The cupola photo above reminded me of the Overview Effect phenomenon, the concept that views from outer space have a transformative ability to positively alter someone's perspective of the planet and humankind.

So I decided to try and create my own Overview Effect in the form of a Twitter bot!

HOW DOES IT WORK?

Cupola Bot is a Node.js project that runs either locally or as a Twitter bot on AWS Lambda.

To crate Overview Effect images, it does the following...

In order to get night lights imagery from the Mapbox Static API, you have to do a little bit of map/imagery processing up front...

RUN THE BOT

The project is set up to run either locally or in a Lambda function as a Twitter bot. To run locally, you'll need to create a config.js file with your own Mapbox access token, and Twitter credentials if needed. If no Twitter credentials are included in config.js, it'll still save an image locally in the tmp folder.

module.exports = {
  mapbox_token: '[MAPBOX_ACCESS_TOKEN]',
}

Once you have your config.js file, you should just be able to run the main index.js file.

node index.js

A new cupola image should then save to the tmp folder.

Hope you enjoy the view!