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-...
Congratulations on the launch of Reflex! This innovative platform allows you to build web apps in pure Python in minutes, with deployment as simple as a single command. The completely customizable UI enables you to scale from a small prototype to a full production web app seamlessly. How does Reflex ensure security and performance while allowing developers to build web apps in pure Python?
@10xmarketer Thanks for the support! Our apps compile down to a NextJS frontend app and a FastAPI backend app connected by a web socket connection. Our goal is to have the same performance and security benefits you'd get using a traditional frontend framework.
I came across Reflex a few weeks ago for a project and was really looking for a toolkit that allowed me to build both the frontend and backend in Python so that I could stand up quick applications that could be easily integrated with tools and LLMs. Having to juggle Flask for backend with HTML, JavaScript and CSS was just too much.
Reflex makes it dead simple. 100% pure Python without giving up anything. The local runtime server does all the heavy lifting for you, including managing dependencies and watching for code changes and automatically restarting. Iterations are a breeze.
Reflex deployments are a true game changer. It makes it downright trivial to share your app with anyone.
The Discord community is also awesome, engaging directly with the founders for almost immediate support.
The only challenge that I found is that the abstraction layer requires heavy typing so you can’t just be sloppy and let Python figure it out for you. Deployed apps need a bit more observability too (logging, metrics, etc).
Highly, highly recommend.
@eschwaa Thanks so much for the feedback and support! Our top priority right now is to improve a lot of the onboarding and gotchas especially w.r.t. typing. We want to bring that initial learning curve down so people can just focus on their ideas and not fight with the framework. And agreed on the deployment, we want the hosting service to have full observability in the future.
@picklelo and of course the white glove support from you is awesome! I’m glad you are aware of the typing issues. And really looking forward to seeing the embedding patterns emerged as we discussed on Discord! Super cool stuff. I will definitely stay engaged.
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! 🎉🎉
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