top of page

Love Letters to Exoplanets

A generative data-poetry experiment.

Starry Night Sky

What would you say to a world you'll never reach?

 

The Problem I Saw:

We're discovering thousands of exoplanets, but most people don't connect with them emotionally. They're just data points, numbers and temperatures in scientific papers. I wondered: what if we gave people a way to have a personal relationship with these distant worlds?

My Approach: 

I designed an interactive experience where people write love letters to real exoplanets. Each planet is brought to life with actual NASA data—its distance, composition, what makes it unique. Then people choose one and write to it.

Why letters? Because longing feels more honest when the recipient can never respond. When you remove the possibility of reply, people write their deepest truths.

Pink Poppy Flowers
Pink Poppy Flowers
Pink Poppy Flowers
Pink Poppy Flowers
Pink Poppy Flowers
Write a letter

Technical Execution

  • Real exoplanet data from NASA Exoplanet Archive

  • Custom visualisation system for planetary characteristics

  • Responsive web design (works beautifully on mobile)

  • Letter archive with privacy controls

Pink Poppy Flowers
Starry Night Sky

The Design Decisions

Visual Language: I wanted it to feel poetic and contemplative, not clinical or sci-fi. Soft gradients, celestial imagery, and generous whitespace to create a sense of vastness and intimacy at once.

Information Architecture: I structured the flow as: Discover → Connect → Express. Users first explore planets and their characteristics, then select one that resonates, then compose their letter in an environment that feels private and meaningful.

Tone: The copy needed to be evocative without being prescriptive. I gave prompts but never told people what to feel.

Screenshot 2026-01-13 at 2.19.24 PM.png
Screenshot 2026-01-13 at 9.20.56 AM.png
Screenshot 2026-01-13 at 9.23.37 AM.png

What went wrong:
 

  • Taming the Data: At first, I tried to pipe in every single piece of NASA’s planetary data like orbital eccentricity, mass, and gravity. It was a disaster because the letters sounded like a textbook instead of a confession. I had to manually strip it down to just the "feeling" of the data. By focusing on how far away the planet is, the colour of its sun, and its temperature, I gave the AI room to actually be poetic.
     

  • Performance vs. Vision: I really wanted a fully 3D rotating universe, but the browser just couldn't handle the weight of hundreds of planetary textures at once. It was sluggish and heavy. I made the hard call to pivot to a minimalist, transmission-style UI. This design prioritises the intimacy of the letter over a flashy but slow-loading universe.
     

  • It all disappeared (and came back) so many times
     

  • The Texture Hunt: I realised that standard libraries didn't have textures for some of the more obscure planets. To fix this, I manually built my own GitHub library by sourcing and curating visual data from NASA’s Eyes on Exoplanets archive. This ensured every world felt unique and real.
     

  • Finding the Vibe: The site felt too quiet and cold at first. To fix that "lonely" feeling, I used Suno AI to compose a custom ambient track that hums in the background. It makes it feel like you're actually sitting in a cockpit listening to deep-space signals.
     

  • ​The Shape of WASP-12b: Achieving the unique look of specific planets was a challenge of its own. For example, WASP-12b isn't a perfect sphere; it's egg-shaped because its star is literally pulling it apart. Getting that specific geometry to render correctly without breaking the layout took a lot of manual tweaking, but it was important for the scientific accuracy of the project.

Starry Night Sky
Pink Poppy Flowers
Pink Poppy Flowers
Pink Poppy Flowers

In the first versions of the interface, I used Nano Banana to generate a custom artistic visualization for every exoplanet the user selected. Because the app reloaded with every code change, it triggered a new image generation call each time, which quickly exhausted my AI credits. To solve this, I moved away from constant live generation and manually curated a permanent library of high-fidelity textures to keep the experience fast and functional.

Google AI Studio, Gemini, Claude, NASA’s Eyes on Exoplanets Archive, Suno AI, Vercel, GitHub

bottom of page