SkillAgentSearch skills...

Karhdo.dev

My 🏡 in the ☁: Featuring my portfolio, showcases, code snippets, development logs, and creative ideas.

Install / Use

/learn @Karhdo/Karhdo.dev
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<h1 align="center">Karhdo's Coding Adventure</h1> <p align="center"><i>My desire to practice my skills and share my acquired knowledge fuels my endeavors.</i></p> <div align="center"> <a href="https://github.com/Karhdo/karhdo.dev/stargazers"><img src="https://img.shields.io/github/stars/Karhdo/karhdo.dev" alt="Stars Badge"/></a> <a href="https://github.com/Karhdo/karhdo.dev/network/members"><img src="https://img.shields.io/github/forks/Karhdo/karhdo.dev" alt="Forks Badge"/></a> <a href="https://github.com/Karhdo/karhdo.dev/pulls"><img src="https://img.shields.io/github/issues-pr/Karhdo/karhdo.dev" alt="Pull Requests Badge"/></a> <a href="https://github.com/Karhdo/karhdo.dev/issues"><img src="https://img.shields.io/github/issues/Karhdo/karhdo.dev" alt="Issues Badge"/></a> <a href="https://github.com/Karhdo/karhdo.dev/graphs/contributors"><img alt="GitHub contributors" src="https://img.shields.io/github/contributors/Karhdo/karhdo.dev?color=2b9348"></a> <a href="https://github.com/Karhdo/karhdo.dev/blob/master/LICENSE"><img src="https://img.shields.io/github/license/Karhdo/karhdo.dev?color=2b9348" alt="License Badge"/></a> </div> <br> <p align="center"><i>Loved the project? Please visit our <a href="https://karhdo-blog.vercel.app">Website</a></i></p> <br>

Website

<a href="https://karhdo-blog.vercel.app"><img src="https://raw.githubusercontent.com/Karhdo/karhdo.dev/main/public/static/images/projects/karhdo-blog.png" alt="Image Karhdo's Blog Website" /></a>

Tech Stack

This blog is hosted on Vercel, built with Next.js and Tailwind CSS using Tailwind Nextjs Starter Blog.

Next MDX Vercel React Typescript Tailwind CSS

This blog site takes inspiration from lehuynh.dev. I appreciate Leo Huynh and Timothy Lin for their contribution to this minimal, lightweight, and highly customizable blog starter.

A few major over-engineering-changes from the original repo:

  • ⚛️ Upgrading to React 19, NextJS 16
  • 🎉 Adopting Typescript, committing with Conventional Commits
  • 👀 Theming in dark mode with Tokyonight Neovim Theme colors for better contrast.
  • 👨‍💻 My website refers to the design and code from the lehuynh.dev repository and incorporates the tailwind-nextjs-starter-blog template, version 1.0.
  • 📥 Bumping up mdx-bundler, rehype/remark plugins and dependencies to the latest version

Docker Deployment

Run the blog using Docker with standalone output mode for optimized image size (~200-300MB).

Quick Start

  1. Create a .env file with required environment variables:
POSTGRES_URL=postgresql://postgres:postgres@postgres:5432/karhdo_blog
GITHUB_API_TOKEN=your_github_token
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
SPOTIFY_REFRESH_TOKEN=your_spotify_refresh_token
NEXT_PUBLIC_GISCUS_REPO=your_username/your_repo
NEXT_PUBLIC_GISCUS_REPOSITORY_ID=your_repo_id
NEXT_PUBLIC_GISCUS_CATEGORY=your_category
NEXT_PUBLIC_GISCUS_CATEGORY_ID=your_category_id
  1. Start services:
docker compose up -d
  1. Run migrations:
docker compose exec app pnpm prisma:migrate:deploy
  1. Access at http://localhost:3000

Docker Image: Node.js 24 Alpine with multi-stage build (deps → builder → runner) running as non-root user.

Express Your Support

If this project has been beneficial, show your appreciation with a ⭐

Image Credits

The images utilized within this blog originate from Unsplash, GIFs are sourced from GIPHY, and illustrations are from Storyset.

Extending sincere thanks for these exceptional resources 🙏


<p align="center"><b>Copyright © 2026 - Do Trong Khanh (Karhdo)</b></p> <!-- MARKDOWN LINKS & IMAGES --> <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
View on GitHub
GitHub Stars75
CategoryDevelopment
Updated1mo ago
Forks25

Languages

CSS

Security Score

100/100

Audited on Feb 17, 2026

No findings