Skip to content



Sanity & Next.js agency for SaaS & AI

SaaS marketing sites never sit still: new features, new pricing, a landing page for every campaign. We build Sanity and Next.js platforms where product marketing ships those changes without an engineering ticket, backed by structured content that survives the next repositioning.

What we build for SaaS and AI companies

A SaaS marketing site is never finished. There is a new feature, a new pricing page, a landing page for every campaign, and a repositioning roughly once a year. The builds that survive that are the ones where product marketing can ship a page without opening a ticket.

Key ESG wanted a fast site their team controlled, so we built a Next.js and Sanity page builder with a tailored SEO component on every page and a form builder inside Sanity itself, wired into their CRM with precise labeling so forms get created by the people who need them. Tray needed the opposite scale of problem solved: five repositories consolidated into one Turborepo monorepo, 25 complex page types, and a Contentful instance stripped of bloated models and rebuilt as a page builder with live preview on any route.

Topaz Labs came to us for documentation rather than marketing. Their CEO wanted everything in one deeply customizable platform, so we built it on Sanity, Next.js and Vercel with custom input components and a live preview system, in four weeks.

The stack behind these builds

Next.js on Vercel with Sanity for content is the pairing we recommend most, and the reasons are specific rather than general. Preview deployments on every change mean a reviewer sees the page before it ships. Sanity's Live Content API removes the publish-and-wait cycle, which is how Synacti's team got a visual page builder with real-time updates through Presentation.

Where a client already has a CMS worth keeping, we keep it. Tray stayed on Contentful and the work went into decluttering the content models and building a page builder on top. Teckro was already on Sanity v2, so the relaunch and the v2 to v3 migration happened together rather than carrying the old schemas across.

Design systems come up on nearly every project at this size. Key ESG and Topaz Labs both use Chakra UI for accessibility and responsiveness, and Tabby AI's library was documented and tested component by component in Storybook so both teams worked from the same reference.

What the work changed

Tray's build times dropped 99.86%. A full workday of build time came down to two minutes, so deploys that took 24 hours now finish in 120 seconds. Half a million pages moved to Vercel in six weeks, done progressively rather than as one cutover, and the site now serves more than a million monthly visitors. It held 0% downtime through two DDoS waves, with Speed Insights scores in the high 90s.

Teckro's full website relaunch and Sanity v2 to v3 migration shipped in eight weeks, on Next.js and Vercel with a cleaned-up backend rather than the old schemas carried forward.

Topaz Labs got their documentation platform in four weeks. Synacti's site was built with v0 generating over 90% of the code, which is what left time for a Matter.js interactive hero and a user-controlled theme picker to be built by hand.

Shipping weekly without breaking the site

The failure mode we see most in SaaS is a site that was fine at launch and is now the slowest part of the marketing team's week. Tray's old setup is the clearest version of it: Next.js 9 on fragile AWS Serverless functions, 250 MB packages choking every deploy, previewing a change meant a full production build, form logic lived in a separate repository, and failed deploys were a weekly event. Marketing releases stalled and rankings slid while pages crawled.

Avoiding that is mostly about where the content model sits. Content that is structured once and surfaced in many places survives a repositioning; pages built as one-off layouts do not. Teckro got dedicated event document types and Portable Text for embedded calls to action, so the CTAs inside articles became editorial decisions rather than code changes.

Integrations belong in the CMS for the same reason. Teckro's editors pick a HubSpot form inside Sanity Studio and submissions flow straight into their CRM, and Wistia updates the Studio directly so video and podcast content has one source of truth.

Case studies

Related posts



Related services



Common questions

SaaS & AI FAQs

What buyers ask us about SaaS & AI projects, answered from the work above

How fast can a large SaaS site be rebuilt?
Tray moved half a million pages to Vercel in six weeks, progressively rather than as a single cutover, while consolidating five repositories into one Turborepo monorepo on Next.js 13. Smaller projects are much quicker: Topaz Labs' documentation platform took four weeks, and Teckro's full relaunch plus a Sanity v2 to v3 migration took eight.
Will a rebuild actually fix our deploy times?
It did for Tray, by 99.86%. A full workday of build time came down to two minutes, so deployments that once took 24 hours finish in 120 seconds. The cause was specific: Next.js 9 on AWS Serverless functions with 250 MB packages, where previewing a change required a full production build. Static-first rendering on Vercel removed it.
Can product marketing ship pages without engineering?
That is the usual brief. Tray's Contentful instance was decluttered and rebuilt as a page builder with live preview across any route, so writers catch copy problems before publishing and ship pages in minutes. Key ESG got a Sanity page builder with a tailored SEO component and a form builder inside the CMS, connected to their CRM.
Do we have to leave our current CMS?
No. Tray stayed on Contentful and the work went into stripping the bloated content models and building a page builder on top. Teckro was on Sanity v2, so we migrated to v3 as part of the relaunch rather than carrying the old schemas across, which cleared the technical debt instead of moving it.
Do you use AI tools on production builds?
Yes, where they earn their place. Over 90% of Synacti's site was built with v0, and the time that saved went into the parts that needed hand-building: a Matter.js interactive element and a user-controlled theme picker. The work is a service in its own right rather than a shortcut applied quietly.
How does a site hold up under traffic spikes or attack?
Tray serves over a million monthly visitors and stayed up through two DDoS waves with 0% downtime, which the static-first strategy and Vercel's firewall made possible. Vercel Speed Insights scores sit in the high 90s and page load times dropped by an order of magnitude against the old AWS setup.

Work with us

Tell us what you're building and we'll show you how we'd approach it, grounded in the projects above.
Book a meeting