角色: 独立设计 & 全栈开发
技术信息: GitHub:https://github.com/shuiyi5/personal-blog 在线地址:https://sentoe.vercel.app 技术栈:Next.js · React · Tailwind CSS · Notion API · Vercel 角色:独立设计 & 全栈开发 周期:2026 年 3 月上线,持续迭代中

基于 Next.js + Notion API 构建的中英双语个人博客,以 Notion 作为全站无代码 CMS,写作即发布,无需传统后端数据库。
涵盖博客文章、项目展示、图库三大内容模块,具备深色模式、目录导航、代码高亮、图片灯笱等完整特性,部署于 Vercel,支持 ISR 增量渲染与 Webhook 自动更新。
作为 AI 产品方向的求职者,需要一个能真实展示产品思维与技术理解力的个人品牌阵地——而不只是 GitHub 主页或简历 PDF。
市面上的博客方案存在明显取舍,对比如下:
| 方案 | 问题 |
|---|
| WordPress / Hexo | 写作体验差,迁移成本高 |
| Notion 公开页面 | 无法自定义域名与 UI,品牌感弱 |
| Ghost / Substack | 付费订阅,不支持深度定制 |
| 纯静态 Hugo | 写作需要本地 Git,不够轻便 |
核心需求定义:写作体验要用 Notion(已有习惯),阅读体验要完全自定义,部署要零运维,内容要支持双语。这推导出 Notion as CMS + Next.js 前端渲染的技术路径。
Notion API 返回结构化 Block 树,需手动实现每种块类型的 React 渲染组件:
Live2D 模型体积大(~5MB),采用动态导入(next/dynamic + ssr: false)延迟加载,不阻塞首屏渲染,Lighthouse 性能分数不受影响。
| 技术点 | 说明 |
|---|---|
| Next.js App Router + Server Components | 数据请求在服务端完成,首屏加载快,SEO 友好 |
| Notion as CMS | 无代码内容管理,结构化数据库,降低运维成本 |
| ISR + Webhook | 静态性能与动态内容兼得,内容更新秒级生效 |
| Tailwind CSS 4 | 自定义动效组件,开发效率与视觉表现力并重 |
这个项目不只是技术练习,它是一次完整的 0→1 产品决策链实践。
需求分析 → 明确核心用户(我自己 + 潜在读者/招聘方)的差异化需求,定义不妥协的优先级:写作体验 > 部署成本 > 视觉效果
方案选型 → 对比 4 种主流博客方案的 ROI,用数据驱动技术选型而非「跟风用最新框架」
产品设计 → 独立完成 UI/UX 设计,双语结构考虑了国际化场景,图库模块考虑了多媒体内容扩展性
迭代思维 → 博客本身记录了 AI 产品调研、工具评测等内容,既是输出平台,也是个人 PM 能力的实物证明
技术理解 → 能与工程师深度沟通 ISR、API 限速、渲染策略等技术细节,具备跨角色协作基础
Notion 数据库(内容源)
↓ Notion API
Next.js Server Components(服务端渲染)
↓ ISR 缓存
Vercel CDN(全球分发)
↑ Webhook
Notion 内容变更 → 触发缓存刷新