从 0 到 1,记录我的第一个出海 SaaS 独立开发项目

前言

受到同事的鼓励与引导,我也决定开始做自己的出海 SaaS 工具站了。

9 月 8 日,我去银行开通了一张支持海外支付的万事达卡,随后便开始买域名、建项目,直接开搓!

项目开发初版,第一天直接部署上线,并提交到 Google Search Console(GSC)Bing Webmaster Tools,希望两个搜索引擎能够尽快收录我的网站。

买域名

我打算做一个音乐相关的工具站,所以首先需要购买一个合适的域名。

经过对比,我发现同一个域名在 Spaceship 上的价格比 Namecheap 更便宜,于是最终选择了 Spaceship。

关于域名的选择,之前看过一些相关文章,大致总结了几点经验:

  1. 如果资金充足,优先考虑 .com 域名,其次可以考虑 .ai.app
  2. 域名尽量简短、易记,最好包含与产品相关的关键词。
  3. 尽量避免在域名中使用横杠、生僻英文单词或者毫无规律的字母组合。

之所以推荐 .ai.app 这类域名,是因为用户在 Google 搜索时,经常会使用 xxx appxxx ai 这样的关键词。如果域名与产品定位比较契合,也有利于用户理解和记住你的网站。

不过,由于我暂时不想在域名上投入太多资金,所以最终购买了 musictool.tools,价格大概是每年 6 欧元。

建项目

做出海 SEO 站,我个人更倾向于选择支持服务端渲染(SSR)的技术栈,让搜索引擎能够直接获取相对完整的 HTML 内容,降低内容抓取和索引的难度。

因此,我没有选择纯客户端渲染的 SPA 方案。现在 Next.js 这类对 SEO 比较友好的技术栈越来越流行,也是这个原因。

不过,我个人不太喜欢 Next.js 相对繁重的开发体验,所以最终选择了 TanStack Start(RC)

项目初始化方面,我依然使用之前分享过的开源项目:

better-t-stack.dev/

通过它创建好初始脚手架之后,再根据自己的需求指挥 AI 进行修改即可。

下面是我这个项目使用的技术栈。

基于模板创建项目后,我又接入了一些自己需要的基础设施。这些服务基本都有免费额度,对于刚起步的独立开发者来说,完全够用了。

支付方面,我选择了对独立开发者比较友好的 Waffo,也是偶然刷到后才了解到的。

Stripe 的接入通常需要考虑境外主体、银行账户等条件。我目前还没有办理香港银行卡,所以就先接入了 Waffo。

接入过程也比较简单,基本就是按照官方文档,把相关提示词和 Skills 提供给 AI,让它帮忙完成集成。

当然,如果条件允许,还是建议根据自己的业务情况考虑接入 Stripe。

工程与工具链

类别 技术 说明
Monorepo pnpm workspaces + Turborepo 多包管理、并行构建
语言 TypeScript 全栈类型安全
代码质量 Oxlint + Oxfmt Lint 与格式化
环境变量 @t3-oss/env-core + Zod 服务端 / 客户端 env 校验(packages/env

前端与全栈框架

类别 技术 说明
全栈框架 TanStack Start SSR、文件路由、Server Functions
路由 TanStack Router 类型安全路由、SSR 集成
构建 Vite 8 开发与生产构建
SSR 运行时 Nitro 服务端渲染与 Vercel 部署适配
UI 库 React 组件化 UI
样式 Tailwind CSS v4 原子化 CSS
组件库 shadcn/ui(packages/ui 共享 UI primitives
图标 lucide-react 统一图标
主题 next-themes 深色模式
动画 Motion 页面与组件动效
通知 Sonner Toast 提示

数据与状态

类别 技术 说明
服务端状态 TanStack Query 数据请求、缓存、SSR 集成(oRPC 客户端数据)
客户端状态 Jotai 跨组件共享的 UI / 会话态(atom + useAtom
表单 TanStack Form 表单状态与校验
API 层 oRPC 端到端类型安全 RPC,OpenAPI 集成
ORM Drizzle TypeScript-first 数据库访问
数据库 PostgreSQL 主数据存储
本地数据库 Docker Compose 开发环境 PostgreSQL

认证与国际化

类别 技术 说明
认证 Better Auth Session、社交登录、TanStack Start 集成
登录方式 Google OAuth 第三方登录
国际化 Paraglide JS + inlang 编译时 i18n;URL 区分语言(SEO)

AI

类别 技术 说明
AI SDK Vercel AI SDK 流式对话、Server Actions
模型 @ai-sdk/google Google 模型接入

基建服务(第三方 SaaS)

服务 用途
Vercel 托管、CI/CD、Serverless 函数
Cloudflare 域名 DNS
Google OAuth 用户登录
Waffo Pancake 订阅支付与 Webhook
Resend 事务邮件(用户反馈)
Cloudflare R2 对象存储(S3 兼容,预签名直传)
Google Analytics 4 流量统计(仅生产环境)
Microsoft Clarity 用户行为分析、录屏回放(仅生产环境)
Sentry 前后端错误监控(仅生产环境)

部署上线

其实,现在独立开发一个项目并部署上线,已经没有想象中那么复杂了。

如今的 Serverless 服务已经非常成熟,对于一些轻量级的 SaaS 工具站来说,我们完全可以不用自己购买和维护服务器,也不需要让服务 24 小时保持运行。

直接选择支持弹性扩容的 Serverless 平台即可,例如 Vercel 和 Cloudflare。

我的项目就是直接把 Git 仓库连接到 Vercel,每次 Push 代码之后,Vercel 都会自动构建并部署更新,整个过程基本不需要手动操作。

在目前这个阶段,部署方面也几乎没有产生什么费用。

对象存储方面,还得感谢 CF 大善人提供的 Cloudflare R2,免费额度对于项目初期来说相当够用,基本不需要额外花钱。

目前主要的支出,反而是开发功能时调用的一些第三方 API,需要提前充值少量费用。不过,这部分成本也在可以接受的范围内。

所以,对于独立开发者来说,现在从零开始做一个项目,前期的基础设施成本其实已经很低了。

如果你也想尝试独立开发,完全可以先用这些平台的免费额度把项目跑起来,等真正有了用户和收入,再根据实际情况升级配置。

开发的过程

项目的基础设施搭建大概花了一天时间,接下来就可以正式进入功能开发阶段了。

如果对目标领域不太熟悉,可以先让 AI Research 帮忙做一轮竞品调研,梳理一下同类产品的核心功能和用户需求。

由于我自己对这个领域比较熟悉,也清楚需要开发哪些功能,所以就直接开始 AI Coding 了。

我的开发流程大致分为两个阶段:先做设计稿,再进行需求拆解与功能实现。

设计稿方面,我主要使用 Pen,接入 deepseek 并开启 x6 后,整体设计效率还是很高的。

功能开发方面,我主要使用 Matt 的工作流,整体流程大概是这样的:

  1. grill me:先和 AI 充分讨论需求,明确功能的实现方式。
  2. /to-spec:将讨论结果整理成完整的需求规格和总体任务。
  3. /to-tickets:把总体任务拆分成多个可以独立执行的子任务。
  4. /implement-spec:按照拆分好的任务逐步实现功能。
  5. /code-review:让 AI 对代码进行审查,最后自己再检查一遍。

Matt 这套工作流用起来还是蛮舒服的。

在实际开发过程中,我发现一个比较有效的方法,就是把每次遇到的问题和纠正过的错误,都让 AI 记录到项目的 AGENTS.md 中。

这样一来,AI 后续开发时就能参考之前积累的项目规范和经验,减少重复犯错。

不断地发现问题、修正规范、优化执行流程,也算是一种 Loop 吧。

等到项目的 Harness 逐渐配置完善之后,后续开发新功能就会顺畅很多。

特别是对于一些相似的功能,只要需求描述和任务拆解足够清楚,基本就可以放心地让 AI 去搓了。

当然,最后还是得自己检查一下,不能真的完全闭眼。

开发过程中,唯一让我比较头疼的,就是个人能够使用的 Token 实在不太够。

最开始,我开了 Cursor 每月 20 美元的会员,结果大概 4 天就把额度用完了,当时主要使用的还是 Grok。

后来又转到了 Codex 的 20 美元版本,虽然整体体验还可以,但经常需要等待 5 小时的使用额度重置,用起来也不算特别爽。

期间 Tibo 的额度也重置过一次,但依然不太够用。

再后来,Z Code 又送了很多 Token,额度有好几亿,虽然最近爆料出那个大瓜但用都用了。

我逐渐把开发流程改成了:

使用 GPT 5.6 或 GPT 6 讨论需求和总体设计,再将拆解好的具体任务交给 GLM 等国产模型执行。

一开始,我对这种方案其实也不太放心,总觉得复杂一些的功能还是得交给更强的模型来写。

但实际尝试之后发现,如果前期的方案设计足够清楚,任务也拆解得足够细,GLM 这类国产模型同样能够完成不少实际开发工作。

尤其是一些边界明确、实现路径清晰的功能,执行效果已经能够满足我的需求。

后来,Z Code 的额度也用完了,我就又开了 Command Code 的 10 美元套餐,主要使用里面的 DeepSeek 4.1 Flash

目前体验下来,国产模型里我个人用得比较顺手的还是 GLM 和 DeepSeek。

虽然它们有时候会出现「雷霆大思考」,在一些简单问题上思考很久,但整体代码能力还是可以的。

这里也分享一个个人经验:思考程度可以先调到「高」,没有特别复杂的任务时,没必要一直开「极高」。

对于独立开发者来说,我觉得没有必要让最贵的模型承担所有工作。

可以让能力更强的模型负责需求分析、方案设计和任务拆解,再交给成本相对较低的模型执行具体任务。

这样既能够控制 Token 成本,也能提高整体开发效率。

结语

这篇文章暂时就写这么多,主要还是想简单记录一下自己从零开始做出海 SaaS 工具站的过程,希望能给同样准备尝试独立开发的朋友提供一些参考。

最近我也在继续学习 SEO 相关的知识。

之前我对 SEO 的理解其实比较浅,以为做好语义化标签、标题和页面结构,就已经差不多了。

真正开始做出海工具站之后,才发现 SEO 还有很多值得深入研究的内容。

比如使用 SEMrush 进行关键词调研、分析搜索量和关键词难度、规划网站内容结构,以及围绕核心关键词和长尾关键词持续优化页面等。

这些工作的最终目的,就是提高网站在搜索引擎中的曝光量。

当用户搜索与你的产品相关的问题时,希望自己的网站能够尽可能出现在搜索结果的靠前位置,吸引用户点击进入,并进一步完成注册、使用甚至付费转化。

不过,这方面我也还在学习和摸索,目前只是刚刚入门。

后续如果有新的实践经验和收获,再继续跟大家分享。

相关推荐
Aaswk1 小时前
从 HTML/CSS/JS 到 Vue + Axios 的一篇实战笔记
前端·css·vue.js·html
IMPYLH1 小时前
HTML 的 <span> 标签
前端·html
计算机魔术师1 小时前
纽约时报诉案曝光:微软高管私下承认,AI抓取是史上最大劳动盗窃
前端
晓得迷路了1 小时前
栗子前端技术周刊第 147 期 - React Router 8.4、Vite 云服务攻击、pnpm 12.4...
前端·javascript·react.js
SEO_juper1 小时前
2026年用Python检测网站薄内容与重复页:用向量相似度找出“搜索引擎眼中一样“的页面(附完整代码)
开发语言·前端·seo·独立站·谷歌优化
IT_陈寒2 小时前
Vite这坑我踩了,说说静态资源加载那些事儿
前端·人工智能·后端
梦曦i2 小时前
uni-app x 0.7.0重磅升级:插件实例化,原生编译彻底打通
前端·uni-app x
开开心心就好2 小时前
C盘空间不够用?一键扫描清理系统垃圾
前端·javascript·安全·支持向量机·语音识别·etcd·模拟退火算法
爱喝水的小周2 小时前
实验八 Vue‑Router 路由插件实践
前端·javascript