mirror of
https://github.com/wasp-lang/open-saas.git
synced 2025-04-10 12:59:05 +02:00
Merge pull request #345 from wasp-lang/coverletter-making-550
Adding a new blog post about cover letter gpt microsaas
This commit is contained in:
commit
9c9ec7ea04
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
After Width: | Height: | Size: 798 KiB |
BIN
opensaas-sh/blog/src/assets/cover-letter-gpt/coverlettergpt.webp
Normal file
BIN
opensaas-sh/blog/src/assets/cover-letter-gpt/coverlettergpt.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 63 KiB |
BIN
opensaas-sh/blog/src/assets/cover-letter-gpt/mrr-graph.webp
Normal file
BIN
opensaas-sh/blog/src/assets/cover-letter-gpt/mrr-graph.webp
Normal file
Binary file not shown.
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>
|
||||
|
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: -3rem 0;
|
||||
}
|
||||
/* 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>
|
@ -110,6 +110,10 @@ app myApp {
|
||||
}
|
||||
```
|
||||
|
||||
<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>
|
||||
|
||||
### Out-of-the-box Stripe integration
|
||||
|
||||
Another significant advantage for Peter was how Open SaaS handled third-party integrations. Setting up services like [**Stripe for payments**](https://docs.opensaas.sh/guides/payments-integration/) often requires a lot of effort, but Wasp's OpenSaaS streamlined the process - you just need to add your API key and you're good to go.
|
||||
|
@ -0,0 +1,115 @@
|
||||
---
|
||||
title: My GPT Wrapper Makes $550 MRR One Year After Launch
|
||||
date: 2024-12-16
|
||||
tags:
|
||||
- gpt
|
||||
- saas
|
||||
- sideproject
|
||||
- indiehacker
|
||||
authors: vince
|
||||
---
|
||||
|
||||
import { Image } from 'astro:assets';
|
||||
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,
|
||||
|
||||
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:
|
||||
|
||||
- **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**
|
||||
- **~$550 MRR** after one year
|
||||
- Minimal customer support—only **3 Stripe disputes** to date
|
||||
- Costs **~$15/month** to operate (hosting + OpenAI API fees)
|
||||
- Deployed on [Railway](https://railway.app/) & [Netlify](https://netlify.com/)
|
||||
|
||||
---
|
||||
|
||||
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
|
||||
|
||||
Many developers think a SaaS has to be big, flashy, or wildly profitable to be worth building. I disagree. For me:
|
||||
|
||||
- $550/month is fantastic as side income.
|
||||
- It runs itself, requiring virtually no maintenance.
|
||||
- I can balance it easily alongside my full-time job.
|
||||
- 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.
|
||||
|
||||
### 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:
|
||||
|
||||
1. **Avoid long, drawn-out failures:** Build small, execute early.
|
||||
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.
|
||||
|
||||
### Keep It Simple
|
||||
|
||||
The beauty of micro-SaaS is in its simplicity. Here's why:
|
||||
|
||||
- My app does **one thing well**: generating cover letters based on résumés and job descriptions.
|
||||
- There's no need for a fancy landing page or marketing gimmicks. This is my 🌶 hot take.
|
||||
- Users get **3 trial credits**—enough to try the app and see value before paying.
|
||||
|
||||
<Image src={landingPage} alt="CoverLetterGPT landing page" />
|
||||
|
||||
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.
|
||||
|
||||
This means I spend my time on **new ideas** rather than maintaining old ones.
|
||||
|
||||
### It's All About Tradeoffs
|
||||
|
||||
While I could optimize and grow CoverLetterGPT further, I've chosen to keep it small and simple. For me:
|
||||
|
||||
- **Small wins** are still wins.
|
||||
- I value having a side project that's easy to manage alongside my full-time job.
|
||||
- I'd rather have **less stress** than chase higher profits.
|
||||
|
||||
### Links & Resources
|
||||
|
||||
If you're thinking about launching your own SaaS, here are some helpful resources:
|
||||
|
||||
- 👨💻 [CoverLetterGPT (Live App)](https://coverlettergpt.xyz/)
|
||||
- 💸 [Open-Source SaaS Template](https://github.com/wasp-lang/open-saas)
|
||||
- 🛠️ [Framework: Wasp](https://wasp-lang.dev/)
|
||||
- ✨ [UI Components: Chakra UI](https://chakra-ui.com/)
|
||||
- 🛠️ [Hosting: Railway](https://railway.app/) & [Netlify](https://netlify.com/)
|
||||
- ✍️ [My Original Reddit Post](https://www.reddit.com/r/SideProject/comments/1h4t8vk/my_saas_only_makes_550_a_month_and_i_think_thats/)
|
||||
|
||||
### Final Thoughts
|
||||
|
||||
If you're considering building a SaaS, **don't overthink it.** Start small, move fast, and treat it as an experiment. Forget the “rules” and focus on launching. Here's what matters most:
|
||||
|
||||
- Keep it simple: Build an app that solves one problem well.
|
||||
- Launch fast: Test your idea and iterate based on real feedback.
|
||||
- Minimize effort: Aim for maximum reward with minimal maintenance.
|
||||
|
||||
For me, **$550 MRR** isn't just “enough”—it's amazing. It's proof that small, focused apps can succeed, and they're a great way to build confidence and skills as a maker.
|
||||
|
||||
## Let's stay in touch!
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
<StarOpenSaaSCTA trailingText="and support tools that help you build fast!" />
|
Loading…
x
Reference in New Issue
Block a user