Launch HN: Paragon (YC W20) – Visually Build API Workflows
No Code / Low Code skeptic here.<p>I fail to see how using this GUI mixed with raw code approach would make my development workflow any faster.<p>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.<p>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?<p>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.<p>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);<p>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);<p><pre><code>                if (error.response) {
                    console.error(error.response.body)
                }
            });
    }</code></pre>
})
await pool.end()