mirror of
https://github.com/wasp-lang/open-saas.git
synced 2025-06-06 04:59:17 +02:00
add tweet and changes
This commit is contained in:
parent
3868182966
commit
83231aff9d
Binary file not shown.
After Width: | Height: | Size: 798 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
Binary file not shown.
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
20
opensaas-sh/blog/src/components/StarOpenSaaSCTA.astro
Normal file
20
opensaas-sh/blog/src/components/StarOpenSaaSCTA.astro
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
interface Props {
|
||||||
|
trailingText?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { trailingText = 'and support open-source tools for builders, by builders!' } = Astro.props;
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="bg-yellow-300 p-4 text-center text-md font-bold rounded-lg text-black">
|
||||||
|
<span>
|
||||||
|
⭐️ Star the{' '}
|
||||||
|
</span>
|
||||||
|
<a href="https://github.com/wasp-lang/open-saas" class="!text-yellow-800 underline hover:!text-yellow-600">
|
||||||
|
Open SaaS repo
|
||||||
|
</a>
|
||||||
|
<span>
|
||||||
|
{trailingText}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
@ -9,7 +9,7 @@ const { id } = Astro.props;
|
|||||||
<style>
|
<style>
|
||||||
.tweet-wrapper {
|
.tweet-wrapper {
|
||||||
transform: scale(0.85);
|
transform: scale(0.85);
|
||||||
margin-bottom: 0rem;
|
margin: -3rem 0;
|
||||||
}
|
}
|
||||||
/* Target the Twitter iframe to reduce padding */
|
/* Target the Twitter iframe to reduce padding */
|
||||||
:global(.twitter-tweet-rendered) {
|
:global(.twitter-tweet-rendered) {
|
||||||
|
@ -1,68 +0,0 @@
|
|||||||
---
|
|
||||||
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.
|
|
@ -10,26 +10,35 @@ authors: vince
|
|||||||
---
|
---
|
||||||
|
|
||||||
import { Image } from 'astro:assets';
|
import { Image } from 'astro:assets';
|
||||||
import landingPage from '../../../assets/cover-letter-gpt/landing-page.png';
|
import Tweet from '../../../components/Tweet.astro';
|
||||||
|
import landingPage from '../../../assets/cover-letter-gpt/coverlettergpt.webp';
|
||||||
|
import mrrGraph from '../../../assets/cover-letter-gpt/mrr-graph.webp';
|
||||||
|
import StarOpenSaaSCTA from '../../../components/StarOpenSaaSCTA.astro';
|
||||||
|
import redditPost from '../../../assets/cover-letter-gpt/coverlettergpt-reddit.png';
|
||||||
|
|
||||||
Hey builders,
|
Hey builders,
|
||||||
|
|
||||||
I wanted to share my journey building a micro-SaaS, [CoverLetterGPT](https://coverlettergpt.xyz/), which now earns **$550/month in recurring revenue (MRR)**—all while requiring **minimal effort and maintenance**. Here's how I did it and why I believe small, simple SaaS apps are an underrated way to start as an indie maker.
|
I wanted to share my journey building a micro-SaaS, [CoverLetterGPT](https://coverlettergpt.xyz/), which now earns **$550/month in recurring revenue (MRR)**—all while requiring **minimal effort and maintenance**. Here's how I did it and why I believe small, simple SaaS apps are an underrated way to start as an indie maker.
|
||||||
|
<Tweet id="1863553258586820976" />
|
||||||
|
|
||||||
### Quick Stats:
|
### Quick Stats:
|
||||||
|
|
||||||
- **Built in 1 week** using Wasp
|
- **Built in 1 week**
|
||||||
|
- using [Wasp](https://wasp-lang.dev/), a React, NodeJS, & Prisma framework
|
||||||
|
- and [Chakra UI](https://chakra-ui.com/) for the design system.
|
||||||
- **Runs on autopilot**
|
- **Runs on autopilot**
|
||||||
- **$550 MRR** after one year
|
- **~$550 MRR** after one year
|
||||||
- Minimal customer support—only **3 Stripe disputes** to date
|
- Minimal customer support—only **3 Stripe disputes** to date
|
||||||
- Costs **~$15/month** to operate (hosting + OpenAI API fees)
|
- Costs **~$15/month** to operate (hosting + OpenAI API fees)
|
||||||
- Framework: [Wasp](https://wasp-lang.dev/)
|
|
||||||
- Deployed on [Railway](https://railway.app/) & [Netlify](https://netlify.com/)
|
- Deployed on [Railway](https://railway.app/) & [Netlify](https://netlify.com/)
|
||||||
- UI: [Chakra UI](https://chakra-ui.com/)
|
|
||||||
|
|
||||||
<div style="background-color: #FFD700; padding: 1rem; text-align: center; font-size: 1.2rem; font-weight: bold; border-radius: 8px; color: black;">
|
---
|
||||||
⭐️ Star <a href="https://github.com/wasp-lang/open-saas" style="color: #0000FF; text-decoration: underline;">Open SaaS repo</a> and support tools that help you build fast!
|
|
||||||
</div>
|
BTW, I built [Open SaaS](https://opensaas.sh), the free, open-source SaaS template based on what I learned from building and launching CoverLetterGPT.
|
||||||
|
|
||||||
|
Because Open SaaS is a community-driven project, it also benefits from community feedback and contributions, so it boasts a clean codebase and a ton of useful features. Check it out and give us a star! We're always improving it.
|
||||||
|
|
||||||
|
<StarOpenSaaSCTA />
|
||||||
|
|
||||||
### Small Wins Are Worth It
|
### Small Wins Are Worth It
|
||||||
|
|
||||||
@ -40,14 +49,18 @@ Many developers think a SaaS has to be big, flashy, or wildly profitable to be w
|
|||||||
- I can balance it easily alongside my full-time job.
|
- I can balance it easily alongside my full-time job.
|
||||||
- It's fun and doesn't consume my free time.
|
- It's fun and doesn't consume my free time.
|
||||||
|
|
||||||
|
<Image src={mrrGraph} alt="CoverLetterGPT MRR Graph" />
|
||||||
|
|
||||||
Here's why I think you should aim for small, achievable SaaS projects instead of trying to “hit it big” from the start.
|
Here's why I think you should aim for small, achievable SaaS projects instead of trying to “hit it big” from the start.
|
||||||
|
|
||||||
### Build & Launch Fast
|
### Build & Launch Fast
|
||||||
|
|
||||||
|
<Image src={redditPost} alt="CoverLetterGPT Reddit Post" />
|
||||||
|
|
||||||
The most important lesson I've learned: **speed is everything.** The faster you launch, the faster you'll know if your idea works. Here's what worked for me:
|
The most important lesson I've learned: **speed is everything.** The faster you launch, the faster you'll know if your idea works. Here's what worked for me:
|
||||||
|
|
||||||
1. **Avoid long, drawn-out failures:** Build small, execute early.
|
1. **Avoid long, drawn-out failures:** Build small, execute early.
|
||||||
2. **Use the fastest tools available:** I used [Wasp](https://wasp-lang.dev/) to cut down dev time.
|
2. **Use the fastest tools available:** I used [Wasp](https://wasp-lang.dev/) because it gives me all the building blocks already set up (auth, database, cron jobs, email sending), letting me focus on the business logic of the app. Paired with [Chakra UI](https://chakra-ui.com/), I was able to build the app in about 1 week.
|
||||||
3. **Forget perfection:** I didn't worry about making it pretty or perfect—it just had to work.
|
3. **Forget perfection:** I didn't worry about making it pretty or perfect—it just had to work.
|
||||||
|
|
||||||
### Keep It Simple
|
### Keep It Simple
|
||||||
@ -60,13 +73,7 @@ The beauty of micro-SaaS is in its simplicity. Here's why:
|
|||||||
|
|
||||||
<Image src={landingPage} alt="CoverLetterGPT landing page" />
|
<Image src={landingPage} alt="CoverLetterGPT landing page" />
|
||||||
|
|
||||||
### Minimal Effort = Maximum Reward
|
One of the biggest perks of micro-SaaS is how low-maintenance it can be. With CoverLetterGPT, I rarely handle customer service thanks to its simplicity.
|
||||||
|
|
||||||
One of the biggest perks of micro-SaaS is how low-maintenance it can be. With CoverLetterGPT:
|
|
||||||
|
|
||||||
- I rarely handle customer service (thanks to filtering out problematic users).
|
|
||||||
- It requires little to no ongoing development.
|
|
||||||
- The app practically runs on **autopilot.**
|
|
||||||
|
|
||||||
This means I spend my time on **new ideas** rather than maintaining old ones.
|
This means I spend my time on **new ideas** rather than maintaining old ones.
|
||||||
|
|
||||||
@ -101,8 +108,8 @@ For me, **$550 MRR** isn't just “enough”—it's amazing. It's proof that sma
|
|||||||
|
|
||||||
## Let's stay in touch!
|
## Let's stay in touch!
|
||||||
|
|
||||||
Thanks for reading! If you found this helpful, let me know on [Twitter](https://x.com/hot_town/status/1863553258586820976) or share your own side-project experiences.
|
If you found this helpful, check me out on [Twitter](https://x.com/hot_town/status/1863553258586820976) where I like to build in public and share what I'm learning and building.
|
||||||
|
|
||||||
<div style="background-color: #FFD700; padding: 1rem; text-align: center; font-size: 1.2rem; font-weight: bold; border-radius: 8px; color: black;">
|
---
|
||||||
⭐️ Star <a href="https://github.com/wasp-lang/open-saas" style="color: #0000FF; text-decoration: underline;">Open SaaS repo</a> and support tools that help you build fast!
|
|
||||||
</div>
|
<StarOpenSaaSCTA trailingText="and support tools that help you build fast!" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user