"Mình muốn trở thành bất cứ ai" — Dưới đây là cách thực hiện theo kiểu kỹ thuật

05 tháng 4, 2026·4 phút đọc

Dự án 'I Want To Be...' là một trình tạo lời khuyên cuộc sống độc đáo, đưa ra các giải pháp kỹ thuật chính xác theo nghĩa đen nhưng vô cùng hài hước cho ước mơ của người dùng. Được xây dựng hoàn toàn bằng HTML, CSS và Vanilla JavaScript mà không cần bất kỳ API hay AI nào, công cụ này hoạt động dựa trên hệ thống khớp từ khóa và xử lý dữ liệu ngay tại phía client.

"Mình muốn trở thành bất cứ ai" — Dưới đây là cách thực hiện theo kiểu kỹ thuật

Bạn muốn trở thành người giàu? Đổi tên thành Richard. Bạn muốn làm Ninja? Mặc đồ đen và di chuyển cực kỳ nhẹ nhàng. Bạn muốn làm mèo? Đẩy một món đồ xuống bàn và nhìn thẳng vào người khác. Đó chính là cách "I Want To Be..." giải quyết ước mơ của bạn.

"I Want To Be..." là một dự án vui vẻ tham gia Dev.to April Fools Challenge, hoạt động như một vị thần đèn chuyên tìm ra các "kẽ hở" trong luật lệ. Nó đưa ra những lời khuyên 100% CHÍNH XÁC VỀ MẶT KỸ THUẬT, nhưng có lẽ không mấy giúp ích cho cuộc sống thực của bạn.

Giao diện dự án I Want To BeGiao diện dự án I Want To Be

Cơ chế hoạt động: Không AI, chỉ là sự hài hước

Điều thú vị nhất của dự án này là nó hoàn toàn không sử dụng bất kỳ hình thức Trí tuệ nhân tạo (AI), API hay Machine Learning nào. Tất cả "trí tuệ" của nó đều nằm gọn trong một tệp tin duy nhất tên là answers.js.

Cốt lõi của hệ thống là một bộ máy khớp từ khóa (keyword-matching system) với 44 danh mục khác nhau và một danh sách câu trả lời dự phòng (fallback answers). Khi người dùng nhập vào ước mơ của mình, hệ thống sẽ thực hiện các bước sau:

  1. Chuẩn hóa đầu vào (chuyển thành chữ thường, xóa dấu câu).
  2. Tìm kiếm sự khớp với các từ khóa trong từng danh mục bằng Regex.
  3. Lấy ngẫu nhiên một câu trả lời từ danh mục khớp đầu tiên.
  4. Nếu không khớp danh mục nào, trả về một lời khuyên phổ quát kiểu như: "Hãy Google nó. Bấm vào kết quả đầu tiên. Bây giờ bạn biết nhiều như hầu hết các chuyên gia rồi đấy."

Đoạn mã chính của bộ xử lý này khá gọn gàng:

// Vòng lặp chính: khớp từ khóa → chọn câu trả lời ngẫu nhiên
export function getAnswer(wish) {
  if (!wish || typeof wish !== 'string') return pick(FALLBACKS);
  const normalized = normalize(wish);
  const cat = findCategory(normalized);
  return cat ? pick(cat.answers) : pick(FALLBACKS);
}

Stack công nghệ tối giản

Dự án được xây dựng với triết lý "zero-dependency" (không phụ thuộc), tập trung vào tốc độ và sự đơn giản:

  • HTML + CSS + Vanilla JavaScript: Không có framework nào cả, chỉ là mã nguồn thuần túy.
  • Không build steps: Mã nguồn có thể chạy ngay lập tức.
  • Google Fonts: Sử dụng font Bebas Neue và DM Mono để tạo phong cách báo chí và "brutalist".
  • Triển khai trên GitHub Pages: Dễ dàng truy cập và chia sẻ.

Giao diện chi tiết dự ánGiao diện chi tiết dự án

Thiết kế UI: Nghiêm túc nhưng... có vấn đề

Giao diện người dùng (UI) được thiết kế một cách rất chỉn chu, giống như một công cụ tư vấn cuộc sống uy tín với:

  • Typography theo phong cách báo chí (editorial).
  • Bố cục lấy cảm hứng từ tờ báo cũ.
  • Hiệu ứng nhiễu (noise texture overlay) và các đường viền sắc sảo.
  • Nhãn màu đỏ "100% LEGIT ADVICE" đóng dấu lên từng lời khuyên.

Chính sự trình bày nghiêm túc này làm cho những câu trả lời mang tính châm biếm (deadpan humor) trở nên hài hước hơn bao giờ hết. Người dùng còn được thưởng thức hiệu ứng confetti (pháo giấy) mỗi khi nhận được lời khuyên "đắt giá" này.

Các tính năng chính

Dù chỉ là một dự án vui, "I Want To Be..." vẫn trang bị đầy đủ các tính năng của một ứng dụng web hiện đại:

  • Lời khuyên tức thì: Xử lý hoàn toàn ở phía client, không gọi API, không có vòng chờ đợi loading (trừ một cái giả tạo để tăng kịch tính).
  • Nút "Another One": Để nhận thêm lời khuyên khi một câu chưa đủ "sáng suốt".
  • Sao chép và Chia sẻ: Dễ dàng lan tỏa sự "giác ngộ" đến bạn bè.
  • Lịch sử Previous Wisdom: Xem lại các bước đi trong hành trình phát triển cá nhân của bạn.
  • Responsive: Nhận lời khuyên trên mọi thiết bị, từ máy tính đến điện thoại.

Đây là một ví dụ điển hình cho thấy lập trình viên không chỉ viết code mà còn có thể dùng nó để tạo ra tiếng cười một cách thông minh và sáng tạo. Bạn có thể trải nghiệm trực tiếp dự án này trên GitHub Pages của tác giả Einorde.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗