irina.love Case study · Specimen № 01

Cosmic Pets.

A one-photo tool that turns any pet into a cosmic portrait — and files a small adventure report on what they get up to out there.

RoleProduct designer & builder Year2026 TypeConsumer tool Livecosmicpets.love
Read case study
I. Origin where it started

I make pet portraits by hand.

That's where this started — not with AI, but with a brush. For years I've been making illustrated animal portraits as a side practice, and the response was always the same: people cried a little. Sometimes a lot.

The problem was time. A hand-made portrait takes days. I could only make so many, and the waiting list kept people waiting too long for something that mattered to them. Their pet was getting older. Some of them didn't have that much time left.

I wanted to scale the feeling without losing it — to make something that still felt intentional, ceremonial, like the universe had actually noticed your animal. Cosmic Pets is my answer to that question.

"A universe that noticed your beloved pet."

The name came first, which is unusual for me. Once I had it, the whole concept snapped into place: every pet as a cosmic being, rendered with the kind of specificity that makes people say that's exactly her.

II. References the images behind the images

The visual language had to come from somewhere real.

I'm a designer but I'm also a collector of images — I've been pulling references for years before I ever knew what I'd use them for. For this project, four bodies of work shaped every visual decision: the palette, the composition rules I gave the AI, even the typography of the landing page.

Reference 01

Vintage celestial maps & astrology prints

Old star charts have a peculiar quality — they treat the cosmos as something knowable, almost domestic. That's the tone I wanted. Not vast and cold, but intimate and charted.

Reference 02

Botanical illustration

The precision of specimen plates — the way each flower is arranged like it's being formally introduced — gave me the framing device. Every portrait is a specimen. Every pet, a documented discovery.

Reference 03

70s–90s collage & magazine art

The cut-and-paste energy. Mixed media that feels assembled with love rather than generated. I used this as a check: does the output look intentional? Does it look like someone cared what was in the frame?

Reference 04

Fine art portraiture

The composition rules of painted portraits — subject centred, surrounded by objects that say something about them — are exactly what I wanted the AI to produce. Every cosmic portrait is, structurally, a Renaissance commission.

III. The experience six screens, no neutral ones

Every screen had to earn its place.

The core flow is six screens. I treated each one as a micro-moment — it either builds anticipation or it's in the way. There's no room for neutral screens when someone's about to hand you a photo of their dog.

Step 01

The upload

The first screen sets the register: slightly ceremonial, warm. It explains what's coming without over-explaining. A photo guide shows good versus bad examples — this turned out to be the most important piece of copy on the page. Bad inputs were the biggest source of disappointing outputs.

Step 02

The editor

A full crop-and-rotate tool before anything is sent off. This is a meaningful pause — it asks the user to choose how their pet is framed. In testing, people spent more time here than I expected. They were already imagining the portrait.

Step 03

The wait

The generation takes a few minutes. The processing screen doesn't pretend otherwise — it uses that time to build the idea that something real is happening. Planets being arranged. A small moon being polished. The wait is part of the ceremony.

Step 04

The portrait

The result screen is quiet. The portrait at full size, the adventure story beneath it. No distractions. The share button appears small, below the fold — I didn't want the first thing people saw to be a push to share. I wanted them to just look first.

Step 05

The story

Every portrait ships with a short written report on the pet's cosmic life — their title, their known offences, the trouble they cause out there. This was the part I wasn't sure would land. It's the part people quote back to me most.

Step 06

The share link

A permanent, beautiful URL for each portrait: cosmicpets.love/p/[id]. The share page is designed to stand alone — no app chrome, just the portrait, the story, and a quiet invitation to make one of your own.

The upload screen Screen · the upload
The portrait reveal Screen · the portrait
The adventure story Screen · the story
Fig. 03Three of the six screens — upload, portrait, story
IV. Under the hood every choice, a commitment

The stack had to be simple enough to ship.

I built this end-to-end, which meant every technology choice was also a personal commitment to maintain it. The principle: reach for a managed service before writing custom code, and write custom code before adding a framework.

Background removal rembg

Local model, runs on-server. No third-party API call — the pet is extracted without leaving the pipeline.

Image generation FLUX via Replicate

The cosmic background is generated from a prompt built around the pet's appearance. Each result is genuinely one of one.

Compositing Pillow

Background, extracted pet, and reference elements are composited together at 1440×2016 — print-quality from the start.

Story generation Claude (Anthropic)

The adventure story is written fresh for each pet, informed by what the AI sees in the image.

Server & hosting Python + Railway

A single Python HTTP server handles everything — no framework overhead. Deployed on Railway with a Postgres volume for share persistence.

Photo editing Cropper.js

The in-browser crop tool. Lets users frame their pet before anything is sent to the server — the quality of the crop directly affects the quality of the output.

V. What I learned the quiet problem

The hardest part was tone.

Getting the images right took iteration — prompt engineering, reference tuning, compositing adjustments. But the hardest design problem was quieter than that. It was tone.

AI tools tend toward either clinical neutrality or aggressive delight. I wanted something neither of those — something that felt like a small, private thing that had been made with care specifically for you. That's almost impossible to engineer. It has to live in every piece of copy, every transition, every pause.

The "don't like AI? perfectly reasonable" line on the landing page is the one I'm most proud of. It makes space for scepticism, which makes the people who do trust the tool trust it more. I kept the human option — me, making portraits by hand — because that's where this started, and I didn't want to pretend otherwise.

A tool is only as good as what it makes people feel.

Not about the tool — about themselves, their pet, the thing they made together

When people send me their share links — and they do, unprompted — they're not saying "the AI was impressive." They're saying look at Biscuit, she's been spotted commanding a ringed planet. That's the thing. That's what I was trying to make.