I'm curious about the technical/logistical/legal impediments to someone creating their own portal for accessing personal Facebook data?
The project would look something like this:
1. Each user obtains Facebook API access tokens for an app that they create themselves.
2. Some web developer creates a website of their own, either run locally or hosted, that interacts with the Facebook API. They give it some open license and put it up on GitHub.
3. Users follow step-by-step instructions of what the config file should look like.
4. They spin it up and have a website that draws its data (possibly saving to a local DB) containing zero ads, and their friends' recent content displayed according to an algorithm of their choice.
I'm a python web developer, and I'm cognizant of (but not daunted by) the scope of such a project. Given time and coffee, it seems reasonably doable, relative to the benefits of being able to take control over how I consume social data.
In the unlikely scenario that I haven't missed roadblocks to such a project, has anyone ever heard of a self-hosted Facebook client that solves the "I don't like ads" and "I want to have algorithmic control over the content I see" issues?
In the much more likely event that I'm missing a legal or technical consideration, what are those? I can see the 200 API calls/hour rate limit being an issue, but not necessarily a show-stopper if I keep data ingestions scripts running 24/7 (and don't mind some content being slightly older). Image usage, privacy considerations, storing the data as a TOS violation, etc... all of the above are X factors for me.
An initial look through Facebook's TOS didn't reveal anything explicitly against this, but I'm not a lawyer and have no confidence in my ability to read that document and decide if a personal version of this app (or the open sourced version) would violate terms of service.
Bonus Points: Same question, but for Twitter?
Frost (Facebook) - https://github.com/AllanWang/Frost-for-Facebook
Twidere (Twitter) - https://github.com/TwidereProject/Twidere-Android