Launch HN: Paragon (YC W20) – Visually Build API Workflows
As a frontend engineer and product manager, I've always wanted a way to quickly build out backend services without having to manually spin up a server, manage database connections, or write a ton of code. We wanted to create Paragon to make it easier to build and manage some of these services without being an expert backend engineer.
Paragon is a visual workflow builder that provides "steps" like API requests, database queries, and conditional logic that you can drag and drop to build microservices or integrations. Many workflows can be built without writing code, but we also provide Cloud Functions as a native step type in case you need to add some custom logic to your workflow. You can deploy workflows in one click and visualize the flow of data through each execution for easy debugging.
Today, we're focused on helping build integrations between your product and 3rd party APIs. We know there is a history of visual programming tools that promise more than they deliver. Paragon isn't designed to build your core product or replace your API, but we do hope to make it easier to extend functionality and microservices that integrate your product with other services (especially if you're not a backend engineer).
For example, our users have built workflows that sends weekly Twilio messages to their Firebase users, or that parses user file uploads via an OCR API and saves them to MongoDB. Here's an example workflow that finds your inactive users in Postgres and sends them re-engagement messages with Twilio or Sendgrid: https://www.youtube.com/watch?v=UVU8GCBMZj4
We launched Paragon in beta about a month ago and we charge a monthly subscription based on usage, starting at $30 for 1,000 tasks per month. If you're interested in trying Paragon, you can sign up on our website and and I'll fast-track you to the top of our waitlist!
We'd love to hear your experience building API integrations. Thanks, and looking forwards to your thoughts and feedback in the comments!
Edit: We don't currently offer a free tier or trial. The reason is that we currently provide custom onboarding for every user where we help setup your workflow(s) over a Zoom call, then add you a Slack channel where we provide realtime support. We invest a lot of time and effort to ensure each user is successful and are happy to offer a full refund if we can't. That said, we do plan to add some free version of Paragon in the future. I hope this clarifies some people's comments about our pricing, thanks!
54 comments
[ 3.2 ms ] story [ 101 ms ] threadAlso, if I may offer you a piece of advice based on my experience at an org offering a similar product: make it frictionless to bring in/import snippets/templates for Cloud Functions (think code snippet search function you'd have on your workstation as a dev). Your users are likely to be non-technical, and the more hand holding you can perform, the better.
Wishing you much success, I love this sort of tooling!
Our focus is specifically on developers and product teams, and on helping build integrations between their core product and 3rd party services. Paragon is designed to handle use cases like building custom endpoints, fanning out arrays, and writing custom cloud functions - we even expose access to npm, so developers can do some pretty heavy lifting if they need to.
I love your suggestion to allow importing cloud functions. One of our goals is to eventually allow you to sync functions directly from a Github rep - another example of how we aim to cater more to developers.
Even though they support writing Python and/or Javascript code in zaps? How is Paragon better at supporting writing custom code?
We're also not currently exposing any external Swagger / OpenAPI docs for a similar reason, but it's simple to integrate and we've considered generating it for our more technical users.
If you're interested in joining the team as an engineer, we're hiring! https://www.notion.so/Paragon-is-Hiring-ab5739dac1c4490db920...
I'd be interested in providing a way for PM's to control/maintain business logic, exposing it to external technical users.
Big fan of the direction Hasura is taking. Maybe this could also cover some of the BaaS aspects? E.g. enabling frontend devs to deliver fully-fledged products without much knowledge about backend and databases?
One thing which disturbs me: I have to fill out an entire typeform just to get told that there is no free-tier and I have to pay 30$/month before even testing if this thing covers my most trivial needs. I think that's a dark pattern, I am out, sorry.
Appreciate your feedback on our onboarding flow, you're right and I apologize for any misunderstanding. We'll update our flow to better reflect our pricing.
You guys have thoughts on automated testing? My experience with visual programming in the wild (zapier, iterable, mailchimp) is that you end up with a lot of orphan and broken "scripts" deployed only to the production environment by well-meaning operators who can't really test or maintain them. It's interesting that this is geared towards devs, but I worry that you'd have a bunch of the same problems as the system grows unless there's a good way to rig up functional/e2e/integration tests the way we usually with cypress, capybara, etc.
Seems like there must be a solution, but my first idea of just setting up a "test" environment that points to other test services seems really costly if it's running on every commit that gets pushes like we often do with CI.
We've built out some testing functionality that allows users to test their workflows and steps, and we're going to continue down this road to eventually provide our users version control and sandbox environments. It's currently seen as a "nice-to-have" for even our production users, so the timing of when it's implemented is still unclear.
I went all the way to Question 9 and then closed it out.
It's fine to ask for money — but this felt misleading :(
I’m personally just doing some simple workflows with Gitlab-to-Telegram etc, and I have to say that I find it quite difficult to accomplish that what I consider “medium complexity” stuff: one Gitlab push event has multiple commit messages, I want to iterate over them for formatting, and then collect all of them in a single Telegram message.
Unfortunately, the sheer fact that I’m not “allowed” to write any code makes the solution so much more complex; debugging what’s wrong is a nightmare, and generally it all just leaves a bad feeling behind.
Don’t get me wrong; I’m paying for this service because I get value out of it, but it feels as if the devil is in the details if you want to pull this off.
It allows you to code and do this type of automation very quickly. let me know [info @ devscore] if you are interested to learn more.
I fail to see how using this GUI mixed with raw code approach would make my development workflow any faster.
For example, I've posted below a Node.js implementation of what you created in the YouTube demo linked in the OP, and it took me less time to write than it did for you to create the same "workflow" using the GUI in the video demo.
And the best part is I can run this JS code on my own server, or as a cloud function on AWS Lambda, etc. I retain complete control and avoid vendor lock in. And there is no way you and your team can compete with AWS on cloud function pricing. So where is the value for developers in your offer?
It seems like you are offering a managed compute service at a much higher price point than AWS, and then trying to justify that price point by tacking a GUI onto it. At best the GUI will be able to abstract away a little bit of boilerplate code, but inevitably the interface it exposes will not be as flexible, fully-featured, expressive, or IMO, as easy to reason about, as the interface exposed by any modern programming language.
const { Pool } = require('pg'); const pool = new Pool(); await pool.connect(); const accountSid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; const authToken = 'your_auth_token'; const twilioclient = require('twilio')(accountSid, authToken); const sgMail = require('@sendgrid/mail'); sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const res = await pool.query(`SELECT * FROM USERS WHERE "lastSeen" < (now() - INTERVAL '4 weeks')`) res.rows.forEach(row => { let message = `Hi ${row.name}, we haven't seen you in a while`; if (row.phone) { twilioclient.messages.create({ body: message, from: '+15017122661', to: row.phone }) .then(message => console.log(message.sid)); } else { const msg = { to: row.email, from: 'test@example.com', subject: 'Come back', text: message, }; sgMail.send(msg) .then(() => {}, error => { console.error(error);
}) await pool.end()Have to agree with others that $30 is pricey for 1000 tasks. On lambda you can do thousands of them for free.
How do you plan to standout and survive as so many others are in this space ?
I think that most other "low-code" players are focused on RPA (helping ops automate internal business processes) whereas we're focused on helping product & engineering build integrations between their product and other services.
RPA & low/no-code tools are a very crowded market right now and I don't believe that focusing on selling to developers will get you very far.
Best of luck tho.
At $30/month I think its a steal the reason I say this is because for someone to do this with no-code they would probably have to hire a freelancer who would charge them way more than $30 for setting it up and probably no/little support. Love the idea I really think it fills a gap here.
There are several side projects I'm going to try with this
Quick question - are you using some kind of UI library to power the graphical builder? I recall coming across a JS library in the past that looked very similar but I can't remember what it was called.
Would love if you had a chance to give it a spin. We're always eager to hear what can be improved.