构建微型SaaS的最佳方法

好久不见!我已经休息了一年多了。

我没有太多时间写博客,因为我的主要 SaaS 和在法国社交媒体上创建内容需要更多时间。

无论如何,让我们深入探讨构建 SaaS 或微型 SaaS 的最佳方式和最佳技术栈。

我将介绍从前端、后端、基础设施、支付到许多人忘记的事情的所有内容。

但你可能想知道……

1、我是谁,可以给你关于 SaaS 的建议吗?

简而言之:

  • 大学毕业后,我从事自由职业已有 11 年
  • 我推出了 6 个微型 SaaS 和 2 个 SaaS,自 2019 年以来共赚了 120 万欧元

今天我靠我的项目生活,从法国搬到了台湾,因为我喜欢在亚洲和日本附近。

在开始独立开发之前,我是一名全职自由职业者,主要为初创公司工作,所以我看到了很多让项目顺利进行的事情,但也有……

出错!

所以,我对 SaaS、微型 SaaS 或启动项目了解很多。

2、那么启动 SaaS 的最佳方式是什么?

所以,在考虑技术之前,你需要关注 3 个基本事项:

  • 正确定义你要解决的问题,因为这将帮助你使用正确的工具完成正确的任务
  • 正确定义目标,知道你为谁构建很重要
  • 尽早定义你的营销策略,因为这将帮助你选择正确的工具来完成正确的任务

一旦这 3 件事明确了,你的 SaaS 通常需要这个列表:

  • 营销网站或页面
  • 你要构建的工具本身(设计 + 技术)
  • 支付网关
  • 分析工具
  • 托管服务

3、为 SaaS 构建营销网站的最佳方式是什么?

很多程序员都会犯这样的错误。

如果你要推出一款新的 SaaS,你必须“快速发布”,而不是过度设计。

快速发布是什么意思?发布糟糕的代码?不。

快速发布意味着做出选择。这些选择可以让你更快地发布产品,看看你的产品是否适合市场。

选择测试你的核心想法,并解决你可能存在的任何技能问题。

但是伸缩性怎么办?如果我的项目失败了?

不要急于求成,如果你的项目失败了,你会遇到富人问题,因此需要金钱或曝光度来解决这个问题。

不要试图修复不可预测的未来。

对于营销网站,大多数情况下,以下是处理它的最佳方法,以提高效率:

3.1 对于 90% 的情况,只需使用 CMS

Webflow、Framer、WordPress,无论你想要什么。

为什么? CMS 会提供大量现成的主题,因为你可能不擅长设计。

当你的项目发展壮大,你开始委派任务,或者你有联合创始人时,第三方更容易处理内容更改。

大多数情况下,它默认具有 SEO 和营销功能,你肯定会忘记自己实现这些功能。

我主要使用 WordPress,因为我已经掌握了它,但对于新手,我建议使用 Framer 或 Webflow。

3.2 使用服务端渲染

如果你的项目具有必须在营销网站上展示的复杂功能,请使用服务端渲染栈。

假设你正在构建 Airbnb,它不是 SaaS,而是市场,但这并不重要。

如果你正在构建 Airbnb,你希望用户能够从营销网站执行操作,并可能显示属于你应用程序一部分的内容。

因此,这是我建议在你最喜欢的技术栈中执行此操作的罕见情况之一,无论是使用 Next 的 JS、使用 Laravel 的 PHP 还是使用 Django 的 Python……

无论什么,只要它是服务端渲染的。

我看到很多人只用客户端代码来制作他们的营销页面,这很糟糕,除非你从长远来看根本不关心 SEO。

对于设计,使用易于使用和自定义的东西,例如与 Tailwind 配合使用的 DaisyUI 或使用 React 的 Shadcn + Magic UI。

目标是使用用户体验友好且具有一些良好的基本 UI 的东西,因此如果你准备投资一点,TailwindUI 很不错,或者你可以实现 Untitled UI 的设计,这非常简洁。

3.3 使用静态页面

使用 Astro、Nuxt 或 Next 等 SSG 来快速生成静态页面,并使用无头 CMS 或本地文件作为内容。

如果你使用的内容过于具体,并且需要一些轻量级的简单营销页面,并且这些页面还能够通过 API 或其他方式调用你的数据,我才会建议你这样做。

对我来说,Astro 无疑是最好的 SSG,但你可以随意使用你掌握的任何内容。

正如我所说,快速交付就是做出选择,而这些选择的一部分是在你熟悉或快速学习和高效之间取得平衡。

对我来说,Astro 是最佳选择,因为它的学习曲线简单且性能出色,但对你来说,它可能是其他选择,具体取决于你的初始技能。

静态网站的优点在于,即使必须在 Cloudflare 页面、S3 存储桶或共享主机上进行大量扩展,托管也是免费的或非常便宜的。

我个人使用 PlanetHoster 等共享主机,它每年几乎不收费,允许多个域名,为我提供带有域名的自定义电子邮件帐户,还可以托管 WordPr

非常高效地处理静态页面。

4、构建 SaaS 本身的最佳堆栈是什么?

好吧,这是你应该知道的,大约有 3 种类型的项目:

  • 内容繁重的项目
  • 后端繁重的项目
  • 前端繁重的项目

4.1 内容繁重的项目

对于内容繁重的项目,你通常需要一个无头 CMS、管理生成器或帮助你管理内容的工具。

内容繁重的项目的一个例子是 ProductHunt 或 Nextflix 这样的目录。

这些主要是基于内容的应用程序,带有付费墙或你可以围绕它设置的任何商业模式。

对于诸如此类的事情,我个人使用 Directus、Strapi 或 Contentful。

Contentful 是我朋友用来继续我们的项目 foreignrap.com 的东西。

但我也有使用 Laravel 和管理员生成器 Nova 的项目。

这里的重点是:想想你最擅长什么。

要么学习一种以你喜欢的语言编写的无头 CMS,它可以扩展用于特定内容,要么使用你擅长的后端框架并尝试找到可以为你生成管理的软件包。

不要尝试自己重建整个管理,这与快速交付完全相反。

4.2 后端繁重的项目

对于后端繁重的项目,我有两种方法:

我的第一种方法是使用我最喜欢的语言和框架,在我的情况下是 Laravel,因为它有最好的软件包来快速启动项目

在 Node 生态系统中,如果你真的掌握了它,我推荐 Adonijs 或 Next/Nuxt/Svelte 套件。

在 Python 生态系统中,Django 是你经常想要瞄准的目标,尤其是知道你可以轻松地将其插入 Wagtail CMS。

在 Ruby 生态系统中,当然是 RoR。

对于其他人,只需尝试找到一个“全栈所有电池都包含”框架,它将节省你在身份验证、ORM 等方面的时间。

不要尝试过度设计,如果你的生态系统中不存在框架,请采用样板,目标是快速交付仍可扩展到最低限度的代码。

我的第二个目标是使用 BaaS,如 Supabase、Appwrite 或其他任何 BaaS,只要它不会变得太乱。

这类工具的最大优势是可扩展性和设置速度,因为它们附带了大量随时可用的东西。

最大的缺点是供应商锁定,但对于 Supabase 和 Appwrite,如果这真的是个问题,你实际上可以自己托管它。

Supabase 很难自行托管,但 Appwrite 相当容易。

4.3 前端繁重的项目

对于前端繁重的项目,这很容易,使用你选择的前端框架和你主要用作数据库的 BaaS。

Firebase、Supabase、Appwrite,随便你说。

你的大部分逻辑都将在前端。

事实上,我甚至有 3 个微型 SaaS,其中所有数据都在 localStorage 中,因为我也在销售一次性使用,其中工作是在浏览器中完成的。

这 3 个微型 SaaS 在 3 年内总共赚了大约 76,000 欧元,几乎没有更新,因为它们是简单的工具。

Stripe 处理了 15,000 多笔支付交易,所有应用程序都托管在 PlanetHoster 等单个共享主机上。

在这类项目中,人们往往会过度设计。

保持简单,为你的客户解决核心问题。

一个前端和一个处理支付的云功能绰绰有余。我甚至在共享主机服务器上的项目上使用一个简单的 PHP 文件来处理付款,仅此而已。

由 firebase 处理身份验证,由前端处理逻辑,这绰绰有余。

大多数人往往会忘记它,但只要你的应用程序响应迅速,共享主机和 SQLite 就可以处理很多东西。

所以就像我说的,对于前端繁重的工作,由于大多数事情都发生在客户端,我的服务器做不了什么,所以这通常是我的选择。

4.4 设计呢?

对于设计,使用易于使用和自定义的东西,例如与 Tailwind 配合使用的 DaisyUI 或使用 React 的 Shadcn + Magic UI。

目标是使用用户体验友好且具有一些良好基本用户界面的东西,因此如果你准备投资一点,TailwindUI 很不错,或者你可以实现 Untitled UI 的设计,这非常简洁。

就我个人而言,我的大部分设计都是使用 Bulma CSS、Tailwind UI 或自定义 CSS 来完成非常小的东西(例如 3 个微型 SaaS,赚了 70 欧元以上)。

你主要需要有一个好的用户体验,这可以快速完成,但要看看你的竞争对手在做什么。

5、其余的 SaaS 呢?付款?分析?

当然,一旦你建立了你的 SaaS,你就想添加付款。

对我来说,最简单的方法是 Stripe,因为你几乎不需要编写代码。

它为你提供了一个结帐页面,其中包含所有 UI 来处理一次性付款或订阅,如果有一个计费页面供用户管理他们的付款方式和其他内容等。

你只需要在你的终端处理 webhook。

出于类似的原因,Lemonsqueezy 也是一个不错的选择。

不要自己重新创建支付 UI,使用现有的,这将在项目生命周期的第一部分发挥作用。

但最重要的是,你需要在应用程序的每个重要位置添加跟踪事件。

例如,我当然会跟踪页面浏览量,但也会FAQ 点击次数,了解阅读次数最多的内容。

我会在支付按钮点击次数上添加事件,以查看点击本身的转化率,然后从点击到支付。

我会在人们会做的事情上添加事件,这些事情与我的应用相关,比如上传或诸如此类。

确定哪些用户操作对你来说很重要,以便你假设他们对应用的使用情况。

在这个分析部分,我还会计算像 Sentry 这样的工具,或者任何可以帮助你记录代码错误的工具。

对于一般分析,我以前经常使用 Google,但现在我使用 Logspot.io,因为我觉得它很容易。

请随意查看其他可以自托管的东西,比如 Plausible 或 Matomo,我相信它也可以自托管。

你必须记住的是,你需要跟踪东西以了解人们如何使用应用程序并收集反馈以进行改进。

在托管方面,我主要根据项目类型选择共享主机、VPS 或带有 BaaS 的无服务器。

  • 对于共享主机:PlanetHoster
  • 对于 VPS:任何你喜欢的,我使用 Scaleway,但 Hertnez 似乎不错,你可以使用 Coolify 或 Ploi 之类的东西来管理你的服务器
  • 对于无服务器:Vercel、Supabase、Firebase、Cloudlfare 或 Appwrite

在这里,同样,使用最适合你、你掌握的或易于处理和管理的东西。

Firebase 和 Vercel 是我认为你必须在价格方面小心谨慎的两款,因为如果你的应用程序没有为它们设计好,你可能会有意外的成本,所以要正确设置你的限制。

6、结论:构建 SaaS 的最佳技术栈是什么?

正如你所看到的,最好的栈通常是你最了解的,尽管我给了你具体的用例并解释了为什么 X 或 Y 可能更有趣。

因为人们往往过于关注他们的技术栈,而不是专注于他们试图构建的东西。

我在这里所说的不仅仅是关于做副业,或者成为一名独立黑客或其他什么,这也是决定作为自由职业者或初创公司员工为客户使用什么堆栈的好方法。

希望这对你有所帮助,明年见。


原文链接:Yes, here’s the best way to build a SaaS or micro-SaaS

汇智网翻译整理,转载请标明出处