Skip to content
Showcase

Custom CMS on Sanity · adaptable to any business

A CMS for the people who run the business, not for developers.

A custom content management system (CMS), the tool owners use to maintain their own website: built on Sanity and programmed for the business that uses it. It opens with the most common tasks, shows whether the website is up to date, builds new pages from designed blocks and prevents pages from being deleted or layouts from being broken by accident. Menu, blocks and rules are defined per business; here it is in daily use at the Indeed Unique dance studio. Sanity provides the editor, the content store and the image pipeline; the logic on top is mine.

Scope
Concept, custom tools inside the CMS, building blocks, operations
Stack
Sanity Studio, React, Astro, Cloudflare, GitHub Actions
Use
Daily at Indeed Unique, owner access only
indeed-unique.sanity.studio

Built for the person who works with it.

Every screen answers a question the owner has, not the developer. What you see is the CMS in daily use at the Indeed Unique dance studio; menu, blocks and rules are defined anew for every business.

Start screen of the studio: nine task buttons and a “To do” box with a note about the try-out week
Start, organised by taskNine buttons for the most common tasks. Below them “To do”: open drafts, reminders about the dance season, classes missing from the overview.
“Add element” menu with preview images of the blocks cards, figures, dates, questions, steps, timeline and PDF
22 building blocks with previewsNew pages are built from designed sections, grouped by task. Each block has exactly one design; colours and spacing stay in the code.
“Target” field with the input “Preis” and two matching pages: prices for semester classes and for open classes
A page picker for linksPages are found by name instead of typed as addresses. Outdated addresses are recognised and fixed with one click.
Image dialog with the description field and the preview “This is how the image appears on the website”
How the image appears on the websiteUnder every image field with a fixed format sits the real output: crop and focal point calculated exactly like the website’s code does.
“Days off” form with the autumn break, a single day off and the winter break
Days off and the dance seasonBreaks and holidays as a simple list; past entries disappear on their own. Once the try-out week is over, the studio reminds the team.
Help page inside the studio with short guides such as “When will I see my change on the website?”
Help inside the toolShort guides for every task, right where they are needed. No manual nobody can find.

Protected where it matters.

  • Fixed pages stay in placeSettings, pages, team, class overview and studios can be neither deleted nor duplicated nor unpublished.
  • Hide instead of deleteClasses, people and free pages disappear from the website but remain in the studio.
  • Addresses are lockedAfter the first publish no address changes; reserved addresses are off limits for new pages.
  • Clear rules on every fieldCharacter limits, required image descriptions, minimum resolution and focal point, each with a message that says what to do.
  • Design and booking in the codeColours, fonts, animations, redirects and the Eversports widgets are out of reach in the studio.
  • Only formats the website rendersPost text offers exactly the paragraphs, headings and marks that are displayed, nothing that would get lost.

Between CMS and website.

  • 9custom tools inside the CMS
  • 22building blocks with previews
  • 24fixed pages from one page registry
  • 2–3 minuntil a publish is live
  • Status barCompares the state of the website with Sanity: green, yellow or red, plus the number of open drafts.
  • Preview at the press of a buttonOne click builds the whole website with every draft on a protected preview server, for proofreading before publishing.
  • One page registry for everythingFields, defaults and limits are defined once in code. From that come the studio forms, the website’s values and the import.
  • Backup and monitoringNightly backup of all content, a daily rebuild of time-dependent pages and a warning before the free tier’s limit is reached.

Sanity Studio with custom React tools and a German interface, an Astro website on Cloudflare, webhooks and GitHub Actions. Sanity provides the editor, content store and image pipeline; the logic on top is my own work and is adapted for every business.

Should your team maintain the website itself, without the risk?

Tell me about your project