One way to develop a website in 2025 – with a focus on speed, user-friendliness, and technical precision.
Starting Point
My website so far has been more like a digital business card – simple, functional, without frills. But in an increasingly international world, that’s no longer enough. That’s why I absolutely wanted to offer an English version. In many German companies, English is already standard in daily project work, and international colleagues often don’t speak German. So it makes sense to settle on English – just as we often do in projects.
And if you're already working on it, why not go all the way: A website with modern features that excites developers and technical users?
- Speed
- Multilingualism: With technical SEO and clear data structure.
- Color Themes: Seamless switching without a flash of light.
- Good UI/UX: Accessible, cookie-free, for maximum user-friendliness.
Many solutions promise this, but even large companies often fail at implementation. Cookie-free websites, in particular, are a challenge – but it’s possible without sacrificing features.
This article is technology-agnostic: The principles apply to any tech stack. I personally use the “Vanilla Stack” (HTML, CSS, JavaScript) with a small, self-built template syntax. My backend is a lean Go app that renders content, keeps it in RAM, and manages features like the contact form – all behind NGINX, which handles SSL.
Theme Switch Without Flash of Light
Dark designs are especially popular among us developers, but most users still prefer light themes. A problem: On loading, a white background often flashes before the dark design appears. We call this the “Flashbang” – inspired by the video game Counter-Strike.
💡 Flashbang of Light
A poorly implemented theme switch leads to an annoying white flash during loading. For users with dark themes, this is unpleasant – and avoidable.
Browsers don’t transmit theme preferences, so I implement the switch client-side via JavaScript. The state is stored in LocalStorage and processed on load, so no cookie is needed.
The trick to prevent the flashbang? Simple: Set the dark theme always as the CSS default, with a dark global background. JavaScript then adjusts the theme to the user’s preference and sets the actual default theme that the designer intended for the target audience. This way, there’s only a “Flash of Dark,” which doesn’t bother anyone.
css
/* Dark theme as default */
:root {
background-color: #121212; /* Prevents Flashbang */
}
This principle also works for PWAs. The dark default ensures a clean loading experience, whether light or dark is desired.
Multilingualism
Multilingualism is essential to reach users worldwide – with clean SEO and clear structure. Using the “Accept-Language” header, I detect the preferred language and redirect users to the appropriate page, but only when accessing the main URL. Each language version has its own URL, is available in the search index, and can be individually customized.
This way, different language versions can be fully customized, and the language selection is “stored” via the URL, so no cookie is needed.
Performance
Fast websites thrive on minimal server load. My Go backend pre-renders content at startup and keeps it in RAM. The result? Lightning-fast delivery. Alternatively, a reverse proxy like NGINX can deliver static content directly – ideal for scalable solutions.
Many CMS struggle here because they assume too much dynamism or are generally slow. My solution is simple but effective: Static content, smartly organized, pre-rendered.
Other CMS should ideally be configurable to pre-render dynamic content as well.
Accessibility
Accessibility is a big topic in 2025 due to the BFSG – but how it’s implemented remains unclear. I’ve reviewed the law, and there’s no certainty about how strictly it will be interpreted or how violations will be penalized. – That will only become clear in practice and, unfortunately, possibly through the first court rulings.
Luckily, I’m not a large company that has to fear lawsuits for minor errors. Still, I test my website with the Google PageSpeed tool and aim for 100% accessibility to provide users with an optimal experience.
The legislator should provide a binding test tool. It’s relatively easy to develop scanners that find errors – just like automated web crawlers that check hundreds of websites in parallel for law firms and monitor them continuously. A tool that reliably guarantees zero errors is, however, extremely difficult, if not impossible, to develop. Until then, accessibility remains a challenge that we tackle with clean code and thorough testing.
Ironically, government websites – including those specifically dealing with accessibility – are often not fully accessible themselves. ¯\_(ツ)_/¯
Conclusion:
A modern website in 2025 is easily achievable with clear technical approaches – if you know what matters. Performance, multilingualism, and accessibility don’t have to be contradictory.
✅ Tip for Developers and Interested Readers
Test your website with Google PageSpeed for performance and accessibility. No cookie banner? A strong sign of technical cleanliness – as long as no cookies are actually set.
With these approaches, we can build websites that are technically impressive and delight users, and I hope I’ve provided some food for thought.