Skip to contentI deliberately take on only a few projects at a time – but each one personally.
AthloMetrics – Sports Diagnostics Without a CMS
A rebuild of the website for a Dresden practice for sports diagnostics and nutritional counselling – custom-built, no CMS, no database, no third-party hosts.
AthloMetrics is the practice of Dr. med. Matthias Pohl in Dresden: performance diagnostics and nutritional counselling for endurance athletes – triathlon, cycling, running, swimming. Testing includes lactate analysis, breath gas analysis, resting metabolic rate measurement, bioimpedance analysis and cardiac ultrasound. Anyone booking such an appointment shares health-related information and expects the website to work as carefully as the practice does.
The existing site had served the practice well for years – visually, it was exactly where it needed to be. What changed were the demands on everything sitting behind that design: a practice website whose content stays stable for months does not need to run on a content management system whose maintenance effort continues week after week. Rather than migrating the familiar appearance onto new technology, it was rebuilt one to one – on a foundation that requires no ongoing upkeep.
1. No CMS, no plugins, no database
The site is a custom Next.js application. Content lives as typed data in the repository and is rendered at build time – there is no admin interface anyone could log into, no plugin chain running third-party code, and no database behind the site. Editorial changes go through the same reviewed path as code: change, review, deployment.
2. The site talks to no one but itself
A strict Content Security Policy allows no external hosts at runtime. That includes the conveniences one usually adds without a second thought: instead of an embedded Google Maps frame, a static map excerpt sits in the repository as an image that contacts nobody on page load and only opens Google Maps on click. The one outbound connection is the mail server used by the contact form.
3. A contact form that doesn't lose enquiries
Validation, rate limiting and spam filtering all run server-side. The most expensive failure would not be the spam message that gets through, but the genuine enquiry nobody ever sees – the filtering logic is deliberately conservative. Every enquiry produces a message to the practice and a confirmation to the sender; a health endpoint refuses to report the service as healthy if the mail configuration is incomplete.
4. Visual fidelity as an automated test
The rebuild was not meant to reinvent the practice's familiar appearance but to match it precisely. So that "looks the same" doesn't stay a matter of taste, a browser test measures defined reference points – spacing, sizes, positions – on the rendered rebuild and compares them against values read from the archived original. If something deviates, the check fails before the change goes live.
5. Operations without surprises
Delivery happens through an immutable Docker image. Every build first goes to a protected staging environment that is blocked from search engines; after sign-off, exactly that reviewed build is promoted to production – no second build, no divergence between what was approved and what goes live.
Since 7 September 2026, athlometrics.net has been running on the new foundation: no CMS, no plugin updates, no database – and no third parties reading along when a page is opened. For the practice, the site looks as it did before, but it no longer demands ongoing upkeep, and visitors submit their enquiry to a server that otherwise speaks to nobody.
- Framework: Next.js (custom build, standalone output)
- Content: typed data in the repository, no CMS
- Security: strict Content Security Policy, no third-party hosts at runtime
- Quality assurance: unit and browser tests, including automated measurement against the original
- Operations: Docker image via CI, staging with sign-off before production
Your Project Could Be Next
Is your website running on a CMS that demands more maintenance than its content justifies? Let's talk about your project.
Request Project