Build a web app in pure Python in minutes.
Deploy with a single command.
Completely customizable UI.
Scale from a small prototype to a full production web app.
Hi PH! I’m Nikhil, founder of Reflex (https://reflex.dev)
We're building Reflex, an open source framework to build full stack web apps in Pure Python.
Why? Python is one of the most popular programming languages in the world. Web dev is one of the most popular applications of programming. So why can’t we make full-stack web apps using just Python?
We found that even skilled engineers who wanted to make a web app but didn’t know traditional frontend tools like Javascript / React found it too overwhelming and time consuming. And even after they made their app, deploying it was a nightmare. We wanted to provide them with a framework where they can leverage their existing Python skills to create and deploy apps, without compromising on flexibility or customization.
Recent no code and low code alternatives have issues. No code solutions that save time in the development process lack the flexibility and robustness of traditional web development. Low code frameworks are often confusing and only solve part of the problem forcing you to use multiple tools to get the job done.
We want to bridge this gap by creating a framework that is easy and intuitive to get started with, while remaining flexible and powerful to support any app.
What's our backstory? Before working on Reflex, I worked on AI projects at DriveAI and then at Apple. On these teams, we used Python for everything from data analysis to machine learning to backend services. But when it came to building user interfaces or apps so that others could use our work, there wasn't a good option to stay in Python. Suddenly, we had to switch to JavaScript and learn a whole new ecosystem.
Making a UI should be simple, but even though we had great engineers on our team, the overhead of learning a new language and tools was a huge barrier. Often making a UI was harder than the actual work we were doing!
Goals of Reflex:
1. 🐍 Pure Python: Use one language for your web app.
2. 💡 Easy to get started: Build your ideas easily without needing web development experience.
3. ⚡ Full flexibility: Web apps should match the customizability and performance of traditional web frameworks.
4. 🔋 Batteries included: Handle the full-stack from the frontend, to the backend, to deployment. Deploy with a single command reflex deploy and zero configuration.
5. 🥞 Empower Your Team: Instead of having separate dedicated engineers for frontend, backend, and infra, every engineer can now understand and work across the whole stack.
It's time to leave outdated web app development methods in the past and allow pure python developers to work across the full stack, bridging the gap between front-end and back-end development to create fully customizable and scalable web applications. That's why we're building Reflex.
What issues have you had with python web development? I would love to hear your ideas, experiences, and feedback on any and all of the above.
@imraju Thanks for checking us out! Our main advantage is we are more customizable and performant than most other Python frameworks, either require some Javascript, or are only good for prototyping. I wrote a blog post discussing more about this here: https://reflex.dev/blog/2024-03-...
Don’t even get me started on how awesome Reflex is. I’ve been using them for a while, pretty early on and the rate this team is moving is amazing. I’ve created a few websites and apps it is awesome. The version 0.4 release only made things easier.
Python was the first programming language I learned, literally in a class called CS 1.
Years later, I became a web dev and forgot how to write Python! … not good timing because most AI/ML stuff is python first.
so it’s INCREDIBLE that Reflex came along. the fact it allows for state management and is based in radix is amazing.
incredible discord support too!! ive been enjoying picking it up and not surprised by the amazing traction one bit!
We have been using Reflex for our developers. It's really cool to see you guys here! What can I say your platform is so simple and easy to use. Congratulations!
We have been using Reflex for a few months now and it's been literally a game changer for us. Our small team can now build and ship great products on web too!
interesting that Python still has alot of likeability from the ecosystem. Twitter might lie to you otherwise. Congratulations on your successful launch on PH! 🎉🎉
Congratulations on the launch!
I really like the idea it makes complete sense.
I think a demo video and a landing page would do wonders to your marketing.
Good luck 💪🏻
Hello Reflex team. I met you guys at the CalHacks 2023 event and began using Reflex since then. I love the concept and had fun playing around with it.
There is a slight learning curve when it comes to learning frontend using the Python syntax for reflex, but after getting over that it is a very fun framework to use.
@yahya_obeid Hey, thanks for the support! Great feedback - we're trying to improve the learning curve with more templates, higher level components, and tutorials.
The concept of building all web-related features using Python sounds interesting, and I totally support it! However, based on the documentation, it seems like it primarily generates React code for the frontend after integration with Python, right? No hardcore templates and server-side rendering? :)
@vorniches thanks for checking us out! It does generate React under the hood but as a developer you never have to touch React or Javascript. We don't do server-side rendering, all the UI is compiled up front and your state lives on the server in Python. We have gallery/example apps that can be used as starting points - our framework can scale to full-scale production apps.
Do you plan on incorporating more accessibility best practices? For example, all inputs/controls should have an associated label, but it looks like they're not rendered with the form elements. Or maybe there's another way to add them? Sounds interesting though! Currently learning Python with my two teenagers.
Loving this so far; I really want to use Python to build some quicker React apps. A few modifications and changed the chat app to my local LLM. A lot of potential here.
@preston_mccauley1 Thanks for checking it out! We're releasing a chat component soon which can give you the whole component out of the box, it should be even easier to hook up then.
Reflex