Hands typing on a typewriter

A CMS you run yourself

WordPress or a CMS written around your content. Managed without a developer, and without fear that an edit breaks the layout.

Custom CMS

A CMS where editors fill in fields instead of stacking blocks

A CMS is simply the panel where you change your own content: text, images, pages, menus. The usual choice is WordPress - most editors already know it, the ecosystem is enormous, and for a conventional site it is simply the cheapest sensible option. We set it up with fields matched to your content, rather than leaving the editorial team with a universal editor where one careless paste breaks the layout.

When the content structure is unusual, integrations are involved or the publishing workflow is elaborate, we suggest a CMS written from scratch on Laravel.

A custom CMS inverts that. The fields in the panel match your content: title, summary, image, attachments. Editors fill in specific boxes, and layout consistency is guaranteed by the template rather than by the care of whoever is pasting text.

We build the panel on Filament: simple forms, preview before publishing, change history and roles defining who may edit what. We train the editorial team at launch.

Library shelves in warm light

What a CMS delivery covers

WordPress delivery

Fields and content types configured for your site, a tidy panel and updates handled by us.

Content structure

Content types and fields designed for your site, instead of one universal editor for everything.

Editorial panel

A Filament back office with simple forms, search and preview before publishing.

Multilingual content

Separate URLs and hreflang tags per version, with convenient switching between translations in the panel.

Roles and workflow

Separate permissions for author, editor and publisher, together with change history.

Media and files

An image and document library with automatic resizing for fast loading.

Content migration

Moving material from the old system while keeping URLs or setting up redirects.

How we deliver a CMS

  1. 1

    Content audit

    We check what you actually publish and how often. The field structure follows from that, not from system defaults.

  2. 2

    Content model design

    We define content types, relations and language versions before the panel is built.

  3. 3

    Building the panel

    A Filament back office with preview, roles and a media library.

  4. 4

    Migration and training

    We move the content and train the team on real material in the new panel.

  5. 5

    Growth

    We add new content types and features as the site grows.

Technologies

For anyone who wants to know what we work with. If these names mean nothing to you, that is fine - this part is our job, not yours.

  • WordPress
  • PHP 8
  • Laravel
  • Filament
  • Symfony
  • Tailwind CSS
  • Alpine.js
  • MySQL
  • PostgreSQL
  • Redis
  • Linux

Questions and answers

What clients ask us most often

WordPress or a CMS written from scratch?

WordPress is enough for most sites and is the cheapest sensible choice, especially when your editors already know it. We set it up with fields matched to your content rather than leaving a universal editor in place. A CMS written from scratch is our suggestion for unusual content structures, integrations or an elaborate publishing workflow.

Can an editor manage without a developer?

That is the point. We build the panel on Filament: simple forms, preview before publishing and roles defining who may change what. We run a training session for the team at launch.

Will the CMS handle several language versions?

Yes. Multilingual support is designed in from the start, together with hreflang tags and separate URLs per version, so search engines recognise the language of each page correctly.

Will you migrate content from our old system?

Yes. We migrate content and files, keeping the existing URLs or setting up redirects so you do not lose search traffic.

Take back control of your content

Describe what you publish and who enters it. We will propose a content model and an estimate.

Get in touch