Case Study
View Case StudyTray.ai
Migrating hundreds of thousands of pages, re-platforming and extending for the leading composable AI integration platform

From Drupal to Sanity
Key pain points
Here's the uncomfortable truth about Drupal: it's powerful, but it demands a level of investment that most teams underestimate. The learning curve is brutal. We're not talking about a weekend of tutorials; we're talking about months before a developer is truly productive. Drupal 8 and beyond adopted Symfony patterns, which is great for architecture but means you now need a PHP developer who also understands dependency injection, service containers, and YAML configuration files that seem to multiply overnight. Finding and retaining Drupal talent is genuinely difficult, and the developer survey data confirms it: fewer than 10% of the community is under 30, and almost nobody is joining fresh.
The upgrade story has been a recurring nightmare. The jump from Drupal 7 to 8 was essentially a full rebuild, and the ongoing churn from PHP and Symfony upstream changes means your team spends a meaningful chunk of time just keeping the lights on. Module compatibility breaks, themes need reworking, and the update process still isn't fully automated. If you're on a lean team, that maintenance burden is going to eat into your feature development time.
And then there's the content editor experience. Drupal was built by engineers for engineers, and it shows. The admin interface is functional but far from intuitive, and content teams coming from friendlier platforms consistently struggle with it. You can improve things with contributed modules and custom configuration, but that's more time and money. At the end of the day, if you don't have the budget for a dedicated Drupal team or a long-term agency partnership, you're going to have a bad time.

Punishing learning curve
Getting productive in Drupal takes months, not days. The combination of Symfony patterns, YAML configuration, and Drupal-specific conventions means onboarding new developers is slow and expensive.

Shrinking talent pool
The developer community is aging out. Fewer than 10% of Drupal developers are under 30, and new developers aren't joining at a rate that replaces those leaving. Finding affordable Drupal expertise is a real challenge.

Painful upgrade cycles
Between PHP version bumps, Symfony updates, and Drupal core changes, your team will spend significant time on maintenance that has nothing to do with shipping features. The Drupal 7 to 8 migration was so brutal they delayed end-of-life for years.

Poor content editor experience
The admin interface was designed by developers, and it shows. Content teams coming from WordPress, Sanity, or any modern CMS will find the editing experience clunky and unintuitive without significant customization.

Resource-hungry infrastructure
Drupal is not light. It demands proper server resources, caching layers, and database optimization to perform well. Cheap shared hosting won't cut it, and infrastructure costs add up quickly.

High total cost of ownership
It's open source, but don't let that fool you. Between specialized developers, hosting requirements, ongoing maintenance, and the sheer time investment to configure everything, Drupal projects consistently cost more than teams expect.
Key advantages
You know where our bias' lies. We think Sanity is literally the best headless content management out there. The schema is code-based, so it can be easily versioned, scaled, and extended without a heap of third-party hoops to jump. Providing you build it with a solid foundation, which we always recommend Turbo Start Sanity, it's going to be the most valuable hub for content you can imagine.
It's got a very unique tooling called the Live Content API, which in simple terms means
when you press publish, its live.
No issues with caching, and a single API usage that scales perfectly with multichannel content delivery.
It also offers one of the best editorial experiences in the industry with Presentation and customizable content structures. We're obviously huge fans of it, and we've pivoted our business with it when we realised how ahead it is.

Real time collaboration
You write, your teammate tags in, adds citations, and updates the same doc without stepping on each other. It’s the fastest way to ship content without the “who has edit access?” chaos.

Live preview block building
With Sanity, you don’t have to guess what your page might look like. Real-time previews update the moment you type. It’s a 1:1 mirror of your site before it ever goes live, so your campaigns look right the first time.

Meta tags, structured content
Sanity’s structured content gives Google clean data and rich schema, so your pages surface higher without manual hacking. Automated schema, smarter metadata, and better rankings.

Better media management
A blazing-fast media library with first-class support for Cloudinary, Mux, Wistia and more. Upload, drag-and-drop, preview without wrestling with assets, and waiting for spins of doom.

Automated social sharing
Ever wanted to share one update, and automatically populate every social platform? Welcome to the future we've built that. Why should social media be a chore.

Automated image generation
Sanity keeps your subject centred and sharp like a tiny author thumbnail or a full-page hero banner. There are no awkward crops, or chopped heads. Your visuals just look right everywhere.
Book a meeting with us to discuss how we can help or fill out a form to get in touch
Join the growing list of successful migrations
Case Study
View Case StudyMigrating hundreds of thousands of pages, re-platforming and extending for the leading composable AI integration platform

Case Study
View Case StudyFrom Sanity overages to instantaneous publishing, we brought Mario Testino into the fast lane, and did it in style.

Case Study
View Case StudyHelping the UAE's most prolific Pay in 4 merchants scale their design system and composable infrastructure.

Case Study
View Case StudyHow we helped the fastest growing online cycling community, push the editorial velocity to new heights.
