What is Budibase and is it useful for developers?

Budibase is a low-code internal tool development environment that allows users with no coding experience to build something technical, and developers to build simple apps faster.

What is Budibase and is it useful for developers?

An open-source no-code web app builder, designed to enable less technical users

Budibase is an open-source, low-code building platform focused on both increasing the speed at which developers can build internal apps and enabling business users with no coding experience to build their own internal tools. Budibase provides an application canvas, hosted database functionality, and a workflow automation suite as their main product set.

Budibase abstracts away core coding concepts into an easy-to-use visual language. While low-code tools certainly do help level the developer playing field, giving non-engineers with the tools to create useful software, itā€™s important to remember that low-/no-code tools inherently have difficulties when it comes to scalability and engineering best practices.

As a development agency specializing in internal tools we were keen to spend some time digging into the product to give our clients the developerā€™s perspective on the platform.

Hereā€™s a quick summary:

  • Budibase is a low-code platform for building internal tools, built for citizen developers with little to no coding skills, as well as for engineers
  • Teams can integrate third-party resources or create new data structures in the app
  • Business users can certainly make simple applications within Budibaseā€™s development environment, such as simple CRUD (create, read, update, delete) applications, but it might not be suitable for more complex use cases
  • Budibase has a large focus on making responsive apps for most screen types

Budibase: who are they?

Based in Belfast, Northern Ireland, Budibase joined the ever-growing ranks of the low-code platform creed in 2019, to try and plug the gap for business users to automate and optimize their own internal business processes. They completed their seed funding at the end of 2022, raising $9.2m. They are still a relatively small company with around 25 employees.

Those who have worked with OutSystems before are likely to see a lot of similarities in the Budibase platform, albeit with a more attractive, and somewhat more intuitive, interface.



Who is Budibase built for?

Is it for non-coding business users, engineers, or both?

This seems to be somewhat of a complex question.

Budibase markets itself as a low-code tool, not a developer tool (whatā€™s the difference, you ask? Read our post). This means that most coding you would typically use to build an app is abstracted into a more user-friendly, non-technical visual interface. Core coding concepts are transformed into a proprietary language (usually, plain English) to be more accessible for those without coding experience.

Budibase focuses on the no-code element of their platform. 


Nevertheless, Budibase isnā€™t looking to totally alienate engineers and also claims to have built a platform designed for developers to work their best too.

From our experience, these two approaches generally have an inverse relationship: the abstract language and techniques of low-code generally require an initial period of learning and adjustment to limitations and workarounds. This is fine to enable non-developers to build (and certainly easier to learn than code), but for engineers, this is likely slower and more limiting than the coding they are used to.

Additionally, since the ability to code in Budibase is limited to certain areas of each application (aside from forking the open-source base code), engineers will also find they hit limitations and roadblocks that they wouldnā€™t experience with traditional code. Therefore, it may be faster, but it may also only get a product 80% of the way there.

So, it seems that Budibaseā€™s target builders are quite broad between non-coders and engineers, and more often than not they refer to their platform as built for ā€œIT professionalsā€ - perhaps somewhere in the middle. From our understanding, when they launched a few years ago, they were heavily focused on targeting developers, and this seems to have dwindled in recent marketing to be broader, if not no-code leaning.

Open-source perks. Suitable for SMEs, but some Enterprise traps

Itā€™s important to note that Budibase is open-source, meaning that on-prem users can use it, and extend it, for free, with a couple of limitations. A major one is the inability to group permissions on the free plan - which is integral to higher-level internal tools. Nevertheless, being open-source gives developers the option to fork their apps in ways that might not be possible in the IDE.

From our perspective, Budibase is possibly more suited for SMEs and early-stage start-ups with little technical knowledge, who arenā€™t yet ready to scale onto more technical platforms. It may also be suitable for a small non-technical team, who donā€™t have their own databases and resources and want to start a simple business tool from scratch. Nevertheless, itā€™s important to be aware of potential pricing traps that push businesses into the ā€˜Enterpriseā€™ tiers for key functionality theyā€™ll need down the line - though we think these are fair for the product Budibase does provide for a good price, if not free.

While Budibase certainly has enterprise customers in its arsenal, we think that many enterprise companies wanting their engineers to build complex internal tools may find the Budibase platform unsuitable for their scalability needs and complicity standards.

Weā€™ll discuss why this is the case with a deeper dive into its features.


Budibaseā€™s key features

Budibase allows users to integrate third-party business resources and perform basic automations, build simple applications, and store data. Application layouts can be optimized for tablets and mobile devices too.

Let's dig further into the product with some of the key areas to look at when building internal tools.

Low-code development environment

Budibaseā€™s core product is a low-code development environment. To structure the build, Budibase organizes development into Data, Design, and Automate tabs. The general approach in the Budibase environment seems to be to massively reduce the amount of editable code within the application, opting for forms, dropdowns, and visual UIs, in an effort to be as low-code as possible.

The budibase IDE and component settings
Building the UI in Budibase

This certainly cuts down on development time for non-engineers, who can make use of the simplified UI to create semi-technical apps, but is most definitely rigid in terms of customization - much more rigid than we would be able to accept when building out anything more than a simple app.

No-code data layer

As well as third-party integrations, Budibase provides an internal data layer to be used within applications, built on Couch DB records.

Editors can also calculate statistics, create unique views, and perform simple data filtering via the data tab. Technical folk may find it tedious to interact with the data tab instead of creating a regular Postgres database, however, for non-technical users, the data tab can serve as a more accessible way to create simple applications and prototype data structures.

In true open-source fashion, data from the Data tab can be exported as a CSV, JSON, or JSON file with a schema. This is particularly useful for those looking to move their data outside of Budibase or convert to a normal SQL database in the future.

Budibase data tab
Budibase has an integrated data layer


Application Designer

Programming the UI, configuring components

Applications are separated out into screens. Each ā€˜screenā€™ is a unique page that can be configured separately. Pages can be stitched together to form one holistic application.

Screen options in Budibase
App pages are organized into 'Screens'


Budibaseā€™s designer tab is where editors can create the actual user interface for an application. Here, users can drag in components, configure properties, and style the components.

This is where the low-code proprietary language can create some friction for developers. For non-coders, the tabs and components provide a basic understanding of the building blocks needed for an application, but for an engineer some of these elements are unintuitive. For us, an example would be the idea of adding a ā€˜data providerā€™ to the canvas before inserting any component connected to data.

Budibase app builder IDE
Budibase uses proprietary language in place of coding concepts in the IDE.


One fairly major snag in the UI builder is the fact that the components inside of Budibase isnā€™t fully draggable horizontally. Ā The horizontal positioning of components must instead be manually defined through the ā€˜marginsā€™ section in the right-hand panel, which can be bothersome. Having really simple drag-and-drop capabilities is arguably one of the features of low-code most worth having, for developers and citizen developers alike.

Nested components in Budibase
Components are nested within groups and containers, and horizontal placement can be hard to control

A similar problem we faced was the inability to preview certain elements easily, like the table default popout, in editing mode, and some general bugginess when building.

Event handlers are either configured in the component settings, but triggers and actions are quite limited.

Component action options in Budibase
Component action options


Some more options can be configured in the conditions tab, where editors can manipulate some component behavior, such as hiding or showing the component or any actions triggered on an event change.

Conditions in Budibase
Event handler 'conditions'


Extending functionality with custom code

Since Budibase recognizes that no code is limited, and a little code is always needed to get more complex products shipped, it does support the use of custom code in some areas of the application.

The way code is introduced to the IDE is principally through ā€˜Bindingsā€™, also referred to as Handlebars, which can be traded out for standard JavaScript. In a compatible component, users can click the lightning icon to open up the code panel, and add custom logic - but only where itā€™s supported. When using these bindings, we found the attributes menu quite unhelpful - it feels a lot like thereā€™s work to be done for adding custom code easily.

Custom code in Budibase
Custom code in Budibase is executed through 'Bindings'

The issue with this approach is that the code is scattered throughout the application components and it can be difficult to ensure that code is not repeated, and tricky to find and fix bugs. The IDE would definitely benefit from an overall ā€˜scriptā€™ option that can be referenced throughout the application to avoid this issue - as is standard in most developer tools. Using the automations tab seems to be the best solution for this for the time being.

Functionality can also be custom-coded and connected to the app via custom plugins, and imported into the application. This can be useful for developers overcoming platform limitations, but mitigates the appeal of a low-code platform.

Building custom apps with complex business logic

As developers who have spent many years working on developer platforms like this one, we found building out the UI and functionality to be sometimes tedious and limited. For complex build-outs, Budibase doesnā€™t provide the nuance or scalability that is needed to manage a sophisticated application with high-level functionality. With that being said, for simple CRUDs, Budibase can help you get the job done without having to bother your technical teams. As with many low-code tools, itā€™s also a great place to create an MVP.

Compared to competitors like Retool and Appsmith, Budibase arguably has very few programmable properties, options for adding custom code and event handlers.

The automation tab

The automation tab is where editors can create CRON jobs via a Zapier-esque interface. Without needing to use code (but also using it if they like), editors can create simple scheduled jobs and perform action workflows on their data. Automations can then be tested and monitored within the Budibase environment. Unlike other platforms, automations exist only on the application level - applications themselves need to be published to run, which is less useful when creating scheduled jobs for instance.

The automation tab allows for common step types like loops, queries, and conditions. Users can also query data and execute JS scripts. Though useful for smaller, simple processes, the automation tab is not built for scalability or normal developers. Developers are pushed towards using Budibaseā€™s proprietary GUI, rather than being opposed to code-first.

Automation tools in Budibase
Automation setup in Budibase is low-code and visual


Permissioning

Permissioning is a crucial feature for internal tools since critical data is often being dealt with that cannot fall into the wrong hands.

Budibase does offer user groups on the paid plans. User groups are split into three default access permission groups: Basic, Development, and Administration. Basic is a normal user without edit access, development can edit and use the application and administration can do the same as development but also has the power to change user groups and delete the app.

App permissioning is given on the user group level, while in-app actions are determined at the user custom role level. ser roles can be used to limit POST and WRITE access.

Screens permissioning in Budibase
Permissioning in Budibase is grouped simply for screens



All-in-all, permissioning works well on its basic level but is generally not as robust as their competitorsā€™ options - itā€™s difficult to manipulate individual component interaction on a granular level, and control is mostly limited to viewing and writing data only. For this reason, Budibase would not be a suitable option for internal tools that handle critical data, or data with any particular sensitivity, such as health or financial data.


Source control

Unfortunately for most developers, Budibase has extremely limited source control options. Applications changes can be published and reverted, but there isnā€™t a way to easily compare changes, see previous versions of the application, or more generally implement deployment best practices using Budibase. Compared to source control managed via Git in platforms like Retool and Appsmith, Budibaseā€™s version control is rudimentary.

Budibase does offer the option to create application backups for business customers. Users can create a backup before publishing an application and revert to it in case a bug is introduced into the Budibase application. Again, this is a good solution for a simple app built by citizen developers, but doesnā€™t provide the kind of security or compliance most developers are looking for.

Pricing

Budibase recently switched from a complicated day pass option to standard user-based pricing. The pricing is fairly typical, if not on the low side compared to other internal tool builders like Retool, Appsmith, and Superblocks. Itā€™s also more straightforward payment system than other competitors like OutSystems when it comes to higher tiers.

Both Budibase and OutSystems offer a very generous free tier, though Budibase is one of few platforms to offer such a great free option for on-prem - most companies only offer this at the enterprise tier.

Pricing in Budibase tiers
Budibase pricing is available for cloud or on-prem users



So, what is Budibase good for?

Budibase is great for enabling non-technical team members to build simple internal software that doesnā€™t involve mission-critical processes or data. Where companies might normally need a software engineer to create applications, Budibase provides a good set of guardrails for non-technical teammates to have a go at app development.

In terms of engineers and those who already know how to code, itā€™s still a fast way to build out simple internal tools and CRUDs with some custom logic, as long as users are realistic about scalability.

Basic CRUD operations

Budibase is great for simple CRUDs - interfaces that allow you to Create, Read, Update and Delete data. Instead of bogging down your development team with internal requests for such simple internal tools, users can create CRUDS with relative comfort that nothing is going to break. Nevertheless, they should exercise caution with critical data and permissioning - itā€™s best to focus on Read-only data.

Basic client CRUD app in Budibase


Simple admin dashboards and statistics

Budibase provides a lot of the components to make simple admin dashboards: Ā users can quickly pull in a chart, interact with data, and provision app-level permissions to an application with ease. This can also be a great way to test an MVP before launching a product.

Since Budibase offers an integrated data layer, this can be a good all-in-one option for importing data to present in a clear dashboard for users to manipulate.

Dashboard with charts in Budibase


Replacing spreadsheet workflows with something more compliant

Budibase is great for replacing pesky internal Google Sheet workflows with validated data entry and views. Again, since the database can be integrated, this can create a more compliant system for storing data than a spreadsheet. Builders can also include action buttons to take direct action on the data and integrate third-party apps and resources, which is not possible to the same extent as Google Sheets.

Content pipeline app in Budibase


What is Budibase not-so-good for?

Enterprise deployments and mission-critical workflows

As weā€™ve mentioned, we feel that Budibase is most suited to enabling citizen developers as opposed to expediting developer time. For the time being, Budibase is not a great choice for enterprise companiesā€™ important data or mission-critical workflows - anything that you canā€™t afford to break. Those kinds of tasks are best left to developers who are trained in more compliant platforms and can handle bugs and errors in a secure and compliant way.

Complex portals, external use cases

In terms of client portals, the permissioning and deployment/source control options raise issues for us when considering this use case. However, it should be noted that the responsiveness of Budibase on different screen sizes could be useful for this purpose.

Teams of developers

Budibase is a great interface to spin up a quick MVP to present to your teams, but engineers arenā€™t likely to be keen to proceed on the platform for the actual build-out. The lack of customizability and rigidity of certain elements of the application are at odds with the kind of skills developers are taught and the level of flexibility they are used to with traditional code.

Of course, using low code can be much faster than traditional code, but as with most platforms, this usually comes with early roadblocks that hinder truly custom development. Whatā€™s more, Budibase is a proprietary platform with low portability, so once you hit those roadblocks, a larger migration will be difficult.

Summary

In sum, Budibase is a great platform for those kinda-technical-but-not-a-coder-either types to be enabled to create something technical and useful. Itā€™s also a great option for those who have worked with platforms like OutSystems, and are looking for an open-source alternative. You can create basic apps and CRUDs quickly and easily, and have them deployed within a day or so.

As weā€™ve explained, as developers we found that we hit roadblocks pretty early when building, and were disappointed by the experience in the IDE. Adding custom code to extend the app is still quite a clunky experience and needs refining to create truly complex apps. We feel a little like they are trying to please too many people with their developer experience - both those without any coding experience and those with plenty, and this has resulted in a relatively confused identity as a building platform. As they say, they see a ā€˜developerā€™ as anyone building in Budibase, but in practice, these two sides of the spectrum are very hard to reconcile in a single builder. We think they have built a platform that is much more geared towards low-coders than engineers, and this is not inherently a bad thing.

Finally, we have to recognize the importance of Budibase being an open-source platform, particularly in an internal tool-builder ecosystem that is becoming increasingly proprietary and where vendor lock-in is a real concern. This offering, along with a generous free on-prem version is a real perk of the application and may be of great value to some clients.


Great! Youā€™ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to Bold Tech Blog.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.