
Show HN: API Marketplace for Developers by Developers - timmm
https://askmacgyver.com
======
lunactic
As someone with a research interest in such services maybe you allow me to ask
a few questions (you don't have to answer all of them)

\- What separates you from existing API Marketplaces (e.g. Algorithmia)

\- What kind of run time environments do you allow?

\- Do you have programmer APIs other than JS?

\- From your blog I am assuming you use docker for running the algorithms?
Will the docker images be made open too?

\- How much effort do you think it would take me to transform an existing
algorithm that I have to be available in your system?

~~~
timmm
> \- What separates you from existing API Marketplaces (e.g. Algorithmia)

Macgyver differs from Mashape in that we host the program and actually run the
program against the data (processing). This allows us to have more control
over verifying the up-time as well as any changes to the program which might
affect an end user's application (we do our own versioning so any new changes
will be pushed as an incremental version) as to mitigate negative impact to
clients already using the API.

We differ from Algorithmia in that we don't require you to learn our
development tools or programming languages. We offer custom runtimes. We
function by specifying -

1\. How we will supply data to your program 2\. The runtime you want us to use
3\. How we expect the program to respond

But ultimately we don't care how your program does that or in what language it
is programmed.

> \- Do you have programmer APIs other than JS?

Not sure what you mean by this, the API takes and returns JSON but it can be
used with any programming language.

> \- From your blog I am assuming you use docker for running the algorithms?
> Will the docker images be made open too?

The programs are executed inside docker containers. We are still architecting
the optimal workflow for our publishers and if that means making the macgyver
docker image public we will do that but that is still TBD. We may just offer a
sandbox environment for publishers to test in.

> \- How much effort do you think it would take me to transform an existing
> algorithm that I have to be available in your system?

It's likely going to be easier than any other tool. We are going to work on
providing more documentation and releasing the API docs very shortly - but the
gist of the process is that you can move your algorithm program (or directory)
into a folder in a standard linux box and from there you will just need to
modify how you get your input data and how you format your output data, and
specifying a runtime for macgyver to call on your main program file.

Thank you for the interest!

::Tim

~~~
remy_
> \- Do you have programmer APIs other than JS?

He probably means SOAP, Corba, etc. not just REST/JSON.

------
ilanco
The site is not browsable on mobile. A lot of the content on the main page is
obstructed or unreadable.

~~~
timmm
Thank you, will address this week.

------
cdbattags
I'm getting OPTIONS pre-flight check errors for all calls to macgyver.services
just fyi on Chrome so literally unusable

"No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin '[https://askmacgyver.com'](https://askmacgyver.com') is therefore not
allowed access. The response had HTTP status code 502."

~~~
timmm
API went down, back up. Thanks.

~~~
IanCal
Looks like it's back down, at least for me, none of the examples are loadable.
Edit - user signup is down as well.

------
tluyben2
Looks good, but the frontend is buggy on Chrome.

~~~
timmm
Noted - Thanks.

------
IanCal
Ok, so the signup and things are working now, how do I actually add an api
endpoint?

You have docs for accessing it but I can't find any for me _building_ an api
endpoint. The docs also seem to suggest I use a client library called "kittn",
which I'm pretty sure is wrong.

Your FAQ is empty.

Your blog has nothing (as far as I can see) to do with your product.

I've made a new program, but it's asking me for "the program file". What file?
What formats, how do I specify dependencies, what API should I be building
this against?

I'm trying not to be too negative, but I am really actually trying to use your
product and am failing.

~~~
timmm
>You have docs for accessing it but I can't find any for me building an api
endpoint. The docs also seem to suggest I use a client library called "kittn",
which I'm pretty sure is wrong.

No you are absolutely right. The docs are not built out yet and you are seeing
the template data. We will curate this process and provide documentation. But
a quick overview is as follows.

The API endpoint is static.

POST [https://macgyver.services](https://macgyver.services)

The payload is a dynamic JSON object that has the following properties.

program id, user key, program_data (as defined on the program input page)

It would look something like this -

{ id: "9s9z6J6b", key: "private-live-6w9c2p10G5p3b6y" program_data: {} }

As far as how the program should function I can just show you the addition
program as example.

The program should be called "main" with a file extension that corresponds to
the run time you want macgyver to call.

So the addition program is a javascript file called "main.js"

// user specified data format

var data = '';

var sum =0;

data = JSON.parse(data);

for(var i=0; i<data.values.length; i++){ sum += data.values[i]; }

var result = { "sum" : sum }

// This gets returned to the client

console.log(JSON.stringify(result));

The variable 'data' will have it's string content be populated with the
clients payload send data at the time of execution.

[https://askmacgyver.com/explore/program/addition/2c2c5w7W](https://askmacgyver.com/explore/program/addition/2c2c5w7W)

There is some information on that here.

[https://askmacgyver.com/how-it-works](https://askmacgyver.com/how-it-works)

------
FLUX-YOU

        $.ajax({
            ...
               key: "private-live-6w9c2p10G5p3b6y",
            ...
        });
    

I haven't signed up, but if this is going in an ajax request, how do you
prevent people from getting your key? Is this specifically meant for node
where you can guard such things?

~~~
timmm
I just changed that to take the public key, thanks!. Users get a private and
public key, the private key will work in all areas but should never be
exposed. The public key can be exposed and in the dashboard you can white list
the allowed origins.

------
impostervt
I have a side project that I host on Mashape, and I wouldn't mind looking into
an alternative. However, the first thing I tried to find out is, how much does
Macgyver cost? Mashape takes a % of what I charge end users, is this the same?

Also, isn't the name going to get you sued?

~~~
timmm
> how much does Macgyver cost? Mashape takes a % of what I charge users

We allow you to name your own price and that is how much you will receive from
those who use your program. However the client facing price will be higher as
we tack on our additional processing overhead and a fixed percentage fee.

~~~
impostervt
Right, and that's the cost information I'm looking for.

~~~
timmm
Got it, we will add this information and post it when it's up.

------
harel
Very interesting and great name, however - should we expect a cease and desist
order soon for using what is likely a trademarked name? There was a MacGyver
film in the works a while back, though I'm not sure what the status of it is.

------
govindpatel
what can I do with program Id. So when I click on it. it says that it copied
text, where and how can I use that?

I was here: [https://askmacgyver.com/explore/program/general-optical-
char...](https://askmacgyver.com/explore/program/general-optical-character-
recognition/9t5A2G2a)

Also why all have different pricing?

Also most of the things on website seems broken. Like there is a select
dropdown on explore page But when selecting any item from the list, nothing
happens. (Not sure whether that is intended)

~~~
timmm
You can demo the program, so for OCR if you want to run it against an image
you can do that on the demo page.

Try this and see how well it fairs -

Program ID: 9t5A2G2a (General Optical Character Recognition)

Private Key: In your /account under "User Information"

Send Data:

{ "image_url":
"[https://askmacgyver.com/images/passport.jpg"](https://askmacgyver.com/images/passport.jpg")
}

____________________________________________

This will run the OCR program against the image below -

The image you are testing:
[https://askmacgyver.com/images/passport.jpg](https://askmacgyver.com/images/passport.jpg)

[https://askmacgyver.com/demo](https://askmacgyver.com/demo)

------
gegtik
Reminds me of Microsoft's newer offerings:
[https://www.microsoft.com/cognitive-
services](https://www.microsoft.com/cognitive-services)

~~~
timmm
Ya Google has a counterpart product to that -
[https://cloud.google.com/vision/](https://cloud.google.com/vision/)

Regardless Google and Microsoft have offered a narrow slice of what can
potentially be done in this space. They are still not seeing that we really
need is a marketplace that has the ability to let machine learning specialists
surface their work to businesses for a profit.

------
vesinisa
The "custom runtimes" link is broken at [https://askmacgyver.com/algorithm-
developers](https://askmacgyver.com/algorithm-developers)

~~~
timmm
Thanks - fixed.

------
allthingsapi
I see you joining the bands of "serverless" computing - this is no easy feat -
can you speak to what is in your backend and how you plan to support heavy
workloads?

~~~
timmm
It shouldn't be an issue - the API currently sits on Google's Cloud Platform
which provides the infrastructure and tools to scale the service. IMO
Snapchat's usage of the platform really speaks to the stability and capability
of it.

~~~
allthingsapi
If I am going to trust you my API I want to know that you have top notch SLAs
on your service, and since I am providing the code you are going to want to
monitor the heck out of it so that you know that in case of failure whose
fault it is.

~~~
timmm
Understood, we will work on finding that info and surfacing it on the site. As
far as monitoring and errors go, the program is actually hosted by us in this
case. So unless the program is faulty in some way any response issue is
probably our fault.

------
callumlocke
Is the Explore page broken, or is it supposed to be empty?

~~~
timmm
It's back up now.

------
nutheracc
> Input Example

> { "image_url": "http :
> //i2.cdn.turner.com/cnnnext/dam/assets/160203182545-bitch-face-
> large-169.jpg" }

Eh?

~~~
timmm
Didn't notice the URL - I've changed it. Thanks.

------
alixaxel
Almost unbrowsable on mobile. :(

------
anotherarray
Although your front-end is a bit buggy, I did like the initiative.

All the luck for you guys.

~~~
timmm
Thank you, we are still ironing out many of the finer details. Feel free to
let us know if you have any questions.

------
tomford91
how is it different from
[http://market.mashape.com](http://market.mashape.com)?

------
deedubaya
Site needs love for mobile styling

