<SYSTEM>This document contains comprehensive information about Chánh Đại's professional profile, portfolio, and blog content. It includes personal details, work experience, projects, achievements, certifications, and all published blog posts. This data is formatted for consumption by Large Language Models (LLMs) to provide accurate and up-to-date information about Chánh Đại's background, skills, and expertise as a Design Engineer.</SYSTEM>

# chanhdai.com

> A pixel-perfect dev portfolio and shadcn registry showcasing my work as a Design Engineer.

## About

I’m Chánh Đại (call me Dai) — a Design Engineer with 5+ years of experience, known for pixel-perfect execution and an obsessive attention to detail.

Passionate about exploring new technologies and turning ideas into reality through polished, thoughtfully crafted projects.

Creator of [chanhdai.com](https://github.com/ncdai/chanhdai.com) (2k stars), [React Wheel Picker](https://react-wheel-picker.chanhdai.com) (30k+ weekly downloads, ▲Vercel OSS Program), and [ZaDark](https://zadark.com) (80k+ downloads, 30k+ users) — peak metrics.

### Personal Information

- First Name: Chánh Đại
- Last Name: Nguyễn
- Display Name: Chánh Đại
- Location: Ho Chi Minh City, Viet Nam
- Website: https://chanhdai.com

### Social Links

- [X](https://x.com/iamncdai)
- [GitHub](https://github.com/ncdai)
- [LinkedIn](https://linkedin.com/in/ncdai)
- [daily.dev](https://app.daily.dev/ncdai)
- [Discord](https://discord.com/users/1186630645443739651)
- [YouTube](https://www.youtube.com/@ncdai)

### Tech Stack

- [TypeScript](https://www.typescriptlang.org)
- [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- [Python](https://www.python.org)
- [React](https://react.dev)
- [Next.js](https://nextjs.org)
- [Tailwind CSS](https://tailwindcss.com)
- [shadcn/ui](https://ui.shadcn.com)
- [Radix UI](https://www.radix-ui.com)
- [Base UI](https://base-ui.com)
- [Motion](https://motion.dev)
- [Expo](https://expo.dev)
- [TanStack](https://tanstack.com)
- [MobX-State-Tree](https://mobx-state-tree.js.org)
- [Node.js](https://nodejs.org)
- [Bun](https://bun.sh)
- [PostgreSQL](https://www.postgresql.org)
- [MongoDB](https://www.mongodb.com)
- [Redis](https://redis.io)
- [nginx](https://nginx.org)
- [Cursor](https://cursor.com)
- [Claude](https://claude.ai)
- [Gemini](https://gemini.google.com)
- [ChatGPT](https://chatgpt.com)
- [Git](https://git-scm.com)
- [GitHub](https://github.com)
- [Docker](https://www.docker.com)
- [Vercel](https://vercel.com)
- [OpenPanel](https://openpanel.dev)
- [PostHog](https://posthog.com)
- [Figma](https://www.figma.com)
- [Paper](https://paper.design)
- [Photoshop](https://www.adobe.com/vn_en/products/photoshop.html)

## Experience

### Design Engineer | shadcncraft

Duration: 01.2026 - Present

Skills: TypeScript, Next.js, Tailwind CSS, shadcn/registry, Figma, Polar, Storybook, Design

- Design and build Pro components/blocks, from Figma to production-ready React.
- Build and maintain the @shadcncraft registry.
- Build and enhance features for the marketing website.
- Build and maintain Storybook documentation.
- Design and build the Upgrade Bundle feature.

### Design Engineer | Quaric

Duration: 03.2024 - Present

Skills: Next.js, Strapi, Auth0, VNPAY-QR, Docker, NGINX, Google Cloud, Docusaurus, Extension, UI/UX Design, UX Writing, Design System, Brand Design, Figma

- Created Quaric Brand Identity.
- Created the Quaric Design System to standardize design practices and accelerate development.

In-house Project: [Quaric Website](https://quaric.com)
- Designed the UI/UX for Quaric Website, delivering a seamless experience.
- Developed online ordering to streamline purchases.
- Integrated VNPAY-QR for secure transactions.
- Registered the e-commerce site with [online.gov.vn](http://online.gov.vn/website/chi-tiet-115855) for compliance.

In-house Project: [ZaDark](https://zadark.com)
- Build and maintain ZaDark.com with Docusaurus, integrating AdSense.
- Develop and maintain the ZaDark extension for Zalo Web on Chrome, Safari, Edge, and Firefox — with 20k+ active users via Chrome Web Store (as of Sep 2025).

### Founder | Quaric

Duration: 03.2024 - Present

Skills: Business Ownership, Business Law, Business Tax

undefined

### Senior Frontend Developer | Simplamo

Duration: 10.2022 - 01.2026

Skills: TypeScript, Next.js, React Native, MobX, MobX-State-Tree, Tailwind CSS, Dify, Zalo Mini App, Agile

- Built Tree & Gantt views features to improve goal organization, visibility, and progress tracking.
- Developed [AI Chat](https://help.simplamo.com/features/simplamo-ai/ai-chat/guide_simplamo_ai_chat?ref=IN-926722) and [AI Assistant](https://help.simplamo.com/features/simplamo-ai/ai-expert/aiexpert-rockdiscribe?ref=IN-926722) features.
- Developed [Whiteboards](https://help.simplamo.com/features/whiteboard/overview?ref=IN-926722) with real-time collaboration.
- Built and maintained the [Zalo Mini App](https://zalo.me/s/1736112917405511258/) for Simplamo with seamless integration.
- Developed interactive chart and analytics widgets for the [Dashboard](https://help.simplamo.com/features/dashboard/overview) to enhance data visualization.
- Developed and maintained core features to enhance functionality and user experience.
- Ensured UI/UX consistency and adherence to standards.
- Implemented robust frontend solutions for web and mobile platforms.
- Analyzed technical capabilities and provided optimal solutions.

### UI Lead | Simplamo

Duration: 10.2022 - 01.2026

Skills: Creativity, UI/UX Design, Figma

- Ensured UI/UX consistency and high-quality standards.
- Designed intuitive, user-focused interfaces aligned with business goals.
- Defined and established a cohesive UI style for Simplamo.

### Web Developer | Tung Tung

Duration: 2020 - 2022

Skills: React, Redux, Storybook, Lerna, Agile

- Built a scalable design system for consistency and efficiency.
- Built a complex rich-text editor based on ProseMirror and Slate for customizable content creation.
- Integrated APIs with the Backend Team to enhance functionality.

### Mobile Developer | Tung Tung

Duration: 2019 - 2020

Skills: React Native, Redux, MoMo Payment API, App Store, Google Play Store, App Center, Agile

- Rebuilt the app with React Native for better UX and performance.
- Integrated MoMo and in-app purchases for seamless payments.
- Optimized deployment for staging and production.
- Published on App Store and Google Play, ensuring compliance.

### UI/UX Designer | Tung Tung

Duration: 2018 - 2019

Skills: UI/UX Design, Sketch

- Designed a Landing Page for enterprise clients.
- Redesigned the Online Quiz Platform for a modern look on web and mobile.
- Redesigned the Pricing interface for individual customers.
- Enhanced UX by improving usability, navigation, and user flow.

### Full-stack Developer | Freelance

Duration: 2018 - 2020

Skills: Laravel, React, Express.js, Socket.IO, MongoDB, Firebase, WordPress, Docker, NGINX

- Built an order management website with real-time delivery tracking.
- Developed an e-commerce site for bird’s nest products.
- Created a map to display monitoring station data.
- Designed a customizable WordPress landing page.

### Graphic & UI/UX Designer | Freelance

Duration: 2018 - 2019

Skills: Creativity, UI/UX Design, Graphic Design, Sketch, Adobe Photoshop, Adobe Illustrator

Designed logos, posters, ads, and UI.

## Projects

### React Wheel Picker

Project URL: https://react-wheel-picker.chanhdai.com

Skills: Open Source, React, TypeScript, Monorepo, Turborepo, pnpm-workspace, Package Publishing, NPM Registry, GitHub Actions

iOS-like wheel picker for React with smooth inertia scrolling and infinite loop support. / Backed by [▲Vercel OSS Program](https://vercel.com/blog/summer-2025-oss-program#react-wheel-picker)
- Natural touch scrolling with smooth inertia, mouse drag and scroll for desktop
- Infinite loop scrolling
- Unstyled core for complete style customization
- Full keyboard navigation and type-ahead search

### chanhdai.com

Project URL: https://github.com/ncdai/chanhdai.com

Skills: Open Source, Next.js 16, Tailwind CSS v4, Radix UI, Base UI, Motion, shadcn/ui, shadcn registry, Vercel

A pixel-perfect dev portfolio and shadcn registry.

### quaric.com

Project URL: https://quaric.com

Skills: Company Project, Next.js 15, Tailwind CSS v3, shadcn/ui, Strapi 5, VNPAY-QR, Docker, Docker Compose, NGINX

### ZaDark

Project URL: https://zadark.com

Skills: Pet Project, Open Source, Browser Extension, CLI, Docusaurus 3

ZaDark adds Dark Mode, anti-peeking, customizable fonts, backgrounds, and more to Zalo Web and PC.
- Earned 10M+ VND in net sales from a paid Safari Extension*
- 80k+ downloads on SourceForge* (awarded Community Leader badge by SourceForge)
- 30k+ active users via Chrome Web Store*
- Bronze Medal — 10th Design, Manufacturing, and Application Award 2022

<p class="text-muted-foreground">* Peak metrics.</p>

### QABox

Project URL: https://github.com/ncdai/qabox

Skills: University Project, PHP, MySQL, MVC, Docker, Docker Compose

- Course: Distributed Applications — FIT@HCMUS
- Project Score: 10/10
- Source Code: https://github.com/ncdai/qabox

### TaskBox

Project URL: https://github.com/ncdai/taskbox

Skills: University Project, PHP, MySQL, MVC, Docker, Docker Compose

- Course: Distributed Applications — FIT@HCMUS
- Project Score: 10/10
- Source Code: https://github.com/ncdai/taskbox

### DaiChat App

Project URL: https://www.youtube.com/watch?v=H5U3J_W1low

Skills: University Project, Java, Java Swing, Java Networking

- Course: Java Application Programming — FIT@HCMUS
- Requirement: Developed a real-time chat application using Java technologies
- Project Score: 10/10
- Source Code:
  - Server: https://github.com/ncdai/ltudjava-summer2020-chatapp_server
  - Client: https://github.com/ncdai/ltudjava-summer2020-chatapp_client

### QLSV App

Project URL: https://www.youtube.com/watch?v=tG9SZEBrwog

Skills: University Project, Java, Java Swing, Hibernate, MySQL

- Course: Java Application Programming — FIT@HCMUS
- Requirement: Built a student management system with role-based functionalities using Java technologies
- Project Score: 10/10
- Source Code: https://github.com/ncdai/ltudjava-summer2020-hibernate

### Penphy

Project URL: https://www.youtube.com/watch?v=EdU7rUO-UA4

Skills: Startup Project, JavaScript, React Native

2nd Prize — Business Startup Competition 2019

### UnlimitedStudy

Project URL: https://muctim.tuoitre.vn/cong-cu-ho-tro-viec-day-va-hoc-55107.htm

Skills: National Competition, Creative Software, PHP, Laravel 4, MySQL, jQuery, Bootstrap 3

UnlimitedStudy is a website that provides teaching and learning support tools for teachers and students.
- 3rd Prize — National Science and Engineering Fair 2018 (ViSEF)
- 1st Prize — Can Tho City Science and Engineering Fair 2018
- 3rd Prize — National Young Informatics Contest 2018
- 2nd Prize — Can Tho City Youth and Children’s Creativity Contest 2018
- 3rd Prize — Can Tho City Young Informatics Contest 2018
- Reached 7k+ users, mainly high school students in Can Tho City
- Pilot implemented in high schools across Can Tho City with English quizzes, supervised by English subject specialists from the Can Tho City Department of Education and Training

### DMessage

Project URL: https://github.com/ncdai/DMessage

Skills: Self-learning Project, Pet Project, Express.js, Socket.io, MongoDB, Mongoose ODM

A Messenger clone built to practice real-time communication using Socket.IO. This project showcases my self-learning journey in implementing WebSockets for instant messaging.

### Study English

Project URL: https://www.youtube.com/watch?v=OYgugvjqU4A

Skills: National Competition, Creative Software, PHP, Laravel 4, MySQL

Study English is a free, mobile-friendly website for high school English learning, offering vocabulary, quizzes, listening practice, and more.
- Consolation Prize — National Youth and Children’s Creativity Contest 2016
- 1st Prize — Can Tho City Youth and Children’s Creativity Contest 2016
- Consolation Prize — Can Tho City Young Informatics Contest 2016

## Awards

### 1st Prize | Can Tho City Young Informatics Contest 2014

- Field: Creative Software
- Project: Website Hành Trình Khám Phá Miền Tây

### Consolation Prize | National Young Informatics Contest 2014

- Organized in Hanoi, Viet Nam
- Field: Creative Software
- Project: Website Hành Trình Khám Phá Miền Tây

### 3rd Prize | Can Tho City Young Informatics Contest 2015

- Field: Creative Software
- Project: VietnamStudy Learning Application

### 3rd Prize | Can Tho City Young Informatics Contest 2015

- Field: Informatics Knowledge and Skills
- Programming Language: Pascal

### Consolation Prize | National Young Informatics Contest 2015

- Organized in Binh Duong, Viet Nam
- Field: Informatics Knowledge and Skills
- Programming Language: Pascal

### Outstanding Student | Most Outstanding Student of the District

Recognized by the District for exceptional academic and personal achievements as the Outstanding Student of the locality.

### 2nd Prize | Can Tho City Youth and Children’s Creativity Contest 2015

- Field: Software
- Project: VietnamStudy Learning Application

### 3rd Prize | Can Tho City Science and Engineering Fair 2015

- Field: Computer Science
- Project: Distance Calculation System for Provinces, Cities, and Districts in the Mekong Delta

### Consolation Prize | Can Tho City Young Informatics Contest 2016

- Field: Creative Software
- Project: Study English

### 1st Prize | Can Tho City Youth and Children’s Creativity Contest 2016

- Field: Software
- Project: Study English

### 3rd Prize | National Young Informatics Contest 2016

- Organized in Quang Binh, Viet Nam
- Field: Hardware Programming
- Project: IoT Technology Application for Smart Home Control

### Consolation Prize | National Youth and Children’s Creativity Contest 2016

- Organized in Hanoi, Viet Nam
- Field: Software
- Project: Study English

### 2nd Prize | Can Tho City Outstanding Student Selection Exam 2016-2017

- Subject: Informatics (Programming)
- Programming Language: C++

### Consolation Prize | Can Tho City Young Informatics Contest 2017

- Field: Creative Software
- Project: Formula - Social network for sharing solutions and problem-solving methods

### 3rd Prize | Can Tho City Young Informatics Contest 2017

- Field: Informatics Knowledge and Skills
- Programming Language: C++

### 2nd Prize | Can Tho City Youth and Children’s Creativity Contest 2017

- Field: Software
- Project: We Study All — Multi-Platform Learning Support Tool

### Creative Award | Binh Duong Hackathon 2017

- Completed the Binh Duong Smart Map product within 24 hours
- Youngest competing team to win an award

### 1st Prize | Can Tho City Science and Engineering Fair 2018

- Field: System Software
- Project: [UnlimitedStudy](https://muctim.tuoitre.vn/cong-cu-ho-tro-viec-day-va-hoc-55107.htm)

### 3rd Prize | Can Tho City Outstanding Student Selection Exam 2017-2018

- Subject: Informatics (Programming)
- Programming Language: C++

### 3rd Prize | National Science and Engineering Fair 2018 (ViSEF)

- Organized in Lam Dong, Viet Nam
- Field: System Software
- Project: [UnlimitedStudy](https://muctim.tuoitre.vn/cong-cu-ho-tro-viec-day-va-hoc-55107.htm)

### 3rd Prize | Can Tho City Young Informatics Contest 2018

- Field: Creative Software
- Project: [UnlimitedStudy](https://muctim.tuoitre.vn/cong-cu-ho-tro-viec-day-va-hoc-55107.htm)

### 2nd Prize | Can Tho City Youth and Children’s Creativity Contest 2018

- Field: Software
- Project: [UnlimitedStudy](https://muctim.tuoitre.vn/cong-cu-ho-tro-viec-day-va-hoc-55107.htm)

### 3rd Prize | National Young Informatics Contest 2018

- Organized in Ba Ria - Vung Tau, Viet Nam
- Field: Creative Products
- Project: [UnlimitedStudy](https://muctim.tuoitre.vn/cong-cu-ho-tro-viec-day-va-hoc-55107.htm)

### 2nd Prize | Business Startup Competition 2019

- Organized by University of Economics and Law — VNUHCM
- Project: [Penphy](https://www.youtube.com/watch?v=EdU7rUO-UA4) — Self Development Social Network

### Bronze Medal | 10th Design, Manufacturing, and Application Award 2022

- Organized by Ho Chi Minh City Youth Union
- Field: Software
- Project: [ZaDark](https://zadark.com)

### Summer 2025 cohort | ▲Vercel OSS Program

- Selected for [▲Vercel OSS Program](https://vercel.com/blog/summer-2025-oss-program#react-wheel-picker) summer 2025 cohort
- Received $3,600 in platform credits, OSS Starter Pack, and priority community support
- Project: [React Wheel Picker](https://react-wheel-picker.chanhdai.com)

## Certifications

- [Certificate of Trademark Registration No. 594593](https://drive.google.com/file/d/1XrT62TF4FjItkT2TVq29OzJRm32Bcwfk/view?usp=sharing)
- [Gemini Certified Educator](https://edu.google.accredible.com/c05d3bad-3be0-4915-b41c-b8384357093a)
- [Certificate of Trademark Registration No. 584461](https://drive.google.com/file/d/1paFtOlUGRgH6hXJ47hl3kxCA4HflAHje/view?usp=sharing)
- [Animations on the Web](https://animations.dev/certificate/dfb419c8-5ed7-43f2-b60c-446bc50a39b1)
- [Certificate of Trademark Registration No. 565092](https://drive.google.com/file/d/1NgRp81ZAAUKEtuI9RefG0e8yni6JkoE8/view?usp=sharing)
- [Certificate of Trademark Registration No. 543682](https://drive.google.com/file/d/1x7YzlK1kyz16h28ux9k3KAwnZFAabsvq/view?usp=sharing)
- [Next.js SEO Fundamentals](https://nextjs.org/learn/certificate?course=seo&user=47463&certId=seo-47463-1745634751873)
- [Next.js App Router Fundamentals](https://nextjs.org/learn/certificate?course=dashboard-app&user=47463&certId=dashboard-app-47463-1745633258744)
- [React Foundations for Next.js](https://nextjs.org/learn/certificate?course=react-foundations&user=47463&certId=react-foundations-47463-1745634245158)
- [Certificate of Copyright Registration No. 0040/2025/QTG](https://drive.google.com/file/d/1kVBByVLlYPyyUJvxKga670wvVPNmZ2nV/view?usp=sharing)
- [Vietnamese Standardized Test of English Proficiency (CEFR B1)](https://vbcc.hcmussh.edu.vn/?type=11&certificateType=7&no=QH58202305187&fullName=Nguy%E1%BB%85n+Ch%C3%A1nh+%C4%90%E1%BA%A1i&dob=2000-08-14)
- [Certificate of Copyright Registration No. 7994/2024/QTG](https://drive.google.com/file/d/1otjV4GNOLFj4JD2tHWLuZpUIVyITYNUy/view?usp=sharing)
- [Engaging in Persuasive and Credible Communication](https://coursera.org/verify/C6DHB9A5XQHV)
- [Introduction to Databases](https://coursera.org/verify/YV5VQ5MXZ5YH)
- [Solving Problems with Creative and Critical Thinking](https://coursera.org/verify/4UKZQJGM2932)
- [Digital Skills: Social Media](https://www.futurelearn.com/certificates/pc4345i)
- [The Fundamentals of Digital Marketing](https://drive.google.com/file/d/14laAMWmVKhCfgKwVEgJyWse7o0sZDD4N/view?usp=sharing)
- [Microsoft Office Specialist: Microsoft Office PowerPoint® 2013](https://drive.google.com/file/d/117DE6bMkHvRqXbED2tmSMNkbx9s7OahM/view?usp=sharing)
- [Google Code-in 2016](https://drive.google.com/file/d/162RXtAVIZEvfx6LvP3xeBj-cSI9ZpPUX/view?usp=sharing)
- [HSGS Olympiad 2016](https://drive.google.com/file/d/1eKv-2ldfw8-hF27sKfKWXL8MmwcSkzPq/view?usp=sharing)
- [Microsoft Office Specialist: Microsoft Office Word 2013](https://drive.google.com/file/d/1-NHhjKlQbhlcO7bpRue1XzDgDaudOf2N/view?usp=sharing)

## Blog

---
title: "React Wheel Picker joins Vercel Open Source Program"
description: "Excited to share that my open source project is now officially supported by Vercel."
last_updated: "November 8, 2025"
source: "https://chanhdai.com/blog/react-wheel-picker-joins-vercel-open-source-program"
---

# React Wheel Picker joins Vercel Open Source Program

Excited to share that my open source project is now officially supported by Vercel.

I’m thrilled to share that [React Wheel Picker](https://react-wheel-picker.chanhdai.com) has been selected to join the [▲Vercel OSS Program](https://vercel.com/blog/summer-2025-oss-program#react-wheel-picker) summer 2025 cohort.

<FramedImage className="hidden [html.dark_&]:block" src="https://assets.chanhdai.com/images/blog/vercel-oss-program-summer-2025-cohort-dark.webp" alt="Vercel Open Source Program Summer 2025 Cohort" />

<FramedImage className="hidden [html.light_&]:block" src="https://assets.chanhdai.com/images/blog/vercel-oss-program-summer-2025-cohort-light.webp" alt="Vercel Open Source Program Summer 2025 Cohort" />

React Wheel Picker is a lightweight, customizable, and touch-friendly picker component for React — built to deliver a smooth, native-like scrolling experience across modern browsers. It started as a side project, and it’s been amazing to see it grow with the help of open source contributors and feedback from users.

Being part of Vercel OSS Program means the project will receive $300/month in infrastructure credits for the next 12 months, along with support from the developer community. I’m incredibly grateful for Vercel’s support — it’s a big motivation to keep improving the project and pushing it forward.

If you’re curious, feel free to explore the demo or dive into the code:

* Live Demo: [https://react-wheel-picker.chanhdai.com](https://react-wheel-picker.chanhdai.com)
* GitHub Repository: [https://github.com/ncdai/react-wheel-picker](https://github.com/ncdai/react-wheel-picker)


Last updated on November 8, 2025

---
title: "Followed by @shadcn on X"
description: "Still can’t believe it — such an honor."
last_updated: "June 21, 2025"
source: "https://chanhdai.com/blog/followed-by-shadcn-on-x"
---

# Followed by @shadcn on X

Still can’t believe it — such an honor.

Can’t describe how it feels to be followed by someone I truly admire — the creator of something I use and appreciate every day.

<FramedImage src="https://assets.chanhdai.com/images/blog/followed-by-shadcn-on-x.webp" alt="followed-by-shadcn-on-x" />

Thank you [@shadcn](https://x.com/shadcn) for rethinking how we approach component libraries — your idea of shipping components as code, not packages, has changed the way we build, share, and own our UI. Truly appreciate the clarity and philosophy behind [shadcn/ui](https://ui.shadcn.com).


Last updated on June 21, 2025

---
title: "OrcDev discovered the wildest shadcn component libraries ever"
description: "Recently, OrcDev discovered some of the wildest component libraries built on shadcn, and a few of them genuinely stand out. Each library targets a completely different use case and aesthetic, showing just how flexible and future-ready this ecosystem is becoming."
last_updated: "March 27, 2026"
source: "https://chanhdai.com/blog/orcdev-discovered-the-wildest-shadcn-component-libraries-ever"
---

# OrcDev discovered the wildest shadcn component libraries ever

Recently, OrcDev discovered some of the wildest component libraries built on shadcn, and a few of them genuinely stand out. Each library targets a completely different use case and aesthetic, showing just how flexible and future-ready this ecosystem is becoming.

Watch his full breakdown in the video below:

<YouTubeEmbed videoId="Q6EsvPNBicQ" title="I Discovered the WILDEST Shadcn Component Libraries Ever" />

You can explore all the component libraries featured in the video through the links below:

* [https://www.pixel-perfect.space](https://www.pixel-perfect.space)
* [https://www.soundcn.xyz](https://www.soundcn.xyz)
* [https://www.scificn.dev](https://www.scificn.dev)
* [https://chanhdai.com/components](https://chanhdai.com/components) (This is me, truly honored to be included in the list)


Last updated on March 27, 2026

---
title: "OrcDev and Francesco Ciulla reviewed my open source portfolio"
description: "My perfect last day of the year – having my portfolio reviewed by @orcdev and @FrancescoCiull4."
last_updated: "January 4, 2026"
source: "https://chanhdai.com/blog/orcdev-and-francesco-ciulla-reviewed-my-open-source-portfolio"
---

# OrcDev and Francesco Ciulla reviewed my open source portfolio

My perfect last day of the year – having my portfolio reviewed by @orcdev and @FrancescoCiull4.

Huge thanks to these two legends for the valuable feedback. I’ll be updating it soon and getting ready for an explosive 2026!

<YouTubeEmbed videoId="m7OgBhY36tU?start=3200" title="Reviewing YOUR Open Source Projects LIVE - Holiday Special 🎄" />

> Source: [https://www.youtube.com/watch?v=m7OgBhY36tU\&t=3200s](https://www.youtube.com/watch?v=m7OgBhY36tU\&t=3200s)

OrcDev reviews open-source projects weekly. Feel free to submit your project at [review.thehorde.dev](https://review.thehorde.dev), and don’t forget to follow OrcDev on [X](https://x.com/orcdev) or [YouTube](https://www.youtube.com/@orcdev) for more great tech content.


Last updated on January 4, 2026

---
title: "chanhdai.com highlighted in video by creator of Aceternity UI: Make your portfolio unforgettable"
description: "Discover actionable tips to make your portfolio stand out and get noticed."
last_updated: "November 18, 2025"
source: "https://chanhdai.com/blog/chanhdai-com-highlighted-in-video-by-creator-of-aceternity-ui-make-your-portfolio-unforgettable"
---

# chanhdai.com highlighted in video by creator of Aceternity UI: Make your portfolio unforgettable

Discover actionable tips to make your portfolio stand out and get noticed.

I’m really glad that my portfolio website was mentioned in the video. Thanks [@mannupaaji](https://x.com/mannupaaji) — I’m really happy that you noticed and explained the small details I put a lot of care into.

<YouTubeEmbed videoId="-IJijYBPuk0" title="Stop Getting Ignored! Make Your Portfolio Unforgettable | Manu Arora" />

> Source: The content, including the thumbnail, is from the original video: [https://www.youtube.com/watch?v=-IJijYBPuk0](https://www.youtube.com/watch?v=-IJijYBPuk0)

*Below is a concise summary of key insights from the video, generated by AI.*

***

Your portfolio website is live — projects listed, links added, screenshots uploaded — but no one seems interested. No calls. No messages. No visitors.

If that’s the case, you’re not alone. Most developers unknowingly make the exact same mistakes.
This article outlines six key reasons why your portfolio fails to attract attention, and how to fix each one.

## 1. You’re not providing any real value

A portfolio isn’t just a digital resume. It’s your digital playground — a place to teach, share, and build authority.

If you want organic traffic, backlinks, and recognition, you need to provide value through:

* Blogs
* Components
* Tutorials
* Experiments / Labs
* Case studies

Example:

* A front-end developer could publish reusable components or UI experiments.
* A backend engineer could write performance guides or system design blogs.

Value creates backlinks, backlinks create authority, and authority brings traffic.

No one visits a website that only lists projects.

People visit a website that helps them.

## 2. You’re showing projects, not stories

Most portfolios dump GitHub links and raw screenshots. That’s not enough.

A project needs a story:

* What problem were you solving?
* What makes the solution unique?
* What impact did it create?
* What technologies and decisions mattered?
* What are the results (metrics, analytics, outcomes)?

Good packaging matters:

* High-quality, well-framed screenshots
* Clear descriptions
* Live demo links
* Thoughtful visuals

This extra effort puts you far above generic "project dump" portfolios.

## 3. Your design looks like it’s from 2015

Design matters more than most developers admit.

Good design isn’t gradients and glassmorphism — it’s:

* Spacing
* Typography
* Alignment
* White space
* Visual hierarchy
* Micro-interactions

Recruiters instantly judge visual quality. A polished site communicates:

* Care for detail
* Thoughtfulness
* Front-end craftsmanship
* Professionalism

A modern, balanced, aesthetic design dramatically increases your chances of being noticed.

## 4. Your website isn’t interactive or memorable

Small micro-interactions make your site feel alive:

* Tooltips
* Cursor-follow animations
* Hover states
* Motion/GSAP effects
* Subtle transitions
* Playful elements

Memorability is a superpower.

It could be:

* A unique animation
* A custom component
* A fun interactive mascot
* A personal touch that users remember

These details make your portfolio stand out in the recruiter’s mind long after they close the tab.

## 5. You’re not positioning yourself correctly

* "Frontend Developer"
* "Backend Developer"
* "Fullstack Developer"

→ These are too generic.

You need to niche down:

* React Developer with a focus on UI performance
* Node.js Engineer building scalable backend systems
* Frontend Engineer specializing in Figma-to-code workflows
* DevOps Engineer focused on automation and cloud tooling

Specificity makes you discoverable.

Specificity makes you memorable.

Specificity attracts the right kind of opportunities.

Build projects and content around the niche you want to be hired for — not everything you’ve ever learned.

## 6. You’re not treating your portfolio like a product

A strong portfolio behaves like a SaaS product:

* Clear CTAs
* Contact links
* Calendly/booking options
* Analytics (PostHog, Plausible, etc.)
* Testimonials
* Case studies
* A well-defined value proposition

Your portfolio should guide visitors, track behavior, and optimize for conversions.

Every improvement compounds:

* Better UX → more engagement
* More content → more authority
* More authority → more backlinks
* More backlinks → more traffic
* More traffic → more opportunities

Treat it like a product, not a static resume.

## Final thoughts

Improving your portfolio requires real work — design, writing, storytelling, structure, value creation, and iteration.
But the payoff is massive.

If you provide value, stand out visually, position yourself clearly, and treat your portfolio like a living product, you will get more:

* Interview calls
* Client messages
* Collaborations
* Visibility
* Opportunities

Make your portfolio something worth sharing — and the internet will share it for you.


Last updated on November 18, 2025

---
title: "Tips for creating beautiful image borders"
description: "Borders help images stand out, but fixed colors often clash with the content. Here’s a simple tip to make borders look more natural and balanced."
last_updated: "September 13, 2025"
source: "https://chanhdai.com/blog/tips-for-creating-beautiful-image-borders"
---

# Tips for creating beautiful image borders

Borders help images stand out, but fixed colors often clash with the content. Here’s a simple tip to make borders look more natural and balanced.

## The common way: Solid color border

The most basic method is to add a solid border with a fixed color, like a soft black or white:

<FramedImage src="https://assets.chanhdai.com/images/blog/sample-1.webp?v=1" alt="Sample 1" />

```tsx
<img
  src="https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d"
  className="rounded-xl border border-black/10 dark:border-white/10"
/>
```

This works fine, but if the image has many colors, the fixed border may not blend well and can look distracting.

## A better way: Border that adapts to the image

Instead of setting the border color directly, you can use a wrapper with a subtle `ring`. This way, the border adapts better to the image content, creating a softer, more natural look:

<FramedImage src="https://assets.chanhdai.com/images/blog/sample-2.webp?v=1" alt="Sample 2" />

```tsx
<div className="relative">
  <img
    src="https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d"
    className="rounded-xl"
  />
  <div className="pointer-events-none absolute inset-0 rounded-xl inset-ring-1 inset-ring-black/10 dark:inset-ring-white/10" />
</div>
```

With this technique, the border is visible enough to separate the image from the background, but it won’t steal focus from the image itself.

## Real-world example

This technique is already used in real products. For example, here’s a screenshot from the App Store, where images have subtle adaptive borders. The borders are soft enough to separate the image from the background, while still keeping the focus on the content inside.

<FramedImage src="https://assets.chanhdai.com/images/blog/sample-3.webp?v=1" alt="Sample 3" />

<FramedImage src="https://assets.chanhdai.com/images/blog/sample-4.webp?v=1" alt="Sample 4" />

## Conclusion

If you want your images to look cleaner and more polished, try switching from a fixed `border-color` to a `ring` that adapts to the image. It’s a small change, but it makes the design feel much more modern and balanced.


Last updated on September 13, 2025

---
title: "Two of my projects featured on OrcDev’s YouTube channel"
description: "Both My Portfolio Website and React Wheel Picker were highlighted by OrcDev in his videos about shadcn tools."
last_updated: "September 6, 2025"
source: "https://chanhdai.com/blog/two-of-my-projects-featured-on-orcdev-s-youtube-channel"
---

# Two of my projects featured on OrcDev’s YouTube channel

Both My Portfolio Website and React Wheel Picker were highlighted by OrcDev in his videos about shadcn tools.

I’m thrilled that two of my projects were recently featured by [OrcDev](https://www.youtube.com/@orcdev) on his YouTube channel in videos about [shadcn](https://ui.shadcn.com) tools!

My Portfolio Website ([chanhdai.com](https://chanhdai.com)) was highlighted in "**Top 10 Shadcn Tools You Need Right Now!**" — OrcDev described it as one of the best open-source developer portfolios, built with Next.js and shadcn/ui.

<YouTubeEmbed videoId="-rdqQhw1_4M?start=313" title="Top 10 Shadcn Tools You Need Right Now!" />

> Source: [https://www.youtube.com/watch?v=-rdqQhw1\_4M\&t=313s](https://www.youtube.com/watch?v=-rdqQhw1_4M\&t=313s)

[React Wheel Picker](https://react-wheel-picker.chanhdai.com) appeared in "**10 Tools to Make Your Shadcn Apps Beautiful**" — It’s an iOS-like wheel picker for React with smooth inertia scrolling and infinite loop support, proudly backed by the [▲Vercel OSS Program](https://vercel.com/blog/summer-2025-oss-program#react-wheel-picker).

<YouTubeEmbed videoId="udfFLIx_ITc?start=272" title="10 Tools to Make Your Shadcn Apps Beautiful" />

> Source: [https://www.youtube.com/watch?v=udfFLIx\_ITc\&t=272s](https://www.youtube.com/watch?v=udfFLIx_ITc\&t=272s)

Big thanks to [OrcDev](https://x.com/theorcdev) for featuring both projects. If you’re building with shadcn, I’d love for you to check them out and see how they can fit into your apps!


Last updated on September 6, 2025

---
title: "Manu Arora reviewed my portfolio website"
description: "A heartfelt moment when the creator of Aceternity UI — Manu Arora, shared his thoughts on my portfolio website."
last_updated: "August 4, 2025"
source: "https://chanhdai.com/blog/manu-arora-reviewed-my-portfolio-website"
---

# Manu Arora reviewed my portfolio website

A heartfelt moment when the creator of Aceternity UI — Manu Arora, shared his thoughts on my portfolio website.

Here’s the moment that made my day. Watch [Manu Arora](https://x.com/mannupaaji) react to my portfolio site in his YouTube video:

<YouTubeEmbed videoId="zAeQAiP8PwA?start=1445" title="Reacting to Your Projects | Project Review | EP - 5 | Manu Arora" />

> Source: [https://www.youtube.com/watch?v=zAeQAiP8PwA\&t=1444s](https://www.youtube.com/watch?v=zAeQAiP8PwA\&t=1444s)

Thank you so much for the incredibly kind and thoughtful review of my portfolio website!

It truly means a lot to hear such detailed and encouraging feedback from someone I admire.

I’m so glad you appreciated the design choices, spacing, and component structure — I put a lot of heart into it.

Your insights not only made my day but also motivated me to keep improving and sharing more with the community.

Thanks again for the support and shoutout!


Last updated on August 4, 2025

---
title: "Grateful for the feedback on my portfolio website"
description: "Some kind words from X. Thanks to those behind the tools we rely on."
last_updated: "August 19, 2025"
source: "https://chanhdai.com/blog/grateful-for-the-feedback-on-my-portfolio-website"
---

# Grateful for the feedback on my portfolio website

Some kind words from X. Thanks to those behind the tools we rely on.

I shared my new portfolio website on X recently. I was really surprised and truly grateful to see some thoughtful responses, including from people whose projects and tools I use every day.

Their likes and comments meant a lot to me. These are some of the messages I wanted to save and share here as a small thank you.

Grateful for these likes on X from people I really respect.

<FramedImage src="https://assets.chanhdai.com/images/blog/30c1c78d-6109-11f0-8000-525599bbc211.webp" alt="30c1c78d-6109-11f0-8000-525599bbc211" />

This one made my day.

<FramedImage src="https://assets.chanhdai.com/images/blog/4c988d11-6104-11f0-8001-6b8713234232.webp" alt="4c988d11-6104-11f0-8001-6b8713234232" />

<FramedImage src="https://assets.chanhdai.com/images/blog/d703b7a3-7097-11f0-8000-ec65be034c4f.webp" alt="d703b7a3-7097-11f0-8000-ec65be034c4f" />

It means a lot coming from someone I admire.

<FramedImage src="https://assets.chanhdai.com/images/blog/25396b90-6109-11f0-8000-1f8750dc2460.webp" alt="25396b90-6109-11f0-8000-1f8750dc2460" />

<FramedImage src="https://assets.chanhdai.com/images/blog/36f9789c-7c9e-11f0-8000-f4de0efb535c.webp" alt="36f9789c-7c9e-11f0-8000-f4de0efb535c" />

<FramedImage src="https://assets.chanhdai.com/images/blog/17d14632-6109-11f0-8000-a07466b39582.webp" alt="17d14632-6109-11f0-8000-a07466b39582" />

I was really surprised and grateful to get this message from [Jordan Walke](https://x.com/jordwalke), the creator of [React](https://react.dev/community/acknowledgements):

<FramedImage src="https://assets.chanhdai.com/images/blog/4c9899da-6104-11f0-8003-f9b4032a9bdc.webp" alt="4c9899da-6104-11f0-8003-f9b4032a9bdc" />


Last updated on August 19, 2025

---
title: "ChanhDai Brand"
description: "Key elements of the ChanhDai visual identity, including the mark, logotype, clear space, and more."
last_updated: "June 1, 2025"
source: "https://chanhdai.com/blog/chanhdai-brand"
---

# ChanhDai Brand

Key elements of the ChanhDai visual identity, including the mark, logotype, clear space, and more.

## Mark

<figure>
  <svg className="mx-auto h-auto w-1/3 text-foreground" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 386 258">
    <path fill="currentColor" d="M161 193H97v-32h64v32ZM289 97h-64v64h64v32h-96V65h96v32ZM97 161H65V97h32v64ZM321 161h-32V97h32v64ZM161 97H97V65h64v32Z" />
  </svg>
</figure>

<a href="https://assets.chanhdai.com/images/chanhdai-mark.svg" download>
  Download Mark
</a>

## Logotype

<figure>
  <svg className="mx-auto h-auto w-full text-foreground" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1154 258">
    <path fill="currentColor" d="M161 193H97v-32h64v32Zm128-96h-64v64h64v32h-96V65h96v32ZM97 161H65V97h32v64Zm224 0h-32V97h32v64ZM161 97H97V65h64v32Zm288-16h16v16h-16V81Zm-48-16h48v16h-48V65Zm-16 16h16v96h-16V81Zm16 96h48v16h-48v-16Zm48-16h16v16h-16v-16Zm32-96h16v128h-16V65Zm16 32h48v16h-48V97Zm48 16h16v80h-16v-80Zm48-16h48v16h-48V97Zm-16 16h16v64h-16v-64Zm16 64h32v16h-32v-16Zm32-16h16v16h-16v-16Zm16-64h16v96h-16V97Zm32 0h16v96h-16V97Zm16 0h48v16h-48V97Zm48 16h16v80h-16v-80Zm32-48h16v128h-16V65Zm16 32h48v16h-48V97Zm48 16h16v80h-16v-80Zm48-48h32v16h-32V65Zm32 16h16v16h-16V81Zm0 80h16v16h-16v-16Zm16-64h16v64h-16V97Zm-48 80h32v16h-32v-16ZM865 65h16v128h-16V65Zm112 32h48v16h-48V97Zm-16 16h16v64h-16v-64Zm16 64h32v16h-32v-16Zm32-16h16v16h-16v-16Zm16-64h16v96h-16V97Zm32 0h16v16h-16V97Zm16 0h16v96h-16V97Zm0-32h16v16h-16V65Z" />
  </svg>
</figure>

<a href="https://assets.chanhdai.com/images/chanhdai-logotype.svg" download>
  Download Logotype
</a>

## Clear Space

Maintain a clear space of 1/2 the height of the Mark on all sides of the logo, except in limited cases where the logo remains clearly recognizable and legible.

<figure>
  <svg className="mx-auto h-auto w-1/3 text-foreground" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 386 258">
    <path className="fill-current/8" d="M1 129h64v64H1zM161 193h64v64h-64zM161 1h64v64h-64zM321 129h64v64h-64z" />

    <path className="stroke-current/30" strokeLinecap="square" strokeDasharray="8 4" d="M1 65h384M1 1h384M1 257h384M1 193h384M65 1v256M1 1v256M321 1v256" />

    <path className="stroke-current/30" strokeDasharray="8 4" d="M385 1v256" />

    <path className="stroke-current/30" strokeDasharray="8 4" strokeLinecap="square" d="M1 129h64" />

    <path fill="currentColor" d="M161 193H97v-32h64v32ZM289 97h-64v64h64v32h-96V65h96v32ZM97 161H65V97h32v64ZM321 161h-32V97h32v64ZM161 97H97V65h64v32Z" />
  </svg>
</figure>

<figure>
  <svg className="h-auto w-full text-foreground" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1154 258">
    <path className="fill-current/8" d="M1 129h64v64H1zM161 193h64v64h-64zM161 1h64v64h-64zM705 1h64v64h-64zM705 193h64v64h-64zM1089 129h64v64h-64z" />

    <path className="stroke-current/30" strokeLinecap="square" strokeDasharray="8 4" d="M1 65h1152M1 1h1152M1 257h1152M1 193h1152M65 1v256M1 1v256M1089 1v256" />

    <path className="stroke-current/30" strokeDasharray="8 4" d="M1153 1v256" />

    <path className="stroke-current/30" strokeDasharray="8 4" strokeLinecap="square" d="M1 129h64" />

    <path fill="currentColor" d="M161 193H97v-32h64v32Zm128-96h-64v64h64v32h-96V65h96v32ZM97 161H65V97h32v64Zm224 0h-32V97h32v64ZM161 97H97V65h64v32Zm288-16h16v16h-16V81Zm-48-16h48v16h-48V65Zm-16 16h16v96h-16V81Zm16 96h48v16h-48v-16Zm48-16h16v16h-16v-16Zm32-96h16v128h-16V65Zm16 32h48v16h-48V97Zm48 16h16v80h-16v-80Zm48-16h48v16h-48V97Zm-16 16h16v64h-16v-64Zm16 64h32v16h-32v-16Zm32-16h16v16h-16v-16Zm16-64h16v96h-16V97Zm32 0h16v96h-16V97Zm16 0h48v16h-48V97Zm48 16h16v80h-16v-80Zm32-48h16v128h-16V65Zm16 32h48v16h-48V97Zm48 16h16v80h-16v-80Zm48-48h32v16h-32V65Zm32 16h16v16h-16V81Zm0 80h16v16h-16v-16Zm16-64h16v64h-16V97Zm-48 80h32v16h-32v-16ZM865 65h16v128h-16V65Zm112 32h48v16h-48V97Zm-16 16h16v64h-16v-64Zm16 64h32v16h-32v-16Zm32-16h16v16h-16v-16Zm16-64h16v96h-16V97Zm32 0h16v16h-16V97Zm16 0h16v96h-16V97Zm0-32h16v16h-16V65Z" />
  </svg>
</figure>


Last updated on June 1, 2025

---
title: "Awesome Terminal — iTerm2 + Zsh + Oh My Zsh + Amazon Q"
description: "Optimize your terminal with iTerm2, Zsh, Oh My Zsh, and Amazon Q - a guide to installation, theme customization, plugins, and configuration for an enhanced command-line experience."
last_updated: "April 2, 2025"
source: "https://chanhdai.com/blog/awesome-terminal"
---

# Awesome Terminal — iTerm2 + Zsh + Oh My Zsh + Amazon Q

Optimize your terminal with iTerm2, Zsh, Oh My Zsh, and Amazon Q - a guide to installation, theme customization, plugins, and configuration for an enhanced command-line experience.

## Install iTerm2

### Download

[https://iterm2.com/downloads.html](https://iterm2.com/downloads.html)

### Custom theme

[https://draculatheme.com/iterm](https://draculatheme.com/iterm)

## Install Oh My Zsh

Reference: [https://ohmyz.sh/#install](https://ohmyz.sh/#install)

```bash
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```

## Install Oh My Zsh theme

Reference: [https://github.com/ncdai/ncdai.zsh-theme](https://github.com/ncdai/ncdai.zsh-theme)

```bash
git clone git@github.com:ncdai/ncdai.zsh-theme.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/ncdai.zsh-theme
```

**Activate the theme**

```bash title="~/.zshrc"
ZSH_THEME="ncdai.zsh-theme/ncdai"
```

## Install Oh My Zsh plugins

### zsh-z

Reference: [https://github.com/agkozak/zsh-z#installation](https://github.com/agkozak/zsh-z#installation)

```bash
git clone https://github.com/agkozak/zsh-z $ZSH_CUSTOM/plugins/zsh-z
```

### zsh-syntax-highlighting

Reference: [https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md](https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md)

```bash
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
```

### zsh-autosuggestions

Reference: [https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md](https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md)

```bash
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
```

### Activate plugins

```bash title="~/.zshrc"
plugins=(git zsh-z zsh-syntax-highlighting zsh-autosuggestions)
```

## User configuration

```bash title="~/.zshrc"
# Language environment
export LANG=en_US.UTF-8

# Alias
alias workspace-on-mac="cd ~/Workspace"

# Homebrew
export HOMEBREW_EDITOR="/usr/bin/nano"
```

## Install Amazon Q for command line

Reference: [https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html)


Last updated on April 2, 2025

---
title: "Installing Uptime Kuma with Docker and setting up NGINX with SSL"
description: "Uptime Kuma is an easy-to-use self-hosted monitoring tool."
last_updated: "April 2, 2025"
source: "https://chanhdai.com/blog/uptime-kuma"
---

# Installing Uptime Kuma with Docker and setting up NGINX with SSL

Uptime Kuma is an easy-to-use self-hosted monitoring tool.

## Installation

### Run

```bash
docker run -d --restart=always -p 5556:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
```

Uptime Kuma is now running on [http://0.0.0.0:5556](http://0.0.0.0:5556)

### Configure NGINX

```bash
sudo nano /etc/nginx/sites-available/uptime-kuma
```

```ini
server  {
  listen 80;
  # Remove '#' in the next line to enable IPv6
  # listen [::]:80;
  server_name status.example.com;
  location / {
    proxy_pass http://localhost:5556;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
  }
}
```

```bash
sudo ln -s /etc/nginx/sites/available/uptime-kuma /etc/nginx/sites-enabled/
```

### Configure SSL

Installing Certbot: [https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-22-04](https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-22-04)

Add an A record for `status.example.com` pointing to the server’s public IP address.

```bash
sudo certbot --nginx -d status.example.com
sudo systemctl restart nginx
```

## References

* [Uptime Kuma](https://github.com/louislam/uptime-kuma)
* [How To Secure Nginx with Let's Encrypt on Ubuntu](https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-22-04)


Last updated on April 2, 2025

---
title: "Welcome to chanhdai.com"
description: "A pixel-perfect dev portfolio and shadcn registry showcasing my work as a Design Engineer."
last_updated: "May 7, 2026"
source: "https://chanhdai.com/blog/welcome"
---

# Welcome to chanhdai.com

A pixel-perfect dev portfolio and shadcn registry showcasing my work as a Design Engineer.

## Stack

* Next.js 16
* Tailwind CSS v4
* shadcn/ui

## Featured

* Clean & modern design
* Light/Dark themes
* vCard integration
* SEO optimized ([JSON-LD schema](https://json-ld.org), sitemap, robots)
* AI-ready with [/llms.txt](https://llmstxt.org)
* Spam-protected email
* Installable as PWA
* Analytics with [PostHog](https://posthog.com) and [OpenPanel](https://openpanel.dev)

## Content

Centralized document system powered by MDX:

* Unified content layer for blog posts and component docs
* Category-based content organization
* Raw `.mdx` endpoints for AI readability
* Syntax highlighting with code blocks
* Dynamic OG images for rich link previews
* RSS feed for content distribution

## Registry

Easily build and distribute reusable components, hooks, and pages using a custom registry powered by the [shadcn CLI](https://ui.shadcn.com/docs/cli).

Each entry is well-documented and includes:

* Live preview & code snippets
* Beautiful, readable code blocks
* One-click command blocks (pnpm, npm, yarn, bun)

## License

Licensed under the [MIT license](https://github.com/ncdai/chanhdai.com/blob/main/LICENSE). The source code is available on [GitHub](https://github.com/ncdai/chanhdai.com).

> You’re free to use my code! Just make sure to remove all my personal information before publishing your website. It’s awesome to see my code being useful to someone!


Last updated on May 7, 2026