~ 8 min read
Comparing Low-Code Tools as a Developer
When first hearing of the concept of “no-code” I have to admit I cringed a bit. The implication that a mere mortal client could combine services without ever getting a dev involved seemed cute and definitely wouldn’t lead to anything genuinely valuable.
I come from the age of Hackathons, where a devs would quickly put together really interesting combinations of services in the blink of an eye. They would do all this for nothing more than the joy of building, rather than the offer of expensive prizes from some well funded business as a form of motivation. Devs and potentially the agencies they were part of were the gatekeepers to the simple software that people often required.
After working on many smaller integrations myself for the animation industry I’ve learned that the value of them can be massive. When a animator for example dedicates an inordinate amount of time to having to organise assets, or every member of the crew has to learn the correct render settings for a project, being able to quickly put together something that saves them hours each day is a life saver.
The fact that companies now are using more remote services and can approach this without ever having to look into hiring anyone technical is also a huge burden lifted for them.
I myself have been on my own journey through “no-code” and “low-code” services recently. As a grumpy pessimistic developer I resist change, but I’m happy to get on board and admit I’m wrong when an approach is around long enough to warrant it. I am a massive serverless fan, but I’d also always wanted to find a nicer solution than having to work with lambdas within the complexity of AWS each time I wanted to hack on something or perform an experiment.
For my first no-code workflow, I wanted to find a way of getting a regular summary of tweets I’d liked so I could curate interesting links for my newsletter. I didn’t want to save all my liked tweets as many of them aren’t links to articles so wouldn’t be that useful at a later date. Therefore, being able to have a ready to roll authentication for services as well as run my own code was important to me.
Zapier: First Steps
First I started by looking at the oft-recommended Zapier and very quickly realising how incredibly expensive it could become.
Zapier offers a offers over 3000 service integrations and a user friendly interface to walk through connecting to each of them. However, it isn’t all that flexible on its free plan and doesn’t allow you to filter any data returned or run workflows with multiple steps - so if I wanted to I’d need to be using their ‘Starter’ plan at a cost of $239.88 (£173.25) / year. Whilst it might be the most well known of the services I tried, that’s the cost of a few Digital Ocean instances before seeing if anything would even work.
Zapier prices are by individual steps, rather than the entire workflow so depending on how much activity I had on twitter could mean I’d need to upgrade plans even further in the future. I guess this isn’t a tool really designed for developers and is definitely targeting individuals who are happy to throw money at a problem. If you had several workflows this could well become useful, but I found it a bit of a frustrating introduction to no-code and decided to check out some other options.
See ya later Zapier!
n8n.io: Good, but not right
Next, I took a look at n8n.io - an open source, fair-code (?) licensed workflow tool which almost worked for me. I particularly was taken by the way n8n.io represents its workflows as a directed acyclic graph (DAG), which felt familiar to me as this is how execution is represented in animation and vfx tooling.
n8n.io ticked a lot of boxes for me. Firstly, it’s built for developers and open source so offers a lot of flexibility for customisation. It allows you to drag and drop pre-defined integrations or run your own code as individual steps. This meant I was able to easily filter search results from twitter for those that contained urls using javascript. I do this without paying anything to experiment. A great start.
Where n8n.io fell short was the complexity of setting things up myself as a developer with twitter in order to configure auth to get it running locally. It involved a few emails to twitter in order to get approved (It looks like things are possibly changing here though, using a v2/Project based version of their API). I also needed to create my own version of the twitter integration n8n.io had by default to correctly integrate with it. Granted, these aren’t problems with n8n.io, but more the cost of running it as a service locally. I wanted to use these tools to make things more productive and having to customise core integrations to get things working didn’t seem like the way I should be going.
n8n.io didn’t offer an integration with raindrop.io, meaning I’d need to write it myself. Additionally, the interface used to write custom functions also was a bit clunky as you can see from these images.
I generally prefer for others to be hosting my services as I don’t really want to also support the infra as well as my software (or in this case workflows). n8n.io does have a cloud offering that would made some of these problems go away and also offers a free trial which is better than Zapier. This comes in at €20 ($23/£16.95)/ month or $281.80 (£203.49) a year, so more expensive than Zapier but with many more task executions.
Pipedream: Just right
It was here I happened across pipedream.com, after seeing it presented by David McKay on Alex Ellis’s youtube channel. It looked very interesting and similar to what I was after.
Pipedream is a hosted service which offers a lot of integrations, but also offers the flexibility to execute any code of my own for each step in javascript. If a pre defined step isn’t quite right, then you can customise the code as you like and create a custom version of it very quickly. Each step or workflow can be saved and shared with other Pipedream users. It offers github auth as a way of signing up and getting started.
A workflow in pipedream starts with a source, followed by a number of steps which can each store data for access in later steps. My particular workflow for saving tweets uses a liked tweet source, which ends the workflow if it doesn’t contain a link. If a link is found, the url is scraped and saved to my bookmark manager raindrop.io
I can do all of this as well as much more on their very generous free plan offering. Their professional plan costs $19 (£13.71)/month for 20,000 invocations or $228 (£164.54) a year. Although I’m fairly used to seeing usage based pricing these days, it’s often difficult to determine the invocation cost of a workflow, so this is available as a chart under your settings. Mine shows here the many different workflows I now run daily and allows me to see if I might need to upgrade.
I’ve been lucky enough to sit down with some of the team and discuss their vision for their services future earlier in the year. I’m pleased to see a number of features (such as organisation accounts) have been added since we spoke and I’m looking forward to when we get to the point when we can define Pipedream scripts within version control.
One thing to note here before you go searching for details - Pipedream shares its name with a line of adult toys(!). I even had to talk to my UK broadband provider in order for the domain to be unblocked. You may want to be very specific with your search terms before you get an eyeful of NSFW content.
Conclusion
I’ve summarised below a few of each services features, along with their yearly cost.
Name | Number of Integrations | Type | Invocations | Cost / yr |
---|---|---|---|---|
Zapier | 3000+ | Service | 750 steps | 239.88 |
n8n.io | 200+ | Open Source | 5000 workflows (Hosted) | 281.80 |
Pipedream | 400+ | Service | 10,000 steps / workflows | 228 |
After spending time with each of them, I’m now a convert to Pipedream. Their product seems to sit right at the sweet spot of the complexity scale for me as a dev.
n8n.io is a close second - With both, if I need to, I can still jump in and modify code as necessary to tweak to my use cases. If I had a lot of workflows to run, or ran them more frequently then I’d be more inclined to invest the time writing my own integrations for services that didn’t already exist.
With Pipedream though I can forget about authentication and quickly spin up a serverless workflow using multiple available services hosted on their infrastructure. Best of all, I can do this for my simple scripts for free and the hosted service being the cheapest of those I’ve looked had.
The no/low-code space has many more offerings than those I’ve looked at here. It caters to clients and devs alike, at many levels of complexity so if you’ve been put off in the past now may be the time to take another look.