Cách người không chuyên tạo ra MVP trị giá 50 triệu won bằng mã nguồn của Claude
Bạn sẽ được học cách tạo ra một MVP (Sản phẩm khả thi tối thiểu) trị giá 50 triệu won bằng mã nguồn Claude mà ngay cả những người không chuyên cũng có thể dễ dàng học được. Đây là thời đại mà bất kỳ ai cũng có thể tạo ra phần mềm và khởi nghiệp mà không cần phải tốn một khoản tiền lớn nữa. Tôi mở khóa học này với mong muốn giúp đỡ các bạn cùng nhau học tập và thực hiện những bước đi đầu tiên trong kỷ nguyên mới này!
19 học viên đang tham gia khóa học này
Độ khó Nhập môn
Thời gian Không giới hạn
3 bước prompt giúp tạo website chất lượng cao của tôi
Liên kết trang web demo: https://apple-chair.vercel.app/
Lumbra Neo — Nhật ký công việc Claude Code
Bản ghi cuộc hội thoại về việc tạo trang giới thiệu ghế hỗ trợ cột sống thắt lưng (lumbra-neo.html) dựa trên design.md và cải thiện dần dần.
Công việc đợt 1 — Thiết lập ban đầu
Gợi ý ①
Tôi muốn tạo một trang web giới thiệu bán loại ghế đặc biệt hỗ trợ cột sống thắt lưng, rất tốt cho lưng. Hãy tham khảo file design.md mà tôi vừa sao chép để xây dựng trang web bằng HTML và CSS dựa trên đó. Thiết kế này theo phong cách của Apple, hãy làm theo mọi thứ y hệt như vậy, riêng phần hình ảnh thì hãy tìm các ảnh kho (stock photo) về ghế cao cấp phù hợp trên internet để sử dụng.
Tóm tắt công việc của Claude
Đặt tên sản phẩm là "Lumbra Neo", sử dụng nguyên trạng 3 loại finish (Citrus / Indigo / Blush) từ design.md
Cấu trúc trang: Global Nav (44px) + Sticky Sub-nav (52px) / Hero ("Thắt lưng, bắt đầu lại từ đầu.") / Thẻ 2×2 Adaptive Lumbar Engine + Dark Accent / Showcase Full-bleed Citrus·Indigo·Blush / 2 tính năng chia cột (2-column split) / Bộ chọn màu sắc / Thông số kỹ thuật (Tech Specs) 2 hàng trái phải / Final CTA + Footer
Tuân thủ nguyên tắc design.md: 0 box shadow, azure
#0071e3chỉ sử dụng 1 lần duy nhất cho nút Buy trên sub-nav, bo góc thẻ 28px / bo góc nút 999px, negative tracking theo từng kích thước headlineÁp dụng 6 URL hình ảnh kho lưu trữ Unsplash, fallback theo thứ tự SF Pro Display → Pretendard → -apple-system
Prompt ②
Hình ảnh đại diện dường như không hiển thị, phần đáng lẽ phải có hình ảnh đang bị để trống. Và nếu có thể, hãy thử sử dụng hình ảnh trong suốt định dạng PNG nhé.
Tóm tắt công việc của Claude
Dự đoán do Unsplash chặn hotlink → Thay thế toàn bộ hình ảnh bên ngoài bằng minh họa ghế dạng SVG inline
Định nghĩa hai góc nhìn: góc 3/4 phía trước (
#chair-main) và góc nghiêng (#chair-side) bằng mô hình<symbol>+<use>, tái sử dụng tại 8 vị trí trên toàn bộ trang web. pattern, and reused them in 8 locations throughout the page.Sử dụng
fill="currentColor"để tự động chuyển sang màu trắng trên nền gradient và màu ink trên nền fogNhấn mạnh vùng hỗ trợ thắt lưng bằng hình ellipse trắng bán trong suốt, các đường ngang của lưới tựa lưng, chân đế 5 sao + 4 bánh xe + piston khí, hình chiếu bên nhấn mạnh đường cong chữ S của cột sống.
Nếu bạn muốn sử dụng PNG, tôi sẽ hướng dẫn hai tùy chọn: thay thế bằng
images/chair.pnghoặc sử dụng Base64 data URI.
Nhắc lệnh ③
Đừng dùng SVG, hãy dùng hình ảnh PNG nào đó phù hợp nhé. Nhìn tổng thể nó cứ bị sơ sài quá.
Tóm tắt công việc của Claude
Đã lấy được 6 URL hoạt động thực tế bằng photo ID đã được xác minh trực tiếp từ trang tìm kiếm Unsplash (Hero / Showcase Citrus·Indigo·Blush / 2 Split Features)
Điều chỉnh thiết kế showcase gradient: Ban đầu design.md là concept ghế PNG trong suốt nổi trên nền gradient, nhưng vì ảnh JPG có nền riêng nên đã thay đổi sang cách bao quanh bằng thẻ bo góc 28px rồi đặt nổi trên nền gradient (đây là pattern cũng được Apple sử dụng trên các trang khác)
Chia sẻ thành thật về hạn chế của ghế PNG trong suốt: Hầu như không có nguồn miễn phí nào cho phép hotlink ổn định, hướng dẫn cách tự tạo PNG bằng removebg rồi lưu và sử dụng tại máy cục bộ (local).
Công việc đợt 2 — Cải thiện quy mô lớn
Gợi ý ④
Tôi sẽ cải thiện đáng kể tệp lumbra-neo.html này từ bây giờ. 1) Phông chữ trông quá lỗi thời, thiếu cảm giác của Apple và khả năng đọc cực kỳ kém, đặc biệt là khi có gradient ở phía sau. Về cơ bản, khả năng đọc cần được cải thiện và hãy thêm đổ bóng (shadow) khi cần thiết. 2) Gradient hiện tại có vẻ được tạo bằng CSS nhưng trông không đẹp, thay vào đó hãy thử tìm và sử dụng các hình ảnh gradient có sẵn. Hãy sử dụng nền gradient mang tông màu của Apple nhất có thể. 3) Padding và margin ở mỗi phần quá thiếu ổn định, hãy cải thiện để duy trì tính thống nhất trên toàn bộ trang web nhằm tạo cảm giác cân đối. 4) Sử dụng tích cực các hiệu ứng chuyển cảnh (transition) và hoạt ảnh (animation). Hãy sử dụng thư viện AOS và phát triển các hiệu ứng hoạt ảnh kiểu Apple hoạt động khi di chuột (hover).
Tóm tắt công việc của Claude
1) Phông chữ & Khả năng đọc
Thêm CDN cho phông chữ Pretendard Variable (phông chữ biến đổi gần giống với SF Pro nhất trong tiếng Hàn)
Áp dụng
text-shadow: 0 2px 24px rgba(0,0,0,0.28)cho tất cả văn bản phía trên gradientThay đổi màu văn bản từ
--color-graphite→--color-slatecho đậm hơn, đồng thời thêmfont-feature-settingsvàtext-rendering: optimizeLegibility
2) Hình ảnh hóa Gradient
Thay vì CSS gradient, áp dụng ảnh gradient Unsplash Codioful làm nền bằng
::beforeSử dụng hình ảnh theo từng tông Citrus/Indigo/Blush, dự phòng bằng
radial-gradientcải tiến khi tải thất bại, tinh chỉnh màu sắc bằng lớp phủ vignette::after
3) Hệ thống khoảng cách nhất quán
--space-section-y: clamp(96px, 12vw, 160px)/--space-section-x: clamp(22px, 4vw, 40px)Token hóaThống nhất toàn cục
--space-block-gap,--space-card-gap,--container-max
4) AOS + Hiệu ứng chuyển cảnh Hover
Thêm AOS v2.3.4 CDN, áp dụng fade-up + stagger delay cho tất cả tiêu đề và thẻ.
Định nghĩa Apple signature easing
--ease-apple: cubic-bezier(0.28, 0.11, 0.32, 1)Hiệu ứng lift + shadow khi di chuột qua thẻ, thu phóng hình ảnh scale(1.04~1.06), translate mũi tên nút/liên kết, swatch scale(1.18), hỗ trợ
prefers-reduced-motion
Prompt ⑤
Đây là phản hồi dành cho bạn: 1) Đối với từng văn bản một, ví dụ như "lumbra neo", "bắt đầu lại vùng lưng", "nâng đỡ đốt sống lưng"... tất cả những phần văn bản này đều phải được áp dụng AOS riêng biệt. Chúng cần hoạt động thống nhất trên tổng thể nhưng phải mượt mà, với các hiệu ứng chuyển cảnh và hoạt ảnh mang phong cách Apple được áp dụng cho từng văn bản cấp tiêu đề. Tôi muốn các chuyển động của từng chữ phải chuẩn xác, mượt mà và có cảm giác "dính" đặc trưng của Apple. 2) Đặc biệt, các hoạt ảnh/chuyển cảnh phải chuyển động thật mượt mà. Khi di chuột (hover), chúng phải chuyển động theo dạng ease-in-out để tạo ra cảm giác đường cong mềm mại. 3) Hãy phát triển tối đa cấu hình các thành phần, biểu đồ, ví dụ, hay các ví dụ về góc độ... theo phong cách Apple. Hiện tại trông vẫn còn khá trống trải và sơ sài, cần phải cải thiện rất nhiều để đạt đến đẳng cấp của Apple. 4) Hãy tạo cảm giác đổi mới bằng cách làm cho các section tương đồng nhưng vẫn có sự khác biệt nhẹ. Nếu nhìn vào các trang landing page của Apple, bạn sẽ thấy họ không sử dụng các section giống hệt nhau, hãy tạo ra các biến thể (variation) một chút.
Tóm tắt công việc của Claude
1) Hiệu ứng hoạt ảnh hiển thị văn bản theo từng từ
Sử dụng hàm JS
splitToWords()để tách tất cả các văn bản cấp tiêu đề thành các từ đơn vị<span>JS function.Mỗi từ
translateY(108%) → 0+ fade-in, độ trễ stagger 70ms → hiệu ứng split-text với từng từ lần lượt xuất hiệnÁp dụng class
.reveal-wordscho toàn bộ hero / section / finish / card / split headline + eyebrow + subheadline, giữ nguyên<br>tags.
2) Hover ease-in-out
Định nghĩa
--ease-in-out: cubic-bezier(0.45, 0, 0.55, 1), áp dụng cho tất cả các hiệu ứng chuyển cảnh hover (nâng thẻ / phóng to hình ảnh / nút / liên kết / bảng màu / menu)Hiệu ứng hoạt ảnh xuất hiện được tách riêng bằng
--ease-out(giảm tốc) để quá trình tiến vào trở nên tự nhiên.
3) Sơ đồ SVG cấp độ Apple
Adaptive Support: Hình bóng cơ thể người + đường cong cột sống S-curve + lưới đo lường (T1/L1/S1) + 3 cảm biến áp suất nhấp nháy + đường nhãn + trạng thái Active/Tracking/Anchored
Aero Mesh: 2 lớp họa tiết dệt lục giác (độ sâu trước sau) + lớp phủ bóng + mũi tên thông khí chảy từ trái sang phải (hiệu ứng hoạt họa
stroke-dashoffset)Sync Tilt: 3 hình bóng bên hông ghế (90°/105°/128°) + cung góc độ + nhãn FOCUS/WORK/RELAX + chỉ báo giai đoạn (+15°, +23°)
4D Armrest: Đệm đổ bóng 3D + Mũi tên đo 4 trục + Nhãn hình viên thuốc (↕80 / ↔40 / ⤡60 / ↻30°) + Lưới tham chiếu
4) Các biến thể của phần (Section Variation)
NEW Stat Strip: 3 con số lớn giữa Hero và Lumbar Engine (128 cái / 60Hz / 0.2 giây), văn bản gradient + viền ngăn cách
Indigo showcase: 3 thông số kỹ thuật (Anodized / Matte 88% / +₩120,000) với
finish-spec-barở phía dưới hình ảnhBlush showcase: Phân chia văn bản - hình ảnh trái phải bằng class
side-layout, tạo nhịp điệu khác biệt với tỷ lệ dọc 4:5Phần Selector: thêm nền hiệu ứng tỏa sáng (radial glow)
Duy trì sự thống nhất bằng cách giữ nguyên Hero / Lumbar / Citrus làm cơ bản
Công việc đợt 3 — Mở rộng sơ đồ + Idling Gradient + Sticky Scroll
Gợi ý ⑥
Đồ họa giải thích hiện tại rất tốt. Cứ tiếp tục làm như thế này đi. Những thứ như thế này rất hay nên hãy thêm vài phần (section) tương tự nữa. Từ giờ hãy thêm khoảng 3 phần nữa, và hiệu ứng gradient trông chưa được "chất Apple" lắm. Hãy thử triển khai theo kiểu chuyển động nhẹ nhàng (idling animation) xem sao. Ngoài ra, hãy cải thiện cảm giác cuộn trang sao cho văn bản đi theo (kiểu tiêu đề cố định đặc trưng của Apple, chạy theo màn hình rồi biến mất tại một điểm nhất định). Những phần tốt thì hãy phát huy, phần nào cần thêm thì cứ thêm vào. Hiểu ý tôi chứ?
Tóm tắt công việc của Claude
1) 3 phần sơ đồ SVG mới
Cushion Architecture (Sticky-Stack) — Chia cấu trúc 5 lớp của đệm ngồi thành 4 thẻ riêng biệt
Layer 01 Memory Foam: Bong bóng tế bào foam + Hiệu ứng hoạt họa nhịp thở khi nén áp lực + Mũi tên PRESSURE
Layer 02 Cooling Gel Matrix: Cấu trúc kênh hình lục giác + HEAT IN (mũi tên đỏ) + Luồng giải nhiệt −3.4°C hai bên trái phải
Layer 03 High-Density Core: Lưới 9 vùng + Độ nhớt mật độ theo từng khu vực + Làm nổi bật đường đứt nét SIT-BONE ZONE
Layer 04 Aluminum Sub-frame (dark): Kim loại phay xước + đường đo độ dày 3.2mm + mũi tên tải trọng 150kg LOAD + chi tiết ốc vít
Pressure Mapping (Live Heatmap) — Hình chiếu từ trên xuống của đệm ghế + Hiệu ứng hoạt họa nhịp thở của các đốm màu 4 cấp độ (Đỏ·Vàng·Xanh lá·Xanh dương) + Lưới 9 khu vực + Nhãn giải phẫu (Củ ngồi/Xương đùi/Xương cụt) + Hiển thị LIVE + Bảng chú giải màu sắc
Precision Caster + Floor Types — Sơ đồ bóc tách bánh xe (Chốt → Giá đỡ → Vòng bi xoay Tri Bearing → Bánh xe PU 75mm) + Chú thích ⌀75, 3 loại họa tiết sàn (Gỗ tự nhiên/Thảm/Gạch) + Huy hiệu kiểm tra an toàn + Lực đẩy 0.4kgf
2) Hiệu ứng Gradient idling
@keyframes gradientIdle—scale(1.10→1.14)với chu kỳ 22 giây + dịch chuyển (translate) tinh tế + thay đổi độ bão hòa (saturate) giúp hình ảnh trôi chậm rãi như đang hơi thở sinh động@keyframes auroraSpin— lớp.gradient-auroraxoay với chu kỳ 38 giây, ánh sáng trắng lan tỏa nhẹ nhàng, kết hợp tự nhiên bằngmix-blend-mode: screenÁp dụng cho cả ba finish-showcase (Citrus / Indigo / Blush)
3) Tiêu đề ghim cuộn dính (Sticky Scroll Pinned Headline) kiểu Apple
Chia phần Cushion Architecture bằng
grid-template-columns: 1fr 1.25frÁp dụng
position: sticky; top: 120pxcho.sticky-paneở bên tráiTiêu đề bên trái cố định trên khung hình trong khi 4 thẻ lớp bên phải cuộn lên → Chuyển động đặc trưng của Apple, tự động cuộn lên cùng nhau một cách tự nhiên khi kết thúc phần.
Bao gồm liên kết CTA "Tải xuống Sách trắng về vật liệu" trong pane
Các cải tiến khác
Thêm tiện ích dark section
section.band.inkBộ đầy đủ các lớp hiệu ứng hoạt hình SVG pulse, flow và xoay (
pulse,pulse-2,flow,breathe,drift,spin-slow)Thêm mới hàng cấu trúc mặt ghế và bánh xe vào phần Thông số kỹ thuật (Tech Specs)




