Command Palette

Search for a command to run...

GitHub

Changelog

    • Every page — including the new World Cup page — is now reachable from the ⌘K command palette.

    • Retired the experimental AI blog and its weekly cron writer.

    • The site now builds without any secrets — database and Redis clients connect lazily.

    • Added a World Cup 2026 page with live scores and match detail, reached from a new “etc” menu in the header.

    • Restructured the tech stack into titled category rows for faster scanning.

    • Added a Components page — a live showcase of UI built for the site: tags input, code block, and terminal block.

    • Added this changelog page — a timeline of big milestones, linked from the header.

    • Added a ⌘K command palette with section navigation, project search, social links, and quick actions.

    • Shipped a page-view counter backed by Drizzle and Redis dedup, with a cumulative views chart.

    • Animated dotted world map on the cover, marking Ho Chi Minh City.

    • Typing animation cycling through roles in the profile section.

    • Root-level error boundary so failures land softly instead of a blank screen.

    • Added a bookmarks section — a public reading log of tools and resources.

    • Dedicated project detail pages with image galleries, zoom, and richer descriptions.

    • Profile download menu — export the resume as PDF, Markdown, or JSON.

    • Experience, education, certifications, and awards sections, plus a table-of-contents minimap.

    • Full SEO pass — metadata, OG image, sitemap, robots.txt, and llms.txt.

    • Top scroll progress bar and a sound engine wired to the @soundcn registry.

    • Hero cover, profile, overview, and social-links sections built out.

    • Coding section with a GitHub contribution heatmap and activity stats.

    • New sticky header with theme toggle and profile constants.

    • Dropped i18n entirely — the site is now English-only.

    • Turborepo + Next.js scaffold with a shared `@repo/core` package.

    • Husky, lint-staged, commitlint, and GitHub Actions CI.

    • Canonical profile data lives in `content/profile/*.md`.