Projects

sandwor Brand

Personal portfolio site with a Telegram-powered blog, projects section, and a bilingual UI for sharing experience and work.

  • Next.js
  • React
  • TypeScript
  • Node.js

sandwor is a personal portfolio site featuring a home page, projects, notes, and contact sections, plus a blog that automatically pulls posts from a Telegram channel. Built on Next.js 14 with App Router to serve static pages fast while keeping blog content fresh without manual copy-pasting.

Technical decisions

The codebase follows Feature-Sliced Design: routing lives in the app layer, business entities in entities, and larger UI blocks in widgets and views. Localisation is handled by next-intl with localePrefix: 'never', so the language switches via a cookie toggle with no URL prefixes. Theming uses next-themes with hydration-mismatch protection on the client.

Challenges

The trickiest part was the Telegram integration: posts are parsed from the channel's public page, stripped of emoji and service messages, given a title from the first <b> block, then cached via react.cache() and revalidate for one hour. A webhook was added to purge the tagged cache on every new post, enabling instant content updates without a full rebuild.