软件工程
构建产品,而非注定要重建的平台
我们参与的几乎每一次SaaS重构项目,根本原因都相同:首个版本被构建为单客户应用,而后才添加多租户功能。将租户隔离功能植入一个从未考虑过此需求的数据库模式,是软件开发中最昂贵的工作之一,且完全可以在第一周避免。
此方案解决的问题
快速推出MVP的压力确实存在且大多正确——但少数几个决策却极难逆转。租户如何隔离、订阅与权限如何建模、权限如何运作。这些若设计错误,后续每个功能的开发速度都会变慢。
您将获得的服务
首次迁移即实现租户隔离
在查询层强制执行,而非依赖开发者记住添加where条件。一个租户看到另一个租户的数据,是SaaS业务无法恢复的事故。
可核对的订阅计费
Stripe集成,处理试用、升级、周期内按比例调整、催款及支付失败——通过Webhook驱动,确保数据库与Stripe对谁是付费客户的认定保持一致。
权益与计划分离
按功能能力而非计划名称设置功能访问权限,因此添加新层级或对客户进行祖父化处理仅需配置即可,无需修改代码。
组织、角色与邀请
团队账户配备邀请流程、基于角色的权限管理及所有权转移。在单用户账户上后期添加团队功能是一项痛苦的迁移工作。
实现首次价值的入驻流程
围绕产品变得有用的时刻设计注册路径,在空白状态下提供示例数据以避免新用户停滞。试用转化在此阶段决定。
首日即启用的产品分析
在产品发布前即部署激活、功能使用及流失信号的监测,使产品路线图决策基于用户行为而非最喧闹的客户意见。
我们的工作方式
诚实评估MVP范围
何为必须存在才能让客户付费,何为可暂缓。在此阶段缩减范围是项目中最高价值的工作。
设计难点
在功能开发开始前,确定并记录租户模型、计费与权限。
以两周为周期构建
每两周在可用的临时URL上交付可工作的软件。
计费与入驻流程
端到端的注册、支付与取消流程,使用真实的Stripe测试卡进行测试。
私有测试版
在公开发布前,让一小部分真实用户使用,并将反馈纳入产品待办事项。
发布并迭代
监控、分析回顾,并根据实际使用情况优先处理待办事项。
您应当期待什么
- 数据层强制实现租户隔离,而非仅依赖约定
- 计费状态始终与 Stripe 同步
- 新的定价层级以配置形式添加
- 发布时已可衡量激活率与流失率
构建于
- Next.js
- TypeScript
- React
- Node.js
- Laravel
- PostgreSQL
- Prisma
- Redis
- Stripe
- AWS
- Vercel
- Docker
- Playwright
Mainstream, well-supported technology — chosen so you can hire for it and so another team could take the project over.
SaaS 产品开发 — your questions
包括那些大多数机构在页面上忽略的成本问题。
一个真正的 MVP(最小可行产品)——包含认证、核心流程、计费和入门指引——通常需要 £22,000 至 £45,000,耗时三到五个月。低于约 £20,000 的预算只能做出原型,而非可收费的产品,我们宁愿坦诚相告,也不愿接下项目后令您失望。
几乎总是 MVP——但 MVP 意味着构建一个精准的窄产品,而非一个宽泛的劣质产品。砍掉功能,但绝不能砍租户隔离、计费准确性或安全性,因为这些部分若被忽视,将导致重写而非迭代。
一种在每一行都带有租户标识符并在数据访问层强制隔离的共享架构,适用于绝大多数B2B SaaS产品。当客户合同要求物理隔离时,我们会为每个租户使用单独的数据库,但此决策会产生真实的运营成本且需要充分理由。
从第一次提交开始,代码完全归您所有,存放在您自己的代码仓库中。这是我们的底线———个SaaS业务的代码库由其开发机构持有,就不算真正意义上的业务。
大多数客户会转入月度支持与迭代的服务,但您并非被迫绑定。交接包括架构文档和运维手册,特别设计成让另一支团队能够接手,这是唯一诚实的交接验证方式。
可以,且这是我们的重要业务之一。我们从付费审计开始——架构、租户模式、安全性、测试覆盖率及计费集成的实际状态——在任何人承诺重写前,我们会提供一份书面评估,并附带优先级计划。

