Industry
Professional Services
Professional-service websites tend to grow page by page until routes, translations, legal copy, menus, and search metadata describe different versions of the site.
I rebuilt this German and Turkish website around typed content and build-time validation, without adding a client-side UI framework that the project did not need.
A bilingual Astro website with typed content, translation-aware routing, publishing guards, and production-safe technical SEO.
Industry
Professional Services
Services
Key Deliverables
Platform Type
Marketing Website
Tech Stack
Partial translations can create broken navigation, incorrect hreflang references, and untranslated pages in search results. Legal content also needs an explicit review state instead of being published because a file happens to exist.
Staging environments must remain indexable enough to test but impossible to confuse with production in search engines.
Astro Content Collections and Zod define typed services, jobs, legal pages, and general content. Locale-independent keys connect German and Turkish entries while route generation only exposes translations that are actually ready.
Build checks validate translation coverage and publishing status before static output is produced.
The site ships German at the root and Turkish under `/tr/`, with locale-aware navigation, canonical URLs, hreflang, sitemap output, page-specific metadata, Open Graph cards, structured data, localized 404 pages, robots.txt, llms.txt, and llms-full.txt.
Legal entries carry states such as published, needs-legal-review, and todo-translate. Deployment checks keep incomplete content out of production, while staging sends X-Robots-Tag noindex, nofollow, noarchive with a guard against applying it to production.
representing partial translation coverage without broken language navigation
preventing unfinished legal content from reaching production
keeping staging out of search results without risking production deindexing
maintaining one page architecture without duplicating locale-specific logic
The result is a fast static site whose content model acts as a publishing system. New pages can be translated, reviewed, indexed, and released through explicit rules instead of relying on manual SEO cleanup.
The strongest part of the project is not a visual component. It is the set of constraints that makes multilingual publishing predictable.
Other projects with related architecture decisions, platforms, or product challenges.
A Bun and Hono tool that discovers pages through sitemap traversal, captures 1920-pixel full-page screenshots, and streams live progress to a lightweight TypeScript interface.
TypeScript · Bun · Hono · Puppeteer · Server-Sent Events
View case study →An in-development operations platform that unifies client records, documents, deadlines, durable workflows, and human-reviewed AI assistance.
TypeScript · Next.js · Hono · tRPC · PostgreSQL
View case study →