#media/article personal data ownership universal knowledge graph universally interoperable data surface Link: https://beepb00p.xyz/sad-infra.html#what_do_i_do

State of world

data is siloed and trapped inside services

Personal data is in a sad state these days. Let me elaborate.

why matters

  • convenience of access
  • searching data (single source)
  • data ownership
    • local data access (offline) is important too
  • over-reliance on company-made design/interfaces
  • backups are non-existent

Imagine if all of this was on your fingertips? If you didn’t have to think about how and where to find information and could just access it and interact with it? If you could let computers handle the boring bits of your life and spend time on fun and creative things?

what is desired

“Easy” is used here in two senses:

  • easy for humans to look at and browse through

    This bit is hard in practice as (typically) the more machine friendly something is, the less human friendly it’s.

  • easy for programmers to manipulate, analyze and interact with

    Let’s concentrate on this part for now. If this is solved, it automatically enables programmers to develop human-friendly tools. In addition, playing with data and building tools on it feels fun as it is (unlike getting the data).

why its hard

  • auth
  • pagination
  • consistency
  • rate limiting
  • error handling
  • documnetation
  • parsing
  • abstract representation

Now, remember when I said it was tedious for programmers? Constant boilerplate, shitty APIs (you’re lucky if the service offers one at all), latency, flakiness, having to code defensively, etc. Now think about ordinary people who have no clue what 'API' is. They deserve to use their data too.

  • it’s possible that coda can actualize this…

data mirror (basically better version of personal panopticon).

I’m suggesting a data mirror app which merely runs in background on the client side and continuously/regularly sucks in and synchronizes backend data to the latest state.

### unsolved problems

  • deleted content
  • synchronizing data
    • can you handle this like coda does? treat every device as a separate client and use CDRTs…
  • it’s assumed that these tools/integrations are open source and running on computers you own.

What to do?

  • regular data exports
  • package to access data


  • export layer
    • deal with exporting raw data from service
  • data access layer (DAL)
    • deserialize export script output and provide minimalistic data bindings

idea of adversarial interoperability