Launch HN: Paragon (YC W20) – Visually Build API Workflows
210 points| fooly_wk | 6 years ago
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!
[+] [-] breytex|6 years ago|reply
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.
[+] [-] fooly_wk|6 years ago|reply
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.
[+] [-] toomuchtodo|6 years ago|reply
Also, 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!
[+] [-] fooly_wk|6 years ago|reply
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.
[+] [-] weft_digital|6 years ago|reply
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: '[email protected]', subject: 'Come back', text: message, }; sgMail.send(msg) .then(() => {}, error => { console.error(error);
}) await pool.end()[+] [-] ishmaelsamuel|6 years ago|reply
If you wanted to run something like this on a schedule, monitor execution results step by step, ensure your credentials are stored securely, etc, the barrier to entry to building this in terms of time and expertise suddenly jumps significantly, as well as the services / infrastructure required. We provide all of this out of the box with Paragon.
However, if you have all the domain expertise of the variety of languages, services, etc and prefer to spend the time writing the code yourself and managing the infra, that's okay. If you prefer to code, no code's just not for you and it doesn't have to be ^__^
[+] [-] unknown|6 years ago|reply
[deleted]
[+] [-] fooly_wk|6 years ago|reply
[+] [-] toinbis|6 years ago|reply
[+] [-] iMuzz|6 years ago|reply
I went all the way to Question 9 and then closed it out.
It's fine to ask for money — but this felt misleading :(
[+] [-] fooly_wk|6 years ago|reply
[+] [-] stingraycharles|6 years ago|reply
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.
[+] [-] fooly_wk|6 years ago|reply
[+] [-] khashnejad|6 years ago|reply
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.
[+] [-] rgbrgb|6 years ago|reply
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.
[+] [-] ishmaelsamuel|6 years ago|reply
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.
[+] [-] dopeboy|6 years ago|reply
[+] [-] ishmaelsamuel|6 years ago|reply
[+] [-] samblr|6 years ago|reply
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 ?
[+] [-] fooly_wk|6 years ago|reply
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.
[+] [-] amerf1|6 years ago|reply
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
[+] [-] nagarjun|6 years ago|reply
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.
[+] [-] ishmaelsamuel|6 years ago|reply
[+] [-] curo|6 years ago|reply
[+] [-] fooly_wk|6 years ago|reply
[+] [-] RocketSyntax|6 years ago|reply
[+] [-] ishmaelsamuel|6 years ago|reply
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...
[+] [-] RocketSyntax|6 years ago|reply
[+] [-] shirazdole|6 years ago|reply
[+] [-] jonnydubowsky|6 years ago|reply
[+] [-] fooly_wk|6 years ago|reply
[+] [-] bcheung|6 years ago|reply
[+] [-] transitivebs|6 years ago|reply
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.
[+] [-] fooly_wk|6 years ago|reply
[+] [-] rpm33|6 years ago|reply
[+] [-] ishmaelsamuel|6 years ago|reply
[+] [-] gerhardi|6 years ago|reply
[+] [-] factsaresacred|6 years ago|reply
[+] [-] andrea_s|6 years ago|reply
[+] [-] cuchoi|6 years ago|reply
[+] [-] fooly_wk|6 years ago|reply