<- All posts
-
[1/62]
Vibe coding là gì: làm app bằng cảm giác nhưng không giao não cho AI Bài 1 của series Vibe Coding có kiểm soát. Vibe coding là gì, khác no-code, autocomplete, pair programming và coding agent ra sao, và vì sao người dùng vẫn phải sở hữu product judgment, context, testing, security, rollback. · ~8 min read
-
[2/62]
Prompt đầu tiên: viết app brief để AI không build sai sản phẩm Bài 2 của series Vibe Coding có kiểm soát. Cách viết prompt đầu tiên như một app brief: audience, job-to-be-done, core flows, constraints, visual direction, defer list, do-not-change và ví dụ bad vs improved prompt. · ~8 min read
-
[3/62]
Build theo lát mỏng: mỗi vòng phải có thứ tự test được Bài 3 của series Vibe Coding có kiểm soát. Cách chia vibe-coded app thành các lát nhỏ visible, clickable, testable, reversible để tránh full-app prompt tạo review debt. · ~7 min read
-
[4/62]
Context pack cho vibe coding: screenshot, mockup, data, rules, edge case Bài 4 của series Vibe Coding có kiểm soát. Cách chuẩn bị context pack gồm screenshot, sketch, sample data, API docs, brand notes, repo rules, edge case và handoff để AI không tự invent requirement. · ~7 min read
-
[5/62]
Chọn tool: Replit, Lovable, Bolt, Cursor, Codex hay GitHub Copilot cloud agent Bài 5 của series Vibe Coding có kiểm soát. Cách chọn tool theo workflow thay vì ranking: prompt-to-app prototype, repo-aware coding, issue-to-PR agent, review gate, sandbox, rollback và ownership. · ~8 min read
-
[6/62]
Real data, auth, API: đoạn vibe coding dễ tự lừa mình nhất Bài 6 của series Vibe Coding có kiểm soát. Cách phân biệt mock và real API, kiểm auth/roles/permissions/data ownership, xử lý secrets/env/rate limit/error state, và prompt an toàn để thay mock bằng endpoint thật. · ~7 min read
-
[7/62]
Review UI như người dùng: mobile, empty state, loading, error, broken flow Bài 7 của series Vibe Coding có kiểm soát. Checklist review UI cho vibe-coded app: main flow, mobile, keyboard, empty/loading/error, requested vs actual, unrelated changes và feedback bằng screenshot. · ~8 min read
-
[8/62]
Vibe Coding có kiểm soát, bài 8: review code vibe-coded Cách review code do vibe coding tạo ra: đọc diff, dependency, secrets, migration, permission, network call và biết lúc nào cần dev review. · ~7 min read
-
[9/62]
Vibe Coding có kiểm soát, bài 9: checkpoint, Git, rollback Cách giữ điểm quay lại khi vibe coding: checkpoint, Git known-good state, branch trước thay đổi rủi ro, rollback hay fix forward và prompt revert rõ ràng. · ~6 min read
-
[10/62]
Vibe Coding có kiểm soát, bài 10: từ prototype sang repo sống được Khi nào một prototype vibe-coded nên thành repo thật: structure, dead code, tests, setup docs, deploy docs, owner và phần nên rewrite thủ công. · ~7 min read
-
[11/62]
Vibe Coding có kiểm soát, bài 11: chi phí và giới hạn Vì sao agent chạy lâu không tự động tốt hơn: cost, retry loop, context lớn, dấu hiệu kẹt, stop condition, budget cap và cách chia task nhỏ. · ~6 min read
-
[12/62]
Vibe Coding có kiểm soát, bài 12: security checklist Checklist security cho vibe coding: sandbox, approval policy, network access, secrets, destructive actions, logs, prompt data và kiểm tra tối thiểu trước khi public. · ~6 min read
-
[13/62]
Vibe Coding có kiểm soát, bài 13: case study booking app nhỏ Walkthrough thực tế giả lập cách build booking app nhỏ bằng vibe coding có kiểm soát: brief, slices, validation, admin view, CSV export, test và handoff. · ~7 min read
-
[14/62]
Vibe Coding có kiểm soát, bài 14: anti-pattern checklist 20 anti-pattern khiến vibe coding thành nợ kỹ thuật: prompt quá lớn, tin plan mù, quên mobile, mock data, secret, auth/database change, không rollback và không owner. · ~6 min read
-
[15/62]
Setup OpenClaw từ zero: một agent nhắn qua Telegram nhưng không được phá máy Vibe Coding có kiểm soát, bài 15. Setup OpenClaw theo hướng an toàn: local hay VPS, workspace đầu tiên, provider key, Telegram channel, permission boundary và smoke test bằng toy repo. · ~6 min read
-
[16/62]
OpenClaw cho vibe coding qua điện thoại: Telegram, workspace, checkpoint Vibe Coding có kiểm soát, bài 16. Workflow dùng OpenClaw qua Telegram: disposable workspace, app brief nhỏ, checkpoint trước thay đổi rủi ro, gửi screenshot/error context và biết lúc nào phải dừng. · ~5 min read
-
[17/62]
Setup Hermes Agent: CLI trước, gateway sau, skill sau cùng Vibe Coding có kiểm soát, bài 17. Cách tiếp cận Hermes Agent cho người mới: chạy CLI trước, chọn provider/model, hiểu approvals/tools, rồi mới bật gateway và skills. · ~5 min read
-
[18/62]
Hermes với Nous Portal: một credential path gọn cho agent tools Vibe Coding có kiểm soát, bài 18. Dùng Nous Portal với Hermes Agent: setup portal, OAuth, SSH port-forward, portal status, Tool Gateway và ranh giới token store. · ~5 min read
-
[19/62]
OpenClaw vs Hermes: chọn gateway, chọn self-learning agent, hay chọn Codex/Cursor Vibe Coding có kiểm soát, bài 19. Chọn tool theo job: OpenClaw cho multi-channel gateway, Hermes cho CLI/gateway/skills, Codex/Cursor cho repo-aware workflow, Replit/Lovable/Bolt cho prototype. · ~5 min read
-
[20/62]
Local model cho vibe coding: Ollama, llama.cpp, model tool-call và timeout Vibe Coding có kiểm soát, bài 20. Local model là lựa chọn privacy/control, không tự động tốt hơn. Cách smoke test Ollama/llama.cpp, tool-call, timeout và agent loop trước khi cho write access. · ~5 min read
-
[21/62]
Harden một agent workstation: .local, secrets, allowed tools, throwaway repo Vibe Coding có kiểm soát, bài 21. Checklist hardening trước khi cho OpenClaw, Hermes, Codex hoặc local agent sửa file: throwaway repo, secrets boundary, approval gates, logs và cleanup. · ~5 min read
-
[22/62]
Case study: build một mini app bằng Hermes hoặc OpenClaw rồi audit như dev Vibe Coding có kiểm soát, bài 22. Một lab plan thực tế để build mini app bằng Hermes hoặc OpenClaw rồi audit như developer: setup fields, transcript summary, diff, UI, data, auth, tests và verdict. · ~5 min read
-
[23/62]
Claude Artifacts cho người không code: từ ý tưởng tới app demo trong một buổi Bài 23 của series Vibe Coding có kiểm soát. Cách dùng Claude Artifacts để biến ý tưởng thành app demo an toàn cho người không code: bắt đầu từ workflow, test bằng mắt, sửa theo hành vi và biết giới hạn trước khi giao cho dev. · ~6 min read
-
[24/62]
Prompt app brief cho Claude Artifacts: nói business flow, không nói framework Bài 24 của series Vibe Coding có kiểm soát. Template app brief cho Claude Artifacts: user type, goal, inputs, outputs, states, constraints, sample data, mobile, accessibility và cách follow-up mà không làm Claude rewrite cả app. · ~7 min read
-
[25/62]
Claude Projects cho vibe coding: gom context, quyết định, file mẫu vào một chỗ Bài 25 của series Vibe Coding có kiểm soát. Cách dùng Claude Projects để giữ context ổn định cho non-tech vibe coding: project instructions, project knowledge, decision log, RAG mode, new project vs new chat và handoff pack cho dev. · ~6 min read
-
[26/62]
Claude Desktop cho local files: khi nào dùng Extensions, khi nào dùng web connector Bài 26 của series Vibe Coding có kiểm soát. Cách hiểu Claude Desktop, Desktop Extensions và remote connectors cho non-tech vibe coding: khi nào đọc file local, khi nào kết nối SaaS, vì sao phải giới hạn folder scope và debug ở đâu. · ~5 min read
-
[27/62]
Claude Desktop + filesystem MCP: cho Claude đọc project folder mà vẫn giữ ranh giới Bài 27 của series Vibe Coding có kiểm soát. Safety-first guide cho non-tech user khi cho Claude Desktop đọc project folder qua filesystem MCP hoặc Desktop Extension: folder lab, path scope, read-only trước, backup/Git trước khi write và debug logs. · ~6 min read
-
[28/62]
Khi nào non-tech nên chuyển từ Claude Artifacts sang Claude Code Artifacts rất hợp để chứng minh workflow và UI. Claude Code chỉ nên bước vào khi prototype phải chạm repo thật, API thật, test thật, deployment thật. · ~6 min read
-
[29/62]
Claude Code cho non-tech: plan mode, review diff, không cho sửa bừa Một workflow an toàn cho người không code khi dùng Claude Code: bắt đầu ở project root, yêu cầu overview, dùng plan mode, review diff, chạy test/build có sẵn, và không commit/push nếu chưa nói rõ. · ~6 min read
-
[30/62]
Claude Code + MCP cho vibe coding: Figma, Jira, Drive, Slack chỉ khi có ranh giới MCP giúp Claude Code đọc tool và data source bên ngoài, nhưng non-tech chỉ nên bật khi có scope rõ, secret đúng chỗ, và approval boundary cho hành động có side effect. · ~6 min read
-
[31/62]
Claude Desktop + Claude Code handoff: từ prototype artifact sang repo thật Một đường đi cụ thể cho non-tech: dựng artifact, gom screenshot và requirement, tổ chức handoff folder trong Claude Desktop, rồi dùng Claude Code map behavior vào repo thật. · ~6 min read
-
[32/62]
Non-tech QA checklist cho Claude-built app: nhìn bằng mắt thường vẫn bắt được lỗi Bạn không cần Playwright hay Jest để bắt nhiều lỗi quan trọng. Dùng app như người thật, thử input xấu, mobile, loading, error, data thật/giả, privacy, rồi gửi screenshot feedback. · ~6 min read
-
[33/62]
Browser QA cho vibe coding: dùng Playwright như máy quay lỗi, không phải test suite phức tạp Bài 33 của series Vibe Coding có kiểm soát. Cách non-tech dùng Playwright codegen, trace viewer, screenshot và test case nhỏ để audit app AI build trước khi giao dev. · ~4 min read
-
[34/62]
Preview deploy cho vibe coding: đừng để bản thử nghiệm nói chuyện với production Bài 34 của series Vibe Coding có kiểm soát. Cách dùng preview deployment, environment variables, branch build, rollback và domain boundary để app AI-built không chạm production quá sớm. · ~4 min read
-
[35/62]
Database và migration trong vibe coding: schema không phải chỗ để đoán Bài 35 của series Vibe Coding có kiểm soát. Cách non-tech kiểm soát database khi AI build app: branch, migration, seed data, preview credential, rollback và những câu phải hỏi trước khi đổi schema. · ~4 min read
-
[36/62]
Sau deploy vibe-coded app: logs, analytics, error tracking, và khi nào phải rollback Bài 36 của series Vibe Coding có kiểm soát. Checklist vận hành sau deploy: analytics, runtime logs, Sentry-style error tracking, release tag, alert, user report và rollback decision. · ~4 min read
-
[37/62]
Ảo tưởng vibe coding: app chạy được không có nghĩa là software Bài 37 của series Vibe Coding có kiểm soát. Vì sao một app vibe-coded chạy được trong demo vẫn có thể chưa có dữ liệu thật, auth thật, rollback, ownership và trách nhiệm vận hành. · ~5 min read
-
[38/62]
Demo đẹp nhất thường là demo nguy hiểm nhất Bài 38 của series Vibe Coding có kiểm soát. Một demo vibe-coded càng mượt càng dễ che mất mock data, fake auth, broken flow, missing state và quyết định chưa được kiểm chứng. · ~5 min read
-
[39/62]
Vibe coding không biến bạn thành engineer, nó chỉ tăng tốc feedback loop Bài 39 của series Vibe Coding có kiểm soát. Một bài nói thẳng về ranh giới giữa prompt được app và hiểu engineering: scope, trade-off, debugging, ownership và review. · ~4 min read
-
[40/62]
Non-tech vibe coding: thứ bạn không hiểu là thứ sẽ làm bạn trả giá Bài 40 của series Vibe Coding có kiểm soát. Các vùng non-tech thường bỏ qua khi AI build app: auth, billing, database, secrets, permissions, deploy và dependency. · ~5 min read
-
[41/62]
AI build app rất nhanh, nhưng nó cũng bịa niềm tin rất nhanh Bài 41 của series Vibe Coding có kiểm soát. Cách AI tạo cảm giác chắc chắn giả trong vibe coding: plan đẹp, test rỗng, summary quá tự tin, fallback che lỗi và claim production-ready. · ~4 min read
-
[42/62]
Khi AI nói "test pass" nhưng đang bịa niềm tin Bài 42 của series Vibe Coding có kiểm soát. Từ incident Replit/SaaStr tới bài học cho non-tech: summary không phải evidence, fake data che bug, và test pass phải có command output. · ~4 min read
-
[43/62]
Nhân viên vibe-code internal tool, công ty leak data lúc nào không biết Bài 43 của series Vibe Coding có kiểm soát. Shadow AI app là rủi ro mới: internal tool build quá nhanh, public nhầm, upload dữ liệu nhạy cảm, và không ai trong security biết để kiểm soát. · ~4 min read
-
[44/62]
Auth bypass: lỗi một dòng biến app vibe-coded thành public database Bài 44 của series Vibe Coding có kiểm soát. Login screen không phải auth. Bài này chỉ ra vì sao authorization, ownership check, backend enforcement và database policy mới là ranh giới thật. · ~4 min read
-
[45/62]
AI không phát minh bug mới, nó lặp lại bug cũ ở tốc độ mới Bài 45 của series Vibe Coding có kiểm soát. Vibe-coded app thường hỏng ở các lỗi web security rất cũ: broken access control, client-side trust, missing rate limit, fallback secret và OAuth/WebSocket auth. · ~4 min read
-
[46/62]
"Please make it secure" không phải security plan Bài 46 của series Vibe Coding có kiểm soát. Một prompt bảo AI làm app secure không thay thế deterministic controls: sandbox, permission, secret scan, database isolation, review gate và deploy policy. · ~4 min read
-
[47/62]
Gần một nửa AI code có lỗi security: đừng hoảng, hãy đặt gate Bài 47 của series Vibe Coding có kiểm soát. Dùng các benchmark AI-generated code security như tín hiệu để thiết kế review gate: SAST, dependency scan, auth test, secret scan và production bar. · ~3 min read
-
[48/62]
Supabase anon key không nguy hiểm, thiếu RLS mới nguy hiểm Bài 48 của series Vibe Coding có kiểm soát. Public key trong frontend chưa chắc là leak. Với Supabase-style app, lỗi thật thường là database table không bật Row Level Security và policy sai. · ~4 min read
-
[49/62]
Cảm giác nhanh hơn không đồng nghĩa làm nhanh hơn Bài 49 của series Vibe Coding có kiểm soát. AI coding có thể tạo cảm giác tiến rất nhanh, nhưng review, chờ agent, sửa sai và hiểu lại code có thể ăn hết phần lợi đó. · ~4 min read
-
[50/62]
Vibe coding gửi hóa đơn cho open-source maintainers Bài 50 của series Vibe Coding có kiểm soát. AI giúp nhiều người dùng thư viện open source nhanh hơn, nhưng bug report mơ hồ, dependency abuse và thiếu feedback có thể đẩy chi phí sang maintainers. · ~4 min read
-
[51/62]
Bug nguy hiểm nhất của vibe coding là bug không crash Bài 51 của series Vibe Coding có kiểm soát. Code AI-generated có thể chạy đúng cú pháp nhưng sai nghiệp vụ, sai công thức, thiếu biến và tạo cảm giác an toàn giả. · ~4 min read
-
[52/62]
Biết AI có rủi ro không đủ, phải biết verify Bài 52 của series Vibe Coding có kiểm soát. Khoảng cách thật không phải awareness, mà là kỹ năng verify: click test, second-user test, log test, diff test và claim classification. · ~3 min read
-
[53/62]
Không chỉ code sai: AI toolchain cũng có thể ship nhầm thứ không nên ship Bài 53 của series Vibe Coding có kiểm soát. Build artifacts như source maps, debug files, local configs và generated bundles cũng cần review trước deploy. · ~3 min read
-
[54/62]
AI bịa package, attacker đăng ký package đó, app của bạn tự cài malware Bài 54 của series Vibe Coding có kiểm soát. Slopsquatting biến hallucinated dependency thành supply-chain risk: package nghe hợp lý nhưng không tồn tại cho tới khi kẻ xấu đăng ký nó. · ~3 min read
-
[55/62]
Với coding agent, tài liệu cũng có thể biến thành lệnh Bài 55 của series Vibe Coding có kiểm soát. Prompt injection không chỉ nằm trong chatbot. Coding agents đọc README, issue, schema, docs, MCP tools và có thể biến text độc thành action thật. · ~3 min read
-
[56/62]
Agent không nguy hiểm vì thông minh, nó nguy hiểm vì được cấp quyền quá rộng Bài 56 của series Vibe Coding có kiểm soát. Coding agent có thể đọc file, chạy command, gọi network và deploy. Rủi ro thật nằm ở blast radius, không phải chỉ ở model quality. · ~3 min read
-
[57/62]
PR comment không phải chỗ an toàn để cho agent cầm secret Bài 57 của series Vibe Coding có kiểm soát. AI review bot chạy trong GitHub Actions có thể đọc comment độc, bị prompt injection, rồi leak secret nếu workflow cấp quyền quá rộng. · ~3 min read
-
[58/62]
AI viết code không làm license tự biến mất Bài 58 của series Vibe Coding có kiểm soát. Vibe-coded code vẫn cần provenance, license review, SBOM, human responsibility và policy rõ ràng trước khi đưa vào sản phẩm. · ~3 min read
-
[59/62]
AI bug report slop: khi maintainer mất ngày để bác bỏ lỗi không tồn tại Bài 59 của series Vibe Coding có kiểm soát. AI có thể tạo bug report nghe chuyên nghiệp nhưng sai hàm, sai version, sai changelog, hoặc không reproduce được. · ~3 min read
-
[60/62]
Cài MCP lạ là cho agent thêm tay, không phải thêm tiện ích Bài 60 của series Vibe Coding có kiểm soát. MCP server nối agent với tool, file, API và process thật. Cài bừa nghĩa là mở thêm đường chạy lệnh. · ~3 min read
-
[61/62]
Code AI sinh ra không tự có người bảo trì Bài 61 của series Vibe Coding có kiểm soát. AI có thể tạo feature nhanh, nhưng maintenance debt vẫn nằm lại trong repo và con người vẫn phải trả. · ~3 min read
-
[62/62]
Nếu prompt không nhắc security, AI sẽ coi security là việc để sau Bài 62 của series Vibe Coding có kiểm soát. AI coding làm security dễ bị đẩy từ lúc thiết kế sang lúc review, nghĩa là lỗi đã nằm trong diff rồi mới được nhớ tới. · ~3 min read