Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: PySaaS – Python SaaS starter kit (pysaas.io)
121 points by BowTiedRay on April 30, 2023 | hide | past | favorite | 46 comments
Hi HN,

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.



How is it different from:

Django (Python)

    SaaS Pegasus https://www.saaspegasus.com/
    Djaodjin. Open Source. https://djaodjin.com/
    Carrot Seed https://www.cnc.io/en/seed
    The SaaS boilerplate by Apptension (+React) https://www.apptension.com/saas-boilerplate
    Vanty Starter Kit https://www.advantch.com/
    Saas Hammer https://saashammer.com/
Flask (Python)

    SaaS Forge. Open Source. https://www.saasforge.dev/
    Ignite (SaaS Boilerplate). Open Source. https://github.com/sumukh/ignite
    Flask App Builder. Open Source. https://github.com/dpgaspar/Flask-AppBuilder
    Build a SAAS App with Flask. Course / Boilerplate. https://buildasaasappwithflask.com/
    Enferno Frameowrk: Open Source . https://enferno.io/
https://github.com/smirnov-am/awesome-saas-boilerplates


The example you have mentioned only uses Python in the backend. It's based on Django or Flask. Then, in the frontend, it uses JavaScript.

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


PySaaS uses the Pynecone web framework rather than Django or Flask.

This 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.


That kind of other-language-to-JS stuff works great for small, one-man projects that never go to production. Unfortunately, other than TypeScript, none of these solutions have really achieved critical mass, and they all fizzle out after a few years, leaving you with a horrible mess to clean up. You have layers and layers of indirection, and you don't know whether your problem is your code, or a Python library, or the Python-to-JS layer, or one of the JS libraries, and no one on the Internet can help you because your stack is completely bespoke.

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.


> The frontend is compiled down to a NextJS app So, PySaaS > NextJS > React > Javascript

How far will this abstraction layer reach?


This sounds very scary :/


Nothing with Starlette? (Or any other ASGI framework, at least) :(


Pynecone is based on FastAPI, therefore on Starlette.


My worry with this kind of thing is that some random dependency will break and there will be no easy solution. Compiling Python to JS seems like a very fragile process. And if people run into bugs, they will need to debug a very specialized and unusual toolchain.

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.


Trust me on this. Don’t offer lifetime or unlimited anything


For this type of product it's actually a pretty good model. Adam Wathan (of Tailwind UI) had a good podcast on this topic recently: https://hackersincorporated.com/episodes/lifetime-pricing-is...


The pricing page has monthly options for $69 and $420... not a fantastic look on launch day, lol.


You looked at the demo page. this is the pricing-page: https://pysaas.lemonsqueezy.com/checkout?cart=0b4430d8-2fb1-...


At least their pricing page everything is allowed in all tiers. Can't tell you what exsckty, because on mobile it just says "allowed", nothing else.


The lifetime one-time-payment pricing seems worrying to me. It feels like it would drive high levels of activity/maintenance during a growth curve, then probably fall off rapidly. Leaving little incentive to maintain it well after some point.


Whenever I see “lifetime guarantee” or anything like that, I think yeah, for the lifetime of the company, not the customer.


Yeh whenever I see “life time” pricing I think the author Is impatient and/or greedy and just wants as much money up front as possible. Where’s the incentive to keep plugging away at updates when less new customers are signing up.

Plex have this model too which worries me


Depends on the size of the niche, and how long and continuously you're reaching out to it.


No contact info or something similar? How do we distinguish this from a "scam" site, if we do not have anyone to hold accountable? Social Media accounts do not count.


If I can't find even the juristriction I'm entering a contract with I usually bail. I wish at least the payment provider would force sellers to reveal the name and address on the checkout page. Neither on the website or the checkout page it's even clear if '$' is US Dollar. On the checkout page it's not clear what currency my credit card is billed with!


Will certainly clear up the pricing section. Yes, "$" is supposed to indicate US dollar.


4000 followers on twitter with zero tweets. None seem to be software developers. This project is giving me more red flags than it should.


Just did a little "research" on op, it tingled an array of other red flags


such as? genuinely curious/worried


Lot of crypto-bro involvement. Basically you can see a lot of BowTied(.*) social media accounts, all talking about instant growth, crypto, ...

I wouldn't touch this stuff with a 10 foot pole.


It's a crypto hustler thing, they create twitter accounts "BowTiedX" and try to grow their following (they follow each other too) and make money online as fast as possible.


The buy-now page doesn’t load on safari (so I can’t check out the price) - but in general if you do the heavy lifting by using existing free Python tools you’ll have a hard time selling a framework that’s supposed to make things “easier”. The promise to never touch html, css and JavaScript usually means you have to learn some other tool that it limited in features or scalability so at the end you invested a lot of time into the tool you could have spent getting some basic other skills. As a Python dev with very limited JavaScript skills I would usually wait a few years before committing to spend time on a “easy” framework that’s not free to use on your own hardware.


Will need to look into the Safari issue. Thanks for the feedback.


I’m not a fan of writing front end code with Python or any language other than JS/TS. How deep can I customize or build feature rich UI? I still think the best combo is Rails/ Django API with Nextjs client


With PySaaS, your app's 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. 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


As a ML engineer / back end type of dev, I really like the idea that I can build everything in Python. Really tempted to buy it but I am a bit scared about support.

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?


It looks like you get updates:

> 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.


Just buy gpt-4 + github copilot/cursor for 2x$20


Yeah, and just let it build your entire startup for you while you sleep. 20 days in, you will have six figure revenue. /s


Is that the passive income all the influencers are talking about???


Aren't we talking about starter templates? Is there anything in the OP's product that makes you think it would attract a six figure revenue?


I don't understand why you wouldn't turn the demo site into the _actual_ site? They have all the same information and features?


I'm curious to hear from someone who has used such a framework to build a profitable business or startup?


`pc run --env prod --port 80`

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.


Reverse proxy for now, but Pynecone is also working on a single command deploy feature that should take care of all this automatically. Should be released soon.


Doesn't Pynecone uses a websocket connection and stores application state in the backend? Are you suggesting these are acceptable for a SaaS application?


What is the value add here? It appears to be a closed source project that strings together many open-source projects, but the transparency is blocked by a paywall?


Until someone buys the project and publishes it on GitHub. I've seen countless instances of these SaaS boilerplate projects in public.


Since I am now finishing my own SaaS boilerplate for Rails[0], it's interesting to me to see the choices and focus one's make. Py on the front-end is an interesting one.

And a nice logo btw!

[0] https://businessclasskit.com/


is it as easy to use as streamlit? I like the auth part. Does that include connection to a firebase or supabase for db and auth?


Where is the admin panel?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: