7 ms·
Show HN: Open SaaS – An open-source alternative to paid boilerplate starters
- reactordev 3y agoThis is cool but very opinionated on which frameworks to use, etc. it’s a good start but I want to see one with Golang + fiber + htmx + templ. Or bun, or with svelte or vite, but these can be changed out if you already know. Starred, looking forward to see where this goes as I think we need more “baseline” stacks to help people navigate sprint 0.
- matijash 3y agoThanks for your support! Yes, the stack is currently fixed (React, Node, Prisma), and I understand developers might have specific preferences. We'd definitely like to make it more flexible (also in the sense of UI frameworks, etc), but that's something we'll have to figure out step by step.
- leros 3y agoI like opinionated boilerplates. I can adapt to working in different ways. Having someone else decide a reasonable architecture is something I don't mind at all.
- verdverm 3y agoOpinionated enough that you have to learn their bespoke language WASP
- hot_town 3y agoWasp is as easy as learning to write JSON when you already know JS.
- herbst 3y agoDoing JS and JSON for many years. But react based frameworks are still are mystery for me and break everything I love about HTTP and HTML. Calling it as easy as JSON for JS dev sounds a bit stretched. For a react Dev maybe.
- verdverm 3y agoThey problem is in the translation and control. There's also extra tooling and steps in the build process to be maintained.
- leros 3y agoYeah that's a bit much.
- reactordev 3y agoOpinionated enough that you have to learn their bespoke language React People learn what they are eager to
- hot_gril 3y agoWasp generates code. It's a bit odd how even with such a big layer of indirection, you only have one choice of backend language. Though I'm personally happy with JS and want to give this a try.
- TheCapeGreek 3y agoBeing opinionated is a core feature of a boilerplate. The problem is how it's labelled as a true generic solution instead of being a JS SaaS boilerplate. Developers often either have specialisations or preferences, and luckily we have more than one option for each kind of application. See SaasPegasus for a good example. Clearly Django oriented. I have my own boilerplate for my work in Laravel, but I don't brand it as the new saas kid on the block. No gripes against OP, looks like a neat setup. Just the messaging reads to me off. Like it's focusing on the OSS side of it in a weird way. Plenty of boilerplates exist out there that aren't paid solutions, and all stack their own preferred dev tools that are majority open source. It's as if this were a product called "peanut flavoured peanut butter".
- hot_town 3y agonot related to your post at all, but thinking how cool it would be to have Jelly-flavoured Peanut Butter.
- matijash 3y agoThanks for the feedback! I see your point; we could make it clearer from the start that it is JS-oriented. I'm coming from that world, so it seems like I took it for granted. Also re OSS positioning - I'm actually not aware of modern (but maybe I missed it), polished SaaS starters such as the paid ones that got really popular lately (e.g. supastarter, shipfast), so that's what prompted us into that kind of messaging. We'd like to create a community-driven starting point for developers of equal polish and quality.
- mappu 3y agoI'm a bit blindsided by "got really popular lately" - these projects would be relevant to my work but they've completely slipped under my radar. Whereabouts are you hearing about those projects? Or (alternatively) where else are you talking about your project?
- matijash 3y agoTwitter mostly! I am following a bunch of folks in indie hacker / building in public space. Also reddit
- canadiantim 3y agoYeah I wish a lot more of these boilerplates didn't go the react route or atleast offered a vanilla JS option.
- matijash 3y agonoted! If you went with vanilla JS, is there any specific library you'd use for interactivity?
- herbst 3y agoVanilla JS
- reactordev 3y agoThey don’t understand the power of webcomponents and custom tags, templates, and document.querySelector().
- canadiantim 3y agoGenerally I hew to the htmx + alpine, as I'm a djangonaut but pure vanilla js without library would be excellent too. Because I otherwise like the choices of technologies you've used. Astro is cool and been meaning to tinker with it, stripe of course (though I'd argue you should incorporate getlago instead so people aren't vendor-locked to stripe / getlago you can still use stripe just helps adaptability in case stripe goes weird). Plausible analytics is nice, much better than GA imo. Sendgrid is what I'd normally reach for so that makes sense. Tailwind is what I use for css always so that's great too. So it really is just the lack of a vanilla JS (or lightwight js library like htmx/alpine, etc.) that would prevent my personal adoption of this saas. I know you're using Wasp or planning on using Wasp to implement e.g. authentication etc. which makes sense. But I can't help but wish there was a way to be backend agnostic (not easy I'm sure) such that I could use e.g. django. It would open up a lot more potential customers if you did want to e.g. provide commercial support to people who adopt this open-source saas. Anyway, best of luck eh and good work so far
- 3y ago
- DLA 3y ago+1 for Golang + fiber + htmx. Big fan of this stack, plus maybe some AlpineJs as needed. Recently looked at templ-great features, but somewhat awful looking generated code.
- RamblingCTO 3y agoYeah me too. I built this exact stack for myself as a template. Alpine, go-fiber, htmx.
- ttymck 3y agohttps://saasstartupkit.com/ https://saasstartupkit.com/ Close?
- reactordev 3y agoClose as in it uses golang, sure… but that’s about it. Other than a few packages and the AWS sdk, everything else is old web app architecture. SQL database. Go template html. Not modern.
- What2159 3y agoLooks like it has not been updated in 3yrs
- bulte-rs 3y agoIf you - or others here - are interested I can spend some time to clean-up my own "boilerplate" a bit. It's using Golang + Chi + Templ, uses SQLite as its database and has a multi-tenant-multi-db setup by default (i.e. 1 master database for user/tenant management, and "stem-data", 1 sqlite database per tenant), and uses passkeys for authentication. I'm using some HTMX + Hyperscript + a really small amount of plain-js for passkeys in the apps themselves. I reckon that switching out Chi for Fiber - for the boilerplate only - would take about 90 minutes. Edit: Forgot to include TailwindCSS. So for completeness sake.
- codegeek 3y agoI am interested. I actually like Chi so no need to take it out. Are you open to sharing it ?
- reactordev 3y agoYes, the more baseline boilerplates we have to show more golang the better.
- reeme 3y agoAmazing to see more options for boilerplates! Consider adding your solution to: https://github.com/smirnov-am/awesome-saas-boilerplates https://github.com/smirnov-am/awesome-saas-boilerplates . [edit:] Just saw it is already listed! Good job!
- hot_town 3y agothanks. we already did actually!! its the first one under "Node.js (Javascript)"
- verdverm 3y agoHaving built something similar, the biggest challenge for users is that they have to use a bespoke language, like WASP here. I suspect that it is also your biggest challenge as well. Mine is built on CUE, which at least has the potential to become a more widely used language. CUE hasn't reached sufficient maturity for broader adoption yet, so I continue to face this same problem. https://github.com/hofstadter-io/hof https://github.com/hofstadter-io/hof What we built is more like a framework for building WASP + boilerplate for anything, both sides of the transform in full control by the user. I'm less bullish on the idea since LLMs that can code arrived on stage
- hot_town 3y agoWasp is as easy as learning to write JSON when you already know JS. It's more a mental barrier as new tech no one has heard of is always somewhat intimidating, whether for good reason or not.
- deleted 3y ago[deleted]
- hot_gril 3y agoI don't like DSLs because in almost every case, it would've been better as a library in a general language. You get matured primitives, control logic, and interoperability for free that way, and there are fewer surprises. But Wasp promises so much that I still want to try it. Getting auth and RPCs auto-generated would be great on its own.
- fimdomeio 3y agoDoes anyone know which software was used to make the video?
- transformi 3y agoCool! What about paypal integration?
- nkko 3y agoLove opinionated things, as obviously someone put some thought into it. Would be nice to have a small explainer backing the choices.
- hot_town 3y ago<3
- tuktuktuk 3y agoI like it that the project using Astro. Thank you for making this!
- anyfactor 3y agoMy main resolution for 2024 is to figure out my side project/SaaS boilerplate. Boilerplates are opinionated, and my opinions are so out of whack that I can't use any other folks' opinionated boilerplate. The challenge is the opinion part of boilerplates and the last "S" of SaaS, which stands for service. I can't spend more than $5 a month, and I don't want to use anything other than Python. I think in Python and it provides the absolute frictionless path to bring my ideas to life. I wish I had the same feeling about JavaScript, and that would have certainly made my life easier. But this is a compromise I am happy to accept as part of my identity. The stack I am thinking of right now includes: - Firebase: I chose this because Stripe integration, real-time database, Firebase functions, documentation and Firebase authentication. - Vue/Nuxt + BootstrapVue: This is for basic front-end stuff. - VM/VPS: This will be used to host the operational logic. - Python: This is the core operation. Firestore operations and management will have the real database in PostgreSQL/SQLite to reduce calls to Firestore. - FastAPI: This will be used for communicating with Firebase via API. User calls will be relayed via Firebase to FastAPI. It may be slower, but it will make my life a bit easier. - NGINX: Plan is to have one FastAPI project per project. I think NGINX is going to be helpful here. Also, I would like to do some firewall configuration. I still have a lot to figure out. One thing I am trying to determine is if I really need Firebase here because I already have a backend there. I want to build an API-first system and Unix philosophy-inspired systems where multiple API services or Python modules do one thing only and are linked to each other. The goal is to create common operation Python modules, so I can quickly develop POCs by combining boilerplates with parameters and write the core logic in the minimum amount of Python code. The whole plan is to keep trying different approaches until I find one that works.
- la_fayette 3y agoLooks interesting. I use a similar stack. What made things a lot simpler for me was packaging the python app inside a nginx unit docker image. CI/CD was highly simplified...
- anyfactor 3y agoI will look into it. Thank you very much. My current plan was to SSH and develop inside the VM/VPS. VS code's remote desktop extension makes this quite easy.
- novoreorx 3y agoWhy use Astro, I thought it’s supposed to make content-heavy websites, not dynamic user-centered sites
- matijash 3y agoYes, exactly - Astro is used for the documentation and blog for your SaaS project
- meowtimemania 3y agoYou can server render dynamic content using Astro. It might be a good choice if you like coding with javascript, but also don't want to send javascript to your users.
- danjac 3y agoHonestly, what is the market for these SAAS starters these days? Is anyone making serious money, or even a modest side income, with some web app? It seems the low-hanging fruit is well and truly picked at this point and building something that will earn you decent money requires a lot of time and money investment in a vertical niche, not yet-another-project-management-tool you can put together in a week.
- herbst 3y agoWhat is OpenAI used for?
- danjac 3y agohype
- kennethh 3y agoLooks like a great starting point with good choices of technologies. I see the database is sqlite in development as default, but it is not possible to use it in production as described in the documentation. Would be great with the option to use sqlite in production also since it is easy to use and require less resources.
- matijash 3y agoThat's an interesting point! What do you think would be a point when one would need to switch to Postgres?
- __natty__ 3y agoGreat project. I’m curious if you know live and earning startups made using this or other boilerplate.
- matijash 3y agoOpen SaaS is still very new, but there are a couple that used the "old" version of it, which basically gave us an idea for Open SaaS. For example: - CoverLetterGPT (https://coverlettergpt.xyz/ https://coverlettergpt.xyz/) - generate a cover letter based on your CV and job description - Etsy description generator (this one even got acquired): https://dev.to/wasp/from-idea-to-exit-building-and-selling-an-ai-powered-saas-in-5-months-27d9 https://dev.to/wasp/from-idea-to-exit-building-and-selling-a...
- strzibny 3y agoCongrats on the release! I think marketing it as a general alternative is a little bit misleading. People have their favourite technology they care about and almost every current stack already has an open source boilerplate, no? I too built my own boilerplate, Rails + blogging + Kamal deployments, and call it Business Class. Not free, but worth it:)
- matijash 3y agoThanks for sharing, Business Class looks really cool! As I mentioned in other comments, I think the situation in JS is similar to other technologies - there are a lot of oss boilerplates, but most of them don't offer the same level of polish and features as the paid alternatives. Also, a good portion of them is outdated or not actively maintained. And that's exactly what we are going for, just with an open-source, community-driven approach. I can imagine you had the same motivation when you created your boilerplate starter (not the oss/community thing, but above)?
- d0liver 3y agoSince this is YC backed, is there a plan for monetizing it?
- matijash 3y agoNo, both Open SaaS and Wasp are free and open-source, like most of the frameworks. If we manage to get the community adoption for Wasp, the next step would be to look into value-add services on top of it that can be monetized (our role models are companies like Mongo, Terraform or Databricks).