Introduction: Eat Your Own Cooking
It is easy to advise teams on quality engineering and then ship a personal project with no tests, no pipeline, and a quiet assumption that it looks fine on my machine. I decided my own site should hold to the standard I ask of others.
This is a short account of treating a small marketing site as a product: where quality engineering actually changed the outcome, and one issue that would have stayed hidden without it.
If a practice is worth recommending, it is worth applying to your own work first.
1. Quality Is a System, Not a Final Check
The temptation on a small site is to test by hand once and call it done. But quality is a property of the whole delivery system, not a moment at the end. The same principle scales down: build, lint, test, and deploy should form one continuous, automated loop even for a personal project.
In practice that meant a pipeline that runs on every push and a production site that only ever reflects what passed through it.
2. Internationalization Is a Contract With Search Engines
The site is bilingual, English and German. The naive approach stores the chosen language in a cookie and serves both languages from the same URL. It looks fine to a person and is invisible to a search engine: Google only ever indexes one version, with no signal that a translated equivalent exists.
The fix was to move the locale into the URL path, /en and /de, and emit hreflang alternates and per-locale canonical tags. Each language is now independently crawlable, and search engines understand the relationship between them.
- Locale in the path, not a cookie, so every language has a stable, indexable URL
- hreflang alternates (en, de, x-default) and a per-locale canonical on every page
- A localized sitemap and a per-language RSS feed
If two languages share one URL, only one of them exists as far as search is concerned.
3. Cross-Browser Tests Earn Their Keep
I added an end-to-end suite running across Chromium, Firefox, and WebKit. The WebKit coverage paid for itself almost immediately.
After I introduced a Content-Security-Policy, the interactive features still worked in Chrome and Firefox, but a WebKit test failed. The cause was a single CSP directive, upgrade-insecure-requests, which WebKit applies even to localhost while Chromium and Firefox exempt it. Over the plain-HTTP test server, WebKit tried to load the page scripts over HTTPS, they failed, and nothing hydrated.
In production everything is served over HTTPS, so real Safari users were never affected. But the test surfaced a genuine engine difference I would otherwise have carried as a silent assumption, and the directive was redundant with HSTS, so removing it cost nothing.
A test that only passes in the browser you happen to use is not a test you can trust.
4. The Pipeline Is the Source of Truth
Manual verification does not survive contact with a busy week. The continuous integration pipeline runs lint, a production build, and the full end-to-end suite across three browser engines on every change.
Performance, accessibility, and SEO are audited separately as a non-blocking report, so a score dip informs without halting a deploy. The hard gates stay deterministic; the softer signals stay visible.
5. Small Details Compound
Most of the work was unglamorous and cumulative. No single change is dramatic; together they are the difference between a page that merely renders and one that is engineered.
- Security headers: a content-security-policy, framing and content-type protections, and a tightened referrer policy
- A profile image re-encoded from 2.2 MB to roughly 20 KB with no visible quality loss
- Dynamic Open Graph images so every shared link previews with its own title
- Structured data and an RSS feed so the writing is discoverable, not just present
Conclusion: The Medium Is the Message
For a quality engineering practitioner, the most honest portfolio is one built the way you would have a team build a product: tested, measured, internationalized, and observable.
The point was never the website. It was that the discipline applies at any scale, and that the cheapest place to catch a defect is always before anyone else sees it.
The most convincing case study for quality engineering is the thing you built to describe it.