Show HN: PySaaS – Python SaaS starter kit (pysaas.io)
Recently, I’ve noticed there’s a decently high barrier to entry in developing competitive, full-stack SaaS applications.
Beside the standard, boring features that take months to implement, you typically have to know several languages and frameworks, and be familiar with fancy frontend styling classes.
I’m working hard right now to solve this problem by building PySaaS- The 100% pure Python SaaS starter kit.
PySaaS is a boilerplate Python codebase that takes care of the fundamental components standard to all SaaS applications.
The codebase uses the Pynecone web framework to compile your frontend into a NextJS app, so you never have to touch any HTML, CSS, or Javascript. Pynecone is easy to learn, yet fully flexible and powerful enough for advanced use cases. We implement out-of-the-box functionality for secure Firebase user authentication, Lemon Squeezy subscription management (MoR removes a major tax headache), Notion as a headless blog CMS, and more.
Our mission is to help developers and founders save months of development time and focus on building unique features, which will in turn provide more opportunities to generate revenue and give value to customers.
And easily do it in pure Python! Frontend. Backend. All in Python.
To check out the live demo for free, click the link and then the “See Demo” button.
Let me know what you think.
51 comments
[ 0.29 ms ] story [ 122 ms ] threadPlex have this model too which worries me
UI components are fully-customizable, and are actually wrappers around React components using Chakra UI. If you want to get fancy, you can even wrap your own components in three simple steps.
Learn more here: https://pynecone.io/docs/advanced-guide/wrapping-react
Django (Python)
Flask (Python) https://github.com/smirnov-am/awesome-saas-boilerplatesThis allows you to build the entire stack in a single language instead of having to learn and switch between multiple. You can install and import any Python library as you would with any Python file.
The frontend is compiled down to a NextJS app, and FastAPI is built-in for the backend. UI components are fully-customizable, and are actually wrappers around React components using Chakra UI.
I applaud you trying to make it easier for people to get started, but throwing them on top of this Tower of Babel and pretending it will never come crumbling down into a mess of inconsistent languages and libraries is a recipe for pain. TypeScript is not that hard. If you're teaching beginners how to build a web front end, just start with that, and let them use either TypeScript or Python on the back end, depending on how ambitious they are.
How far will this abstraction layer reach?
Building a SaaS from scratch required a lot of time. Happy to see a 100% Python SaaS Starter kit, usually it was reserved for JavaScript because of the frontend. In the past, you are forced to use JavaScript for the frontend.
I know it because I'm the author of Nextless.js [1], a full-stack JavaScript starter kit that is totally based on JavasScript, from frontend to backend. Using only one programming language was my competitive advantage compared to the boilerplate based on Ruby, Python or PHP.
I think in the future more and more languages can be used in the frontend like Rust, etc... There are already some frameworks you can use to build frontend in Rust. It's only the beginning.
---
[1]: https://nextlessjs.com
I wouldn't touch this stuff with a 10 foot pole.
Can you share what's the plan? I buy it now, do I get updates? What happens if you stop working on it? How do I make sure the code is of "high-quality" and not glued together?
> Get unlimited access for unlimited projects with a one-time payment and receive all updates 100% FREE.
If they stop working on it, I imagine that you're SOL.
If you're going to go all-in on one language to build an entire SaaS product, JS seems like a much safer choice. There's no Django-for-JS yet, as far as I know, but when there is, it'll be a no-brainer.
Is this solid enough to expose to the sesspool of the public internet? Or should I reverse proxy it!
I ask coming from Django where the steps to set up a server with Nginx, Gunicorn and Django are quite involved, so the idea of just serving off a single command seems quite nice.
And a nice logo btw!
[0] https://businessclasskit.com/