Ode to cats

Ode to cats

Every blog post on this site has a Victorian cat hero image generated by AI. Here's every single one, in full colour, from the earliest originals to today.


If you've ever wondered why we've had cats for this many years, it's simple. We kept getting blocked by putting thought into a nice feature image at the start of a blog. It was a blocker, and lord knows how much we hate blockers.

On the blog index, you see them in grayscale with a halftone overlay. That's the brand treatment. But underneath, each one is a full-colour oil painting generated by whatever AI model we had access to at the time.

This post is every cat, in original colour, in chronological order. A retrospective of sorts. It actually makes me a little emotional, I'm embarrassed to say.

For the early years, we generated these outside the codebase entirely. Someone would hop into ChatGPT or the OpenAI API, generate a cat, and drop it into Sanity. We don't have exact records of which model produced which image. In March 2025 we added our sanity-plugin-image-gen plugin to the studio, routing through Replicate Flux. That lasted until June 2025, when we replaced Replicate with OpenAI's DALL-E 3. Eventually we built the whole thing into our own imagen pipeline running GPT-Image-1.5.

The early days (2021 to 2022)

These are the originals. Generated outside the codebase, probably through ChatGPT or the OpenAI API directly. DALL-E 2 was the only option for most of this period, and it had a distinctive softness. The paintings feel more impressionistic, less controlled. Prompt adherence was loose at best. You'd ask for a Victorian cat in formal wear and get something that was mostly cat-shaped, mostly Victorian, and occasionally wearing what might be a jacket. We loved them for it.

Victorian cat from: How to transfer from WordPress to JAMstack fast

How to transfer from WordPress to JAMstack fast (September 2021, DALL-E 2)

The very first cat. Our oldest blog post and the one that started the tradition. There's a charm to these early outputs that you can't replicate with newer models. The brushwork is loose, the details are approximate, and there's an ungodly abomination of a cat that's crawled directly from uncanny valley. We love them all the same.

Victorian cat from: We are Sanity Agency Partners

We are Sanity Agency Partners (October 2022, DALL-E 2)

A celebratory cat for a celebratory occasion. We'd just become official Sanity partners and needed a hero image that felt appropriately dignified. Whatever model generated this delivered something with gravitas, even if the details were a bit wobbly. There's something about the thousand yard stare that really sells the image of celebration.

Victorian cat from: What Sanity Studio v3 means for clients

What Sanity Studio v3 means for clients (November 2022, DALL-E 2)

Studio v3 was a big deal. The cat needed to look like it understood the significance of a major platform migration. Whether it actually conveys that is up for debate, but it certainly looks like it has opinions. Although I really like the big fluffy coat but tiny little legs. Pay close attention to whether the models draws them as 4 legged beasts, or eerily standing on their hind legs, because it often differs, and I love it for it.

Victorian cat from: How Sanity handles your data

How Sanity handles your data (December 2022, DALL-E 2)

The last of the DALL-E 2 cats. A data-themed feline for a post about content lakes and document storage. There's something fitting about the slightly abstract quality of early AI art being used to illustrate a post about data architecture. They're standing on their hind legs again.

Victorian cat from: Dynamic open graph images with Sanity and Next.js

Dynamic open graph images with Sanity & Next.js (January 2023, DALL-E)

A cat for a post about OG images. The irony of generating an AI hero image for a blog about dynamically generating images was not lost on us. Although we weren't actively trying to make the cats look worse, but somehow their forms progressively degraded over time. There's a subtle horror in that.

Victorian cat from: Tips and tricks for building Sanity schema efficiently

Tips and tricks for building Sanity schema efficiently (January 2023, DALL-E)

A studious cat for a studious topic. Schema design is one of those things that separates decent Sanity implementations from good ones. This cat looks like it knows the difference between defineField and defineType. It has a beret. This is not lost on me.

The quality leap (2023)

This is where things got sharp. DALL-E 3 launched in October 2023, and ChatGPT's image generation got noticeably better around the same time. You could ask for a cat in specific Victorian clothing, holding specific objects, in a specific setting, and actually get something recognisable. The jump in quality was dramatic. These cats have personality. Like the earlier ones, they were generated outside the codebase and uploaded to Sanity manually.

Victorian cat from: Sanity top tip, the Grandma test

Sanity top tip: the Grandma test (January 2023, DALL-E)

Could your grandmother use the studio? If not, your schema needs work. This cat looks a lot higher quality, but I do appreciate the fact that the eyes are just a little off once again. Keep up the great work.

Victorian cat from: Revolutionising visual content creation with Sanity.io and OpenAI

Revolutionising visual content creation with Sanity.io and OpenAI (January 2023, DALL-E)

Now we're back to the old system. I think at this point, I had spent so long around the dodgy looking cats, I kind of missed them. This is the blog post about generating images with AI inside Sanity Studio, which itself has an AI-generated cat hero image. It's also where we first wrote about our sanity-plugin-image-gen plugin. We're getting very meta.

Victorian cat from: 11 top tips for SEO with Sanity and Next.js

11 top tips for SEO with Sanity & Next.js (February 2023, DALL-E)

I really appreciate the right-hand cat and the way it somehow managed to get human hands. It looks unamused, but all so adorable at the same time.

Victorian cat from: Getting the hang of Sanity's parameterised templates

Getting the hang of Sanity's parameterised templates (February 2023, DALL-E)

Parameterised templates are one of Sanity's quieter features. This cat has the energy of someone explaining a feature that deserves more attention than it gets. You must pay attention to their cute little fur paws. They look like wooly mittens.

Victorian cat from: Sanity CMS pricing, which plan is right for you

Sanity CMS pricing: which plan is right for you? (February 2023, DALL-E)

Now you might be wondering, are these cats, or are these weasels? I can assure you I only put cat prompts in, but may be the missing link as the last of the "on all 4 paws" kind of cats.

Victorian cat from: Headless CMS hot takes

Headless CMS hot takes (March 2023, DALL-E)

This is one of my personal favourites and a cat that lets you know what you're about to read. If you haven't read the blog already, trust me, I still have enough venom built up about Prismic, that I could write 4 more like this.

Victorian cat from: Who needs a head? Headless CMS and the race for content velocity

Who needs a head? (March 2023, DALL-E)

The headless CMS cat. We didn't resist the urge to generate a headless cat. You're welcome.

Victorian cat from: Sanity Scheduling

Sanity Scheduling: probably the best scheduling tool we've ever used (May 2023, DALL-E)

It got a little calendar in its hands. At the sacrifice of all quality elsewhere.

Victorian cat from: A seamless experience with Next 13.4, Tailwind CSS and Sanity

A seamless experience with Next 13.4, Tailwind CSS and Sanity (May 2023, DALL-E)

Next.js 13.4 was the app router moment. This cat looks like it just figured out how server components work and is cautiously optimistic about the future.

Victorian cat from: The state of Chakra UI and Next 13.4

The state of Chakra UI & Next 13.4 (May 2023, DALL-E)

Chakra UI was having a rough time with the app router transition. This cat has the expression of someone watching a library they depend on slowly fall apart.

Victorian cat from: Choosing the right Sanity CMS agency

Choosing the right Sanity CMS agency (May 2023, DALL-E)

A trustworthy-looking cat for a post about choosing the right agency partner. We may be biased, but this cat would absolutely choose Roboto. They do look like a sight for sore eyes.

Victorian cat from: Setting up live preview for Sanity on Next 13.4

Setting up live preview for Sanity on Next 13.4 using drafts mode (May 2023, DALL-E)

I like the hyper-realism in the cats face, and his outfit, much more abstract and soft. Don't pay attention to the right eye. He doesn't like that.

Victorian cat from: How to deploy Sanity with GitHub Actions

How to deploy Sanity with GitHub Actions (June 2023, DALL-E)

A DevOps cat. CI/CD pipelines aren't glamorous, but automating your Sanity Studio deployment is one of those changes where you wonder why you didn't do it sooner. I especially like the Helena Bonham Carter cat on the right.

Victorian cat from: The best Next.js and Sanity Image component

The best Next.js & Sanity Image component (June 2023, DALL-E)

Image optimisation is one of those things every project needs and nobody enjoys setting up. This cat looks like it has strong opinions about next/image configuration. Actually, it doesn't look like it has strong opinions about anything. It looks positively ghastly.

Victorian cat from: Actually using Figma dev mode

Actually using Figma dev mode: is it any good? (June 2023, DALL-E)

A design-savvy cat. Figma's dev mode had just launched and everyone had opinions. Ours was measured but honest, which is about all you can ask for with a v1 product.

Victorian cat from: What we learnt updating the Roboto website V3

What we learnt updating the Roboto website V3 (July 2023, DALL-E)

To round off the horror-adjacent cats, we've finished with what we learnt updating the Roboto Studio website. I think this is a fitting final cat from the "abomination" era, and onto the far nicer future transition.

The transition (2024 to early 2025)

2024 was still the manual era. We'd generate cats externally and upload them to Sanity. The quality kept improving as the underlying models got better. Some of these may be DALL-E 3, some could be earlier ChatGPT image generation. By early 2025, we'd moved the whole website to a new codebase and started integrating image generation properly.

Victorian cat from: Making your editorial experience that little bit better

Making your editorial experience that little bit better (November 2023, DALL-E)

This is the blog post that explicitly called out Victorian cats. We wrote: "We mostly just wanted to publish this article because ChatGPT 4 released the image update so that we could get higher resolution Victorian cats." At least we're honest.

Victorian cat from: Our roundup of tools 2024

Our roundup of tools 2024 (December 2023, DALL-E)

A well-equipped cat for a well-stocked toolbox. End-of-year roundups are a genre we enjoy because they force you to actually evaluate what you've been using rather than just defaulting to it.

Victorian cat from: Get better at using Sanity Studio

Get better at using Sanity Studio (January 2024, DALL-E)

A studious cat to kick off the new year. Studio mastery is an ongoing process, and this cat looks like it's been putting in the hours.

Victorian cat from: Working with Formspark and Server actions in Next.js 14

Working with Formspark & Server actions in Next.js 14 (January 2024, DALL-E)

Server actions changed how we think about form handling. Double trouble cats, and nice spectacles.

Victorian cat from: Gearing up with Sanity in 2024

Gearing up with Sanity in 2024 (January 2024, DALL-E)

A forward-looking cat. Sanity had a strong 2024 roadmap and this cat was ready for it. Bonus points for the cool piece of text on his head.

Victorian cat from: Using Cursor to improve your Sanity DX

Using Cursor to improve your Sanity DX (February 2024, DALL-E)

A tech-forward cat. Cursor was still new to most people and we were already using it for schema development. This one's saved as a JPEG rather than PNG, which tells you something about the pipeline evolving. We couldn't resist the terminator nod.

Victorian cat from: How to migrate from WordPress to Sanity fast

How to migrate from WordPress to Sanity fast (March 2024, DALL-E)

A migration cat. WordPress to Sanity is one of our most common project types. This cat has migrated enough content to know where the edge cases hide. We really like the box art behind him.

Victorian cat from: Our initial thoughts on Sanity Create

Our initial thoughts on Sanity Create (May 2024, DALL-E)

Sanity Create (now called Canvas) was ambitious. This picture, not so much. It's just a nice happy cat with a quill and appreciate the models attention to details with the little cat hands.

Victorian cat from: Building a search bar with Sanity Embeddings Index API

Building a search bar with Sanity Embeddings Index API & Next.js (May 2024, DALL-E)

Embeddings-based search was a proper surprise from Sanity. Semantic search inside a CMS sounds like a gimmick until you use it. We built a whole god damn search bar out of it, and it worked flawlessly. The model did a pretty good job of magnifying the cats face too. Props.

Victorian cat from: The only Sanity page-builder guide you'll ever need

The only Sanity page-builder guide you'll ever need (July 2024, DALL-E)

Our most comprehensive guide cat. The page-builder post is one of our longest and most referenced pieces. 4 legs! The cat is on 4 legs again.

Victorian cat from: A really nice Mux video component

A really nice Mux video component (August 2024, DALL-E)

A media-savvy cat. We built a Mux video component that we actually liked, which is harder than it sounds. Video on the web is still surprisingly fiddly. Not to harp on about it... But the cats on 4 legs again, watching cats on a TV.

Victorian cat from: Creating the perfect array thumbnails

Creating the perfect array thumbnails (August 2024, DALL-E)

A detail-oriented cat. Array thumbnails in Sanity Studio are one of those small UX touches that editors actually notice and appreciate. Like the subtle buttoning on his cute little waistcoat.

Victorian cat from: How our studio uses v0

How our studio uses v0 (October 2024, DALL-E)

We loved using v0 for quick design mockups, and this cat looks like it's just shipped a prototype in record time. I'm not such a fan of the generation of such sharp features in this art style though.

Victorian cat from: Thinking of jumping ship from WordPress?

Thinking of jumping ship from WordPress? (October 2024, Replicate Flux)

A contemplative cat on the edge of a decision. WordPress migration posts are evergreen for us. There's always someone ready to make the leap. However, this particular type of cat using replicate flux, I really didn't like. There's a good reason there's only like 4.

Victorian cat from: Optimized data fetching in Next.js 15

Optimized data fetching in Next.js 15 (November 2024, Replicate Flux)

Next.js 15 changed how data fetching works in practice. This cat looks like it understands async components. Saved as WebP, which tells you the image pipeline was evolving.

Victorian cat from: Hidden gems in Next.js

Hidden gems in Next.js (November 2024, Replicate Flux)

A treasure-hunting cat. We love writing about features that exist in the docs but nobody seems to use. This cat though... Still not sold on this style. Soulless.

Victorian cat from: Should I upgrade to Sanity Enterprise?

Should I upgrade to Sanity Enterprise? (December 2024, DALL-E)

Enterprise pricing decisions require careful thought and a cat that looks like it manages a budget. Now we're back to a luxurious kitty with lots of soul.

Victorian cat from: Our 2024 takeaways with Sanity and Next.js

Our 2024 takeaways with Sanity & Next.js (December 2024, DALL-E)

The year-end cat. A reflective feline for a reflective post. 2024 was a good year for both Sanity and Next.js, and this cat looks satisfied with how things turned out.

The pipeline era (2025 to 2026)

This is where image generation finally moved into the codebase. In March 2025 we added our sanity-plugin-image-gen plugin to the studio, routing through Replicate Flux (flux-pro and flux-schnell). The cats from early 2025 have a different texture because of this. Flux has a painterly quality that's different from DALL-E.

In June 2025, we swapped Replicate for OpenAI's DALL-E 3. By late 2025, we'd built a dedicated imagen app running GPT-Image-1.5 with the full pipeline: generate, outpaint with Google Vertex for wider formats, apply halftone treatment, upload to Vercel Blob.

The two most recent cats were generated through this full pipeline, so their stored images already have the grayscale and halftone effects baked in. You'll spot them.

Victorian cat from: Using markdown shortcuts with the Portable Text Editor

Using markdown shortcuts with the Portable Text Editor (January 2025, DALL-E)

A writerly cat. Markdown shortcuts in Portable Text are one of those features editors discover and never stop using. This one predates the plugin integration by a couple of months. But it's when we started using sphinx cats for some unknown reason.

Victorian cat from: Working with Turbo Start Sanity

Working with Turbo Start Sanity (February 2025, DALL-E)

A getting-started cat. Turbo Start is Sanity's quick-start template. This cat looks like it's about to scaffold a project and has strong feelings about folder structure. One of the last cats generated before we brought image generation into the codebase.

Victorian cat from: How to use Google Analytics and actually get something out of it

How to use Google Analytics and actually get something out of it (April 2025, Replicate Flux)

An analytics cat. Ironic, given that we later dumped Google Analytics for PostHog. This cat was living its best life before we changed our minds. One of the first cats generated through our Sanity plugin using Flux.

Victorian cat from: How we use .mdc rules

How we use .mdc rules (May 2025, Replicate Flux)

A rules-oriented cat. .mdc rules were our first step into structured AI instructions before we moved to Claude skills. This cat looks like it follows rules meticulously. Generated through the Replicate Flux pipeline. Looks god-awful, without a soul, but I won't hold it against her.

Victorian cat from: Figma in 2025: hot takes

Figma in 2025: hot takes (July 2025, DALL-E 3)

An opinionated cat. Figma had a complicated year and we had opinions about it. This cat shares them. By this point we'd switched from Replicate to OpenAI's DALL-E 3. Hence the cat drawing a cat.

Victorian cat from: Sanity Canvas: a better way of writing content

Sanity Canvas: a better way of writing content (July 2025, DALL-E 3)

A creative cat. Canvas was Sanity's answer to the "writing in a CMS feels like filling out a form" problem. However, this did actually break the lore of the cat kingdom we created, as it introduced the concept of cats having cats as pets.

Victorian cat from: How we migrate content without breaking stuff

How we migrate content without breaking stuff (July 2025, DALL-E 3)

Content migration is one of those areas where being methodical pays off and being reckless costs you dearly. This cat is the methodical type.

Victorian cat from: Our cookie banner prayers have been answered

Our cookie banner prayers have been answered (July 2025, DALL-E 3)

Cookie consent is one of those problems that sounds simple and isn't. When we found a solution that actually worked, this cat's expression was the right match.

Victorian cat from: Page-builders and spacing

Page-builders and spacing (August 2025, DALL-E 3)

Spacing in page builders is the kind of topic that only matters if you've built one. This cat is so angry when somebody suggested that we should add toggle-able padding on page builders.

Victorian cat from: Next.js 16 for dummies

Next.js 16 for dummies (October 2025, DALL-E 3)

By this point the pipeline had moved to GPT-Image-1.5. This cat is so dumpy, it brings a smile to my face.

Victorian cat from: We dumped Google Analytics for PostHog

We dumped Google Analytics for PostHog (October 2025, DALL-E 3)

Sometimes you need to commit to a change. Swapping analytics platforms is one of those decisions that feels scary until you do it. This cat confessing his love to his sweetheart had an equally scary state of mind. But now, it just feels right.

Victorian cat from: Ship AI, AI, AI

Ship AI, AI, AI (October 2025, DALL-E 3)

A conference cat. Vercel Ship was wall-to-wall AI announcements. This cat attended and has thoughts.

Victorian cat from: React Server Components CVE-2026-23864

React Server Components CVE-2026-23864: what you need to know (January 2026, GPT-Image-1.5)

To say how much of a headache this was at the time, this happened to coincide with our new rendering tech. This is the latest version of the imagery we were working with, and paved way to pre-baked black and white on the next one.

An extremely round Victorian cat inventor working on automation blueprints

How we use Claude skills to automate our workflow (January 2026, GPT-Image-1.5, imagen pipeline)

The automation cat. This one was generated through our full imagen pipeline, so you're seeing it with the grayscale and halftone effects already baked in. It's "an extremely round Victorian cat inventor working on automation blueprints, looking very pleased with himself." One of our favourites.

A chubby Victorian cat operating a steam train

Next.js 16.2 for dummies (March 2026, GPT-Image-1.5, imagen pipeline)

The steam train cat. A chubby Victorian cat operating a steam train, looking like it knows exactly where it's going. One of the rounder cats in the collection, and one of the more confident ones.

The plugin that changed the workflow

In March 2025 we added sanity-plugin-image-gen to our Sanity Studio. It's a plugin we built that routes image generation through Next.js API routes and Replicate, giving editors access to models like Flux and Stable Diffusion directly inside the CMS.

Before this, generating a cat meant leaving the studio, going to ChatGPT or the OpenAI API, generating something, downloading it, and uploading it to Sanity. With the plugin, you type a prompt and the image lands in the asset pipeline. It sounds like a small thing but it changed how often we'd regenerate images when the first attempt wasn't right.

The plugin initially used Replicate with Flux models (flux-pro and flux-schnell). The cats from March to June 2025 came through this route. In June we swapped the backend to OpenAI's DALL-E 3, and eventually the whole thing evolved into our dedicated imagen app.

We wrote about the original concept in Revolutionising visual content creation with Sanity.io and OpenAI, which started as a DALL-E 2 guide in 2023 and has been updated several times since.

Agentic workflow development
Custom image pipelines, automated content workflows, and AI tooling built around how your team works.
Learn more

Why Victorian cats?

We get asked this occasionally. The honest answer is that we needed hero images for every blog post and didn't want to spend time on each one. A Victorian cat in an oil painting style was distinctive enough to become a visual identity, weird enough to be memorable, and consistent enough to work across dozens of posts.

Once you've committed to the bit, you have to see it through. Fifty-six cats later, we're still committed.

The halftone treatment on the blog index gives them a unified look even though they were generated by at least four different models across five years: DALL-E (various versions), Replicate Flux, DALL-E 3, and GPT-Image-1.5. In full colour, you can see the evolution. The early cats are soft and impressionistic. The Flux cats have a distinctive painterly texture. The DALL-E 3 cats are sharp and detailed. The modern pipeline cats are the most controlled.

We like all of them. The rough early ones have charm. The detailed later ones have precision. And scrolling through the lot of them, you can actually see how AI image generation has changed since we started using it.

About the Authors

Jono Alford

Founder of Roboto Studio, specializing in headless CMS implementations with Sanity and Next.js. Passionate about building exceptional editorial experiences and helping teams ship faster.

Sne Tripathi
Sne Tripathi

Account Executive

Account Executive at Roboto Studio, bridging the gap between client needs and technical solutions. Ensures every project delivers real business value.

Hrithik Prasad
Hrithik Prasad

Senior Full-stack Developer

Senior Full-stack Developer with expertise in React, Next.js, and Sanity CMS. Loves building performant web applications and sharing knowledge through technical content.

Aayush Bharti
Aayush Bharti

Frontend developer

Frontend developer focused on creating beautiful, accessible user interfaces. Enthusiastic about modern web technologies and design systems.

Get in touch

Book a meeting with us to discuss how we can help or fill out a form to get in touch