433 karma · joined November 20, 2013
I also think there's a good number of people who have basic Python skills coming from data analytics and data science backgrounds, who might not be doing hardcore ML research but who nonetheless want to build simple web apps. One of our hypotheses is that our product would be a good fit for them.
The comment you are referring to is most likely from a really old post. He was an intern at Dropbase a few years ago, back when we were working on a very different product!
We actually started with just releasing the Worker for self-hosting. Then based on feedback from one of our friends and early users, we decided to also distribute the client for self-hosting due to security concerns. Maybe in the future if we also allow self-hosting our backend API it could make sense to distribute Dropbase differently!
For example, one of the limitations is that we have a highly opinionated app layout, with a data (table view) on the left, and a sidebar on the right to perform actions. Only a small fraction of all external apps have this layout (e.g. database lookup tools, CRMs, data editing tools) but on the other hand, almost all internal apps look this way.
Dropbase lets Python developers build fullstack internal apps without writing frontend code. Just Python. Import any Python scripts/libraries, declare UI components, and layer granular app permissions atop so you can share them with others. To make this work, we created a State class that lets you access UI state and a Context class that lets you access/modify UI component properties directly via Python functions. It does the job but results in occasional state syncing issues. Maybe you have some ideas on how to improve this architecture.
Our app layout is highly opinionated to speed up app building. Instead of an open canvas for UI building, we just give you a main table view and a widget sidebar. This approach significantly reduces app-building time by focussing on what you need for most tools: to see some data for context and to trigger actions based off it.
We have a hybrid hosting model that combines a self-hosted client and worker server, with a backend API for app and component definition hosted by us to simplify pushing feature updates. The worker server sits in your machines so your sensitive data doesn’t leave your infra.
We’re a middle ground between Airplane and Retool — simpler UI creation than Airplane; more code-centered than Retool. UI building is declarative and you can bind UI components to Python functions. You can write Python scripts/functions using our App Studio with support from a Python Language Server Protocol (LSP) for linting. Since the self-hosted worker directly references .py or .sql files in the filesystem, you can even write them on VSCode directly or import any other Python script or library.
A neat feature we are experimenting with to build admin panels fast is “Smart Tables”. We can convert any SQL SELECT statement (even across multiple joins and filters!) into an inline editable table, like spreadsheets, without any additional code.
We envision a product that lets you quickly add UIs and permissions to any Python scripts, libraries, files, etc., and turn them into simple web apps that you can share with others. We’ve designed it in a way that would let us add support for Rust, Go, and others later.
We have some demo videos here: https://docs.dropbase.io/category/demos
Create account and setup here: https://docs.dropbase.io/category/setup
Note: Developers can only signup/setup via our docs page at https://docs.dropbase.io. It's currently closed for the general public. Looking forward to your feedback!