
Show HN: Codeblox.io – Connect your code with anyone else's via drag and drop - alanfriedman
https://codeblox.io
======
alanfriedman
Hi HN,

I built Codeblox to allow developers to connect code together like building
blocks. This makes it easy to build sequences (series of blocks) to do all
kinds of things.

Every block and sequence gets an API endpoint (POST
api.codeblox.io/username/blockName) and you can also schedule them to run
daily.

Each code block specifies an input and output type (text, number, location,
etc) and you can build sequences by combining blocks that fit together.

How it Works:

\- CLI tool packages up your directory as a ZIP file, and uploads it to S3 \-
That filename is stored in the DB \- When someone invokes your code from the
website, the back-end (Node.js) creates a Lambda function pointed to your ZIP
in S3, invokes it and returns the result \- For sequences, do the same thing,
except the client handles making each sequential call

Stack: FE: React/Redux BE: Node.js, MySQL, AWS, Redis

I'd be really interested to hear any feedback or feature requests.

I'm also looking for a co-founder to work on this with (NYC or SF area), so if
you like the idea just reach out at info [at] codeblox [dot] io

Thanks! Alan

~~~
staple
interesting idea. what sort of license is applied to the code i upload?

~~~
alanfriedman
Thanks! The plan is to let the author specify the license type in the
codeblox.json file, similar to what you would do on GitHub or with an NPM
package.

------
fiatjaf
Now a question: have you thought about just running code blocks on the client?
It would have limitations, but I guess most tasks could be accomplished, and
the backend running costs would be enormously smaller.

There's also the problem of executing other people's code in your visitors
machines, but maybe that isn't so bad -- or could be solved by running a
better language than raw Javascript.

I know this sounds like a silly idea, but what do you think?

~~~
hyuuu
this is what I built actually, though not active anymore. Users can upload
functions with defined parameters and output, which can be strung together.
Very ETL oriented. Each of the function will run as a web worker.

An example that I did with the platform was, parse Skype chat log (500MB ish)
of it, and look search for specific strings and dump it back as CSV by
stringing 3 functions together, all running inside web workers.

------
fiatjaf
Ok, just one more quibble: I have the impression that since blocks are small
this system is ideal for small pieces of code and has already a great a web
interface for input/output, why not let us edit blocks online and test them
live with hand-inputted values while we edit? Glitch.com, for example, has a
web editor by default, but it is so cumbersome to try the app while editing it
-- the contrary is true on Codeblox.

------
aryamaan
This is a nice concept. It seems like making coding more social and I am
excited to see people making interesting things with collaboration.

Right now we can assemble blocks sequentially. It would be awesome if those
can also be arranged conditionally (by some programming language- a
programming language to arrange blocks of code,eh).

~~~
alanfriedman
Thanks! I agree about conditional logic - maybe also loops - and will be
thinking about how to incorporate something like that.

------
fiatjaf
I think this would be very useful for non-coders. For example, some days ago a
friend of mine was struggling to get just the emails addresses from a list of
names+emails he had in an Excel file.

~~~
alanfriedman
Yes I think so too. Long-term I'd like to have a extensions (Chrome, desktop,
etc) that give access to running blocks from anywhere. I think this makes code
much more usable to non-developers.

------
fiatjaf
Wouldn't using a typed language would be better suited for this? Why not?

