mirror of
https://github.com/wasp-lang/open-saas.git
synced 2025-04-10 12:59:05 +02:00
Merge branch 'add-550mrr-blogpost' into coverletter-making-550
This commit is contained in:
commit
3868182966
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
BIN
opensaas-sh/blog/src/assets/coverlettergpt/coverlettergpt.webp
Normal file
BIN
opensaas-sh/blog/src/assets/coverlettergpt/coverlettergpt.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 63 KiB |
48
opensaas-sh/blog/src/components/Tweet.astro
Normal file
48
opensaas-sh/blog/src/components/Tweet.astro
Normal file
@ -0,0 +1,48 @@
|
||||
---
|
||||
interface Props {
|
||||
id: string;
|
||||
}
|
||||
|
||||
const { id } = Astro.props;
|
||||
---
|
||||
|
||||
<style>
|
||||
.tweet-wrapper {
|
||||
transform: scale(0.85);
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
/* Target the Twitter iframe to reduce padding */
|
||||
:global(.twitter-tweet-rendered) {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="tweet-wrapper">
|
||||
<blockquote class="twitter-tweet">
|
||||
<a href={`https://twitter.com/x/status/${id}`}></a>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
declare global {
|
||||
interface Window {
|
||||
twttr: any;
|
||||
}
|
||||
}
|
||||
|
||||
window.twttr = (function(d, s, id) {
|
||||
var js, fjs = d.getElementsByTagName(s)[0],
|
||||
t = window.twttr || {};
|
||||
if (d.getElementById(id)) return t;
|
||||
js = d.createElement(s) as HTMLScriptElement;
|
||||
js.id = id;
|
||||
js.src = "https://platform.twitter.com/widgets.js";
|
||||
fjs.parentNode?.insertBefore(js, fjs);
|
||||
t._e = [];
|
||||
t.ready = function(f: () => void) {
|
||||
t._e.push(f);
|
||||
};
|
||||
return t;
|
||||
}(document, "script", "twitter-wjs"));
|
||||
</script>
|
@ -0,0 +1,68 @@
|
||||
---
|
||||
title: My SaaS only makes $550 a month and I think that’s amazing
|
||||
date: 2024-12-03
|
||||
tags: ["indiehacker", "saas", "sideproject", "webdev", "marketing"]
|
||||
---
|
||||
import Tweet from '../../../components/Tweet.astro';
|
||||
import { Image } from 'astro:assets';
|
||||
import coverlettergpt from '../../../assets/coverlettergpt/coverlettergpt.webp';
|
||||
|
||||
Yesterday I posted a video on [Twitter](https://x.com/hot_town/status/1863553258586820976) and on [Reddit’s r/sideproject](https://www.reddit.com/r/SideProject/comments/1h4t8vk/my_saas_only_makes_550_a_month_and_i_think_thats/) expressing my opinion that I think super simple SaaS apps that only make a small amount of side income should be your goal when starting out.
|
||||
|
||||
And the response was overwhelmingly positive.
|
||||
|
||||
<Tweet id="1863553258586820976" />
|
||||
|
||||
Let me explain what I mean in more detail:
|
||||
|
||||
**I often think that developers trying their shot at building a side project take it too seriously**. Yep, you read that right.
|
||||
|
||||
They should think of their side project as an experiment, not a business.
|
||||
|
||||
Because in the early stages, that’s what it is. It’s just a test to see if people are willing to pay for a (software) product that you offer them.
|
||||
|
||||
So instead of following all the “rules” around building a profitable SaaS, you should be breaking some of them.
|
||||
|
||||
Here are some examples of what I mean:
|
||||
|
||||
- Forget a shiny landing page, just take your user straight to your product and let them try it out, if possible.
|
||||
- Keep your initial product as simple as possible. Make it easy for the user to comprehend and get started with.
|
||||
- Don’t spend more than a month building it.
|
||||
- It doesn’t matter if it’s ugly, you can improve it later.
|
||||
- Use the tools that help you build the fastest, not the ones that others tell you you should be using.
|
||||
|
||||
<a href="https://coverlettergpt.xyz" target="_blank">
|
||||
<Image src={coverlettergpt} alt="CoverLetterGPT" loading="lazy" width={700} height={700} style="padding: 1rem;" />
|
||||
</a>
|
||||
|
||||
These tactics are exactly what I used to build and launch [CoverLetterGPT](https://coverlettergpt.xyz) and get it to ~$550 monthly recurring revenue (MRR) after a year.
|
||||
|
||||
It doesn’t have a landing page.
|
||||
|
||||
It’s not optimized for SEO.
|
||||
|
||||
I built it in about a week.
|
||||
|
||||
The UI is… not the prettiest.
|
||||
|
||||
It’s a .xyz domain (not .com or .ai).
|
||||
|
||||
And I do little to no maintenance on the app, nor do I have to deal with customer service.
|
||||
|
||||
And I love it and will probably be keeping it that way.
|
||||
|
||||
By the way, here’s my favorite tech stack that I used to build it, but you should use whatever helps you build & launch fast:
|
||||
|
||||
- Framework: [https://wasp-lang.dev](https://wasp-lang.dev/)
|
||||
- TIP! Use their [free, open-source SaaS template](https://opensaas.sh) to build even faster
|
||||
- UI Components: https://www.chakra-ui.com/
|
||||
- Deployed to Railway: https://railway.app/ & Netlify: https://netlify.com/
|
||||
- Costs ~$15/month to run including OpenAI API fees
|
||||
|
||||
In my opinion, it’s all about tradeoffs.
|
||||
|
||||
Personally, I’m lazy, so I want maximum reward for minimal effort. That means I don’t want to spend a lot of my free time maintaining apps I’ve already built (to be honest, I’m a lot like most developers and I like to try out and work on lots of new ideas, rather than focus a lot of energy on stale ones).
|
||||
|
||||
So, for me, $550 MRR is amazing! It’s enough side income for me because It’s an app that basically runs on auto-pilot next to my full-time job, that I don’t have to worry about.
|
||||
|
||||
If you’ve been thinking about building a SaaS app for a while, but haven’t taken the plunge, remember this: it’s just an experiment.
|
Loading…
x
Reference in New Issue
Block a user