News

We Built a New Website. Here is What We Actually Did.

Rose Development has a new site. Rather than write a generic announcement, we thought we would explain the technical decisions behind it — because the site itself is a working example of how we approach every project.

We Built a New Website. Here is What We Actually Did.

Studios should eat their own cooking. If we tell clients that fast, maintainable, well-structured web platforms are worth building, our own site should demonstrate that.

So here is what we actually did when we redesigned rosedev.nl — the decisions, the trade-offs, and what we would do differently next time.

Custom framework, not a CMS

The site runs on our own PHP framework. No WordPress, no Craft, no headless CMS with a monthly subscription. The entire application is under 27,000 lines of PHP, has a single dependency tree managed by Composer, and deploys with a file copy.

This is not a philosophical stance against CMSes. It is a practical choice for a site we intend to maintain for years: the less third-party code in the dependency chain, the fewer security patches, breaking updates, and plugin conflicts we will deal with.

Design system first

We built the visual design as a token system before writing a single template. Every colour, spacing value, typography size, and radius is a CSS custom property. This means the entire visual language of the site can be changed in one file — and it means our templates are readable because they reference named values rather than magic numbers.

The type scale is modular. The spacing scale is based on an 8-point grid. The colour palette has semantic roles — primary, surface, border, muted — rather than raw hex values scattered through the stylesheets. It is the kind of infrastructure that pays for itself within the first month of development.

Performance by default

The site scores 100 on Lighthouse Performance on every page. This is not remarkable — it is what happens when you do not load things you do not need. There is no JavaScript framework, no web font with twelve weights, no third-party widget that phones home on every page load.

Analytics (Google Analytics 4 and Microsoft Clarity) are loaded only after explicit cookie consent, which is both the right thing to do under GDPR and a side effect that improves load time for first-time visitors.

The admin panel

Everything on the site — articles, portfolio items, pages, case studies, testimonials — is managed through a custom admin panel. No third-party accounts, no SaaS dependency, no licence fee. If we need a new content type, we build the table, write the controller, and the admin template follows the same pattern as everything else.

The client portal is the same approach: a separate authenticated area where clients can track project progress, download deliverables, and communicate with us — built into the same codebase, requiring no external project management tool.

What is next

The site is live and the portfolio is populated. Over the coming months we will be publishing articles about the projects we have shipped and the technical decisions behind them. If you are evaluating whether Rose Development is the right studio for your project, reading through those articles is probably the most honest assessment we can offer.

We build the same way for clients as we build for ourselves.

Back to news
Share:

More

Related Articles

7 May 2026

4D Agenda: from 2003 Carbon-era code to a modern 2026 macOS plugin

We have completed a major modernization of 4D Agenda, bringing a classic 4D plugin from its early-2000s roots into a clean, stable, modern macOS codebase. The original 4D Agenda codebase dates back to around 2003. It had served faithfully for many years, but it also carried the usual archaeological layers: old drawing paths, legacy platform branches, classic Mac assumptions, and enough historical compatibility code to make a museum curator nod approvingly.

Read more

2 May 2026

A Ten-Hour Debugging Session Inside AccountView

Sometimes software maintenance is a clean, predictable job. And sometimes it is ten hours of staring into Visual FoxPro, legacy ActiveX controls, temporary DBF files, scrambled compiled code, hidden viewers, crashing PDF components, and one very stubborn transport management system that refuses to explain itself.

Read more

Want to work with us?

Get in touch and let's discuss your project.