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.
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 15,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.