
GeniePy
GeniePy is a modern SaaS boilerplate in pure Python.
Over the past few weeks, I rewrote GeniePy to use a different Python framework than it was using earlier.
Why, you may ask?
There are three main reasons:
1️⃣ GeniePy in its current state is sorely missing a frontend pipeline. Partially, this was an intentional decision because the original plan was to leverage server-side technologies (eg. HTMX or Alpine.js) to provide an experience where you're able to avoid Javascript fatigue.
While those are excellent frameworks and I'd definitely use them in some other projects, it seems like in the SaaS world the bigger frontend frameworks (eg. React.js or Vue.js) simply have too much momentum behind them to ignore. This necessitates the presence of a frontend pipeline.
2️⃣ Starlette is a relatively niche backend framework. A very small percentage of people I talk to are aware of Starlette, even though it provides the backbone of (the much more widely known) FastAPI. When you're building a user-facing app, you want to use something where the ecosystem is big enough, which as of this writing is unfortunately not the case.
3️⃣ Three, I discovered Reflex.
Reflex is a relatively new Python framework for building web applications. The cool thing about Reflex is that it provides a way for you to write everything using Python, both backend and frontend. You can write component definitions using Python functions which compile down to React.js components and are served inside a Next.js application. And in terms of backend you can write FastAPI endpoints. And all this while, you don't have to write a single line of non-Python code.
I really do believe that Reflex is a very strong contender for building web applications in the future, which is why I feel investing time and energy in it is worth it. My personal feeling is that over the next months, Reflex is going to become a no-brainer for Python developers who want to build user-facing SaaS apps.
And that's it! Those are the three reasons why I made the decision to move GeniePy from one framework to another.
Here's hoping things work well!
I got in touch with someone on Twitter and they asked me if GeniePy is ready to be used.
While I feel it's not production-ready yet, I decided to send them a first version for testing regardless!
Now they're building something with it and I'm super curious what their experience is going to be like.
I don't know if there's ever going to be a point when I can say "OK it's done now!". And the next best thing seems to just start gathering user feedback and improve the product iteratively.
So that's what we'll now do!
1 Like
Comment
Every time I have a product idea I'd like to build, I notice that I have to start building things from scratch.
For instance, features like:
- user registration / authentication
- sending emails using cloud service providers
- file storage (on providers like S3, Google Cloud Storage, etc.)
- payments / invoicing
- automated tests for everything
These features are not specific to my product. But they're necessary for most SaaS products to exist. So I end up building them anyway.
This is the main motivation behind GeniePy: build a modern, fast, and feature-complete SaaS boilerplate for founders so they can focus on building out their core business logic and not have to worry about the foundations.
Hoping to have a first version ready before 2022!
1 Like
Comment
About
GeniePy is a modern pure-Python SaaS boilerplate that saves you months of development time. Features like user management, payments, SEO-optimized blog, database integration: all work out of the box on day one.

Comment