
Show HN: Me API – turn yourself into an open API - danfang
https://github.com/danfang/me-api
======
ac360
Dan -- the themes and ideas behind this are rad and I'd love to chat with you
to find out more about what you'd like to do with this.

I've been bootstrapping a concept that shares "the personal API" concept for
12 months now with a team of three and we're going to launch it in a couple of
weeks.

Since other services' API rate limits and terms makes depending on them nearly
impossible at scale, we decided to give everyone an API and a database.

The database stores data in community-driven schemas called the JSON
Archetypes: [https://github.com/servant-app/json-
archetypes](https://github.com/servant-app/json-archetypes).

The project is Servant -- The Amazing Personal Database
([https://www.servant.co](https://www.servant.co))

Anyway, I just starred the Me API. I'm in Oakland, if you're nearby, and you
can contact me whenever you like: austen [at] servant.co I just like hanging
with similar thinkers.

Cheers

~~~
kordless
I assume you are hosting these personal databases?

~~~
ac360
Yes

------
danfang
Hey guys! Thanks for checking out my little project.

Some background info: I was reflecting the other day on just how proprietary
our online information seems. Maybe not proprietary, but definitely
disjointed. We go to Twitter for social blurbs and trends, we go to Facebook
to see our friends, Pinterest to see our interests, Github to see our code,
etc etc.

I thought there was a big gap in getting access control to this information
and that there are extremely powerful ways we can leverage all of this
information. This essentially bootstraps the entire process of going through
each social network's API and puts it in your hands. I think some interesting
interfaces could come out of such an idea, although I'm not sure how well my
implementation has allowed for that.

All in all, please give your feedback. I want to know areas where this is
lacking, where you might see hidden opportunities - any reflection is
appreciated!

~~~
po
Very cool space to play around in. You should check out Naveen's personal site
(foursquare founder) as he was playing around with something similar for his
own data a few years ago:

[http://api.naveen.com/](http://api.naveen.com/)

~~~
icebraining
There was also the Locker Project
([http://lockerproject.org/](http://lockerproject.org/)), which I was keen to
use and contribute to, but it stalled years ago.

------
firloop
I had a similar idea -- however yours definitely is way more polished,
especially during the setup phase. I definitely share your ideas of data
liberation and open access. I've been meaning to add more endpoints to mine,
but perhaps I'll move over to yours and just port the missing endpoints over.

Here's mine on github:
[https://github.com/lukemiles/api.lukemil.es](https://github.com/lukemiles/api.lukemil.es)

Here's my website which is powered by it:
[https://lukemil.es/is/](https://lukemil.es/is/) (sleep endpoint is currently
disabled).

------
viraptor
Can we just call it finger2? Or json-finger? I mean, that's what it really is,
just adjusted for today's reality.

I was surprised the readme in the project doesn't mention it.

~~~
danfang
Hmmm, I never really thought of it like finger - that's a good analogy! I
think there is potential for many other use cases rather than just for others
viewing information about you though.

~~~
icebraining
Related: WebFinger ([https://webfinger.net/](https://webfinger.net/))

------
gordjw
Very cool! Any thoughts about making it two-way at some point? For example,
make sure that every network is updated if you change your name or email
address.

------
juanuys
Or, if you already have a personal website, why not just use something like
FOAF [1] via RDFa [2]? (granted, jCard is ugly)

[1] [http://xmlns.com/foaf/spec/](http://xmlns.com/foaf/spec/)

[2]
[https://en.wikipedia.org/wiki/RDFa#Examples](https://en.wikipedia.org/wiki/RDFa#Examples)

------
harshitrohatgi
This is super cool. I never encountered something like this before, but seeing
the comments, it seems there are a bunch of them out there. Will surely build
mine.

------
junto
To make the schema a little bit more generic, have you considered changing the
'tech' node to 'skills'? Non-tech people could use it then.

~~~
danfang
Hey Junto, it's a completely open schema as of right now. Feel free to add
whatever fields you wish and render them as you will! What I have is just a
template that works for me - think of me.json kind of like json-server, but
all about you.

------
fiatjaf
Anyone interested in this might look at
[http://indiewebcamp.com/](http://indiewebcamp.com/)

------
win_ini
I think this is a fabulous idea. I will caveat that I don't code (yet) but can
follow along several of the examples and I _think_ I "get it"...let me know if
anything below is BS/way off.

I was thinking about the same problem a few weeks back when LinkedIn was
s̶c̶r̶e̶w̶e̶i̶n̶g̶ ̶o̶v̶e̶r̶ ̶d̶e̶v̶e̶l̶o̶p̶e̶r̶s̶ improving their users
experience. It's basically a fancy online resume with a graph that connects to
so many people now that it's a crapshoot if people actually remember how they
got connected in the first place. But I digress.

Thinking about how this sort of framework you've developed might be useful for
an aggregated profile that can then be opened up as a proxy to various
service/apps instead of actually giving direct access to your accounts (maybe
have something like IFTTT to import your various social profile info into the
Me API as it is updated):

\- Hate to allow apps to see all your github repos? Filter it via this
service.

\- Dislike giving random apps access to your facebook likes, profile and other
info? - use this service as a proxy to only present the info you feel
comfortable with (maybe a maximum of 5 posts, or posts within a certain
area/geofence, etc). Basically, you can create app permissions that are more
granular than Facebook's out of the box preferences.

Of course - all this would need support from apps to tap into this data source
(the Me API). It's an interesting idea.

Taking this a step further - I think it would be cool if it was somehow
possible to obfuscate my identity - while sharing SOME of the "Me API" data
with other services.

Some examples I'm thinking of (which may not be really possible - I realize
the data provided could provide enough clues to be used to "uncover" my
identity by piecing the datapoints together):

\- Allow a photo editing app to pull my SmugMug photos through the Me API
endpoint, but keep my SmugMug account info obfuscated (ie: do not provide
direct URL to my smugmug site's photos), but still pass over my actual photos.

\- Allow a mapping/analysis application to access my Yelp reviews by location,
without knowing my actual yelp account info/nickname.

\- Pass over my LinkedIn graph (that I've manually downloaded as a CSV and
ported into my Me API datastore) without providing access to my LinkedIn name
or profile info. This could be used to help friends find jobs - without
exposing my identity to a random webservice.

\- Pass over all my Google map searches/saved locations but don't provide any
that are within 100 miles (+- 10 miles) of my home. Provide access to my phone
number area code, but not my email address. etc.

The Larger Idea here: There are apps that can use your data to provide useful
results/info/insights but ultimately the user (Me) should retain how much info
is in fact exposed to the service. Maybe the service only gets a HashID or a
Nickname - but can access a bunch of data that I give permission for it to
access. Another application may get my whole profile, but not detailed
transaction data. The webapps that leverage my profile info should "own" the
graph of data they collect from Me and Others - but the user (Me) controls how
identifying it is.

Sorry for the rambling, hopefully this isn't too crazy or off the wall. Either
way - great idea and thanks for sharing!

~~~
Xorlev
I really like this idea FWIW. That said, there's some big barriers to making
it a reality.

I think it'd be difficult to get enough external services to integrate into
the personal service for grabbing Github/Yelp/etc. data. There'd have to be a
standard of some sort that people were willing to build with. External
services that want your data will ask you to oauth directly to Github et. all,
or go around you to figure out who you are instead and then scraping pages.

You'd need enough people demanding to keep their data private to make it worth
apps' time to do that.

------
jdanoz
Clearbit is another similar Service.

~~~
Xorlev
It is? Doesn't look like it. Looks like this is about turning your own data
into an API, not another company selling data about you.

