---
title: "AI Link — Website doanh nghiệp Next.js tĩnh — Tran Manh Tuan"
description: "Website doanh nghiệp song ngữ Nhật–Anh của AI Link, dịch vụ AI cho khách doanh nghiệp — Next.js chạy tĩnh trên CDN, form liên hệ chống spam nhiều lớp, chi phí vận hành gần như bằng 0."
canonical: "https://tmtuan.dev/vi/projects/ai-link"
language: "vi"
image: "https://tmtuan.dev/_img/projects/ai-link/ai-link.55f0d905-og.jpg"
tokens: 954
---

# AI Link

**AI Link** là website doanh nghiệp giới thiệu sứ mệnh, các dịch vụ AI (**Devin**, **Leaders AI**) và tin tức tới khách hàng doanh nghiệp. Yêu cầu: song ngữ Nhật–Anh ngay từ ngày ra mắt, ra mắt nhanh với chi phí vận hành thấp và dễ thêm trang dịch vụ mới, form tư vấn chặn được spam và trả lời khách đúng ngôn ngữ của họ, bảo mật ngay từ đầu — xứng với một thương hiệu công nghệ.

Site dựng bằng **Next.js 15 (App Router) + React + TypeScript**, xuất thành site tĩnh chạy hoàn toàn trên CDN: production không có máy chủ nào — trang tải nhanh, không có bề mặt tấn công và chi phí hạ tầng gần như bằng 0. Giao diện xây trên một **design system** (Chakra UI + Radix UI

- Tailwind CSS, component có biến thể) nên đồng nhất và thêm trang mới rất nhanh; codebase là monorepo **Turborepo** với cấu hình ESLint/TypeScript dùng chung và test bằng Jest + Supertest.

Song ngữ nằm ngay trong kiến trúc: tiếng Nhật ở đường dẫn gốc, tiếng Anh dưới `/en`. Tin tức viết bằng **Markdown riêng cho từng ngôn ngữ và quản lý bằng Git** — mỗi bài có lịch sử chỉnh sửa, được review trước khi đăng, và không tốn phí CMS.

Form liên hệ được kiểm tra ở **cả trình duyệt lẫn máy chủ bằng cùng một chuẩn schema** (react-hook-form + Zod strict — mọi trường lạ đều bị từ chối), chống spam nhiều lớp: reCAPTCHA, giới hạn tần suất gửi theo IP, API chỉ nhận request từ domain chính thức, kèm security header cho API. Khách nhận email trả lời tự động **đúng ngôn ngữ Nhật hoặc Anh**, đội phụ trách nhận email thông báo — gửi qua **AWS SES**; khoá AWS và reCAPTCHA nằm trong **Secret Manager**, gắn vào dịch vụ dưới dạng tham chiếu bí mật và không bao giờ nằm trong code.

Staging chạy đúng bản build sẽ lên production nhưng khoá bằng mật khẩu qua một service nhỏ trên **Cloud Run**, thiết kế **fail-closed**: thiếu cấu hình mật khẩu là service tự dừng, nên staging không bao giờ vô tình bị mở public — service này có test tự động, container chạy bằng user thường và service account không có quyền thừa. Pipeline **GitHub Actions** tự lint, build, deploy và báo kết quả qua Slack; mỗi Pull Request của cả website lẫn API đều được quét bảo mật tự động — lỗ hổng thư viện, lỗi mã nguồn, rò rỉ secret, container và cấu hình — với bundle của bên thứ ba được loại khỏi phạm vi quét để báo cáo không bị nhiễu.

## Thông tin

- **Vai trò:** Technical Lead
- **Website:** [dena-ailink.com/](https://dena-ailink.com/)

## Công nghệ

- Next.js
- React
- TypeScript
- Chakra UI
- Radix UI
- Tailwind CSS
- Turborepo
- Node.js
- Express
- AWS SES
- reCAPTCHA
- Cloud Run
- Firebase Hosting
- Secret Manager
- Github Action
- Docker
- Trivy
- Semgrep
- Gitleaks

## Dịch vụ thể hiện qua dự án

- [Website doanh nghiệp & nền tảng nội dung](https://tmtuan.dev/vi/services/web-platforms)

## Bài viết liên quan

- [Knowledge Base docs-as-code + Context Graph cho portfolio 15 dự án](https://tmtuan.dev/vi/articles/knowledge-base-docs-as-code-context-graph)

## Structured data (JSON-LD)

```json
{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://tmtuan.dev/vi/projects/ai-link#webpage","url":"https://tmtuan.dev/vi/projects/ai-link","name":"AI Link — Website doanh nghiệp Next.js tĩnh","description":"Website doanh nghiệp song ngữ Nhật–Anh của AI Link, dịch vụ AI cho khách doanh nghiệp — Next.js chạy tĩnh trên CDN, form liên hệ chống spam nhiều lớp, chi phí vận hành gần như bằng 0.","inLanguage":"vi","isPartOf":{"@id":"https://tmtuan.dev/#website"},"about":{"@id":"https://tmtuan.dev/#person"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trang chủ","item":"https://tmtuan.dev/vi"},{"@type":"ListItem","position":2,"name":"Dự án","item":"https://tmtuan.dev/vi/projects"},{"@type":"ListItem","position":3,"name":"AI Link","item":"https://tmtuan.dev/vi/projects/ai-link"}]}]}
```
