Personal product · Maintained

This website — a trilingual personal hub

A fast, accessible home for my projects and writing, designed to show not only what I build but how I make engineering and product decisions.

Role
Product owner, designer, and engineer
Timeline
Aug 2026 — Maintained
Technology
Astro · TypeScript · Tailwind CSS · Markdown · Netlify
Homepage of Denis Bunchenko's personal hub on a desktop screen
The personal hub homepage. Product screenshot.

Problem

A conventional blog feed did not explain the breadth of my work. A new visitor needed a quick route from who I am, through credible evidence, to a way to start a conversation.

Constraints

  • The site had to remain statically generated, fast, and inexpensive to operate.
  • English, Russian, and Polish versions needed equivalent routes and metadata.
  • The interface had to stay quiet and readable while supporting search, comments, newsletter signup, and rich SEO output.

My role

I set the product scope, adapted the visual system, built the Astro implementation, created the multilingual content workflow, and added automated quality checks.

Key decisions

Treat content as structured product data

Articles and projects live in validated Astro content collections. A case study has a stable schema for status, role, decisions, results, media, and related writing rather than relying on page-specific markup.

Prefer static HTML and small enhancements

Astro renders the core experience ahead of time. JavaScript is reserved for focused interactions such as search and the language menu, reducing runtime cost and failure modes.

Make localization part of the architecture

Shared templates generate three locale trees, while translated content files keep substantial prose readable and independent. Canonical, hreflang, RSS, sitemap, and structured-data output are checked at build time.

Let editorial restraint carry the brand

A monochrome notebook-inspired system, restrained olive accent, strong typography, and visible grid replace decorative UI with hierarchy and generous reading space.

Results

  • A statically generated personal hub with localized Home, Projects, Blog, About, Contact, RSS, sitemap, and social metadata across three languages.
  • Automated Astro, TypeScript, ESLint, Prettier, production-build, and generated SEO checks run locally and in continuous integration.
  • Search, newsletter signup, comments, responsive layouts, keyboard navigation, and reduced-motion behavior are integrated without adding a client framework.

Lessons

  • A personal site becomes more useful when the information architecture starts with visitor questions, not with available content types.
  • Localization affects routes, metadata, search, generated files, and maintenance—not only translated strings.
  • A content model earns its keep when empty sections disappear cleanly and future case studies need no template changes.

Screenshots

Desktop view of the personal hub homepage
The homepage leads with focus, selected work, writing, and current priorities.
Desktop view of the projects index
The project index exposes purpose, contribution, and delivery status at a glance.

Delivery status

Completed now: the personal-hub information architecture, two full case studies, multilingual routes, project-aware search, a real launch article, contact form, newsletter, and the existing publishing and SEO pipeline.

Planned next: add case studies only when they can include public evidence, refresh results as the site is used, and keep reducing any interface element that does not help a visitor understand the work.

Publishing workflow

Long-form content stays in Markdown and is validated during the build. Every change passes formatting, linting, type, Astro, production-build, and generated-output checks before deployment to Netlify. That makes publishing closer to a small software release than to editing a database-backed CMS.

Tradeoffs

The file-based workflow is transparent, versioned, and portable, but it expects comfort with Git and Markdown. Maintaining three languages also adds deliberate editorial work. I accepted both costs because control, durable URLs, and inspectable output matter more here than browser-based editing or instant publishing.