ZPublish – Open-source Social Network With Microtransactions

Applicant background

Software Engineer with 5 years’ experience working in web and app development. Extensive expertise in building full-stack apps, design systems and server management; experienced with JavaScript and Java. Founder of open-source organization Elemental Design: https://github.com/elemental-design

Active member of the open-source community.

Contributor to:

  • airbnb/react-sketchapp – render React code to Sketch designs or component library
  • react-figma – render React code to Figma designs
  • lona/xd-file – Adobe XD file manipulation utility for Airbnb’s Lona
  • styled-components – one of the most-used React CSS-in-JS libraries
  • commaai/explorer – annotator for self-driving car video footage

Description of Problem or Opportunity

It’s becoming clear to more and more people that the current model of centralized social media platforms does not scale well when it comes to censorship and misinformation. These platforms can become echo chambers driven by algorithmic feeds pushing content that keeps users engaged for longer on the website, maximizing eyeballs on adverts, but to the detriment of users and society.

Monetization on platforms such as YouTube is highly centralized and limited to content that is deemed advertiser-friendly. Many creators have turned to Patreon for their income, but having content spread out across multiple platforms is clunky and leaves creators susceptible to censorship.

Proposed Solution

Initially, the platform will exist as a proof-of-concept Twitter client that allows people to scroll through Twitter users’ feeds and tip specific posts with shielded Zcash (with a memo noting the post ID). Twitter users will be able to sign in with Twitter and declare a z-address.

The next stage of the project will be to evolve the platform into an open-source social media network that can be self-hosted, allowing people to publish a microblog, articles, video, etc, and receive tips in Zcash, giving users control over their data and where it's published. This will make social media censorship-resistant, while still holding people accountable to their hosting provider or community platform they post to. It'll be modelled after W3C ActivityPub's JSON API routes, and may support Mastodon OAuth2 in the future.

Users can choose where to publish their posts: they will be able to post to a Zcash memo with either a text post (to ZECPages), file pointer in the form of a link, magnet hash or IPFS (and to Twitter if API quotas allow for it).

People in the Zcash community will be able to use the platform to earn or spend Zcash, either by writing articles, publishing videos, or tipping to support content they like. This should bring new people to the Zcash ecosystem too, by having an onboarding system explaining how people can use an exchange and Zcash wallet.

Solution Format

Open-source code on GitHub which can be self-hosted, and a website platform (web app) for people to sign-up and use the platform: https://zpublish.org/

Technical approach

Agile methodology with weekly sprints.

App built with cross-platform React.js code: react-primitives (cross-platform primitives) and elemental-react (React primitive UI component system)

How big of a problem would it be to not solve this problem?

Users will be increasingly censored by centralized platforms based on decisions made mostly by machines, and potentially lose their content, followers and income.

Execution risks

Finding which core feature set to focus on initially will take some time and require user testing and feedback. Writers and creators will need to be educated on how to use crypto.

Unintended Consequences

Content creators might find self-hosting a website laborious, which could put them off using the project. Established platforms like Medium and Substack could offer users more exposure. Users will need education on the benefits of this project.

As the platform scales, spam and copyright issues could pose a problem, so an effective moderation system with a dashboard and reporting system will be needed.

Evaluation plan

A number of useful metrics can be recorded and shared: number of public posts submitted to the central platform, opt-in analytics of self-hosted installs, GitHub stars and npm downloads. GitHub issues and discussions will be used to collect user feedback.

Schedule and Milestones

Weekly sprints with deliverables (GitHub merge & site deploys). 12 weeks total – split into three milestones: first, designs; second, self-hosted app MVP; third, platform launch.

Budget

Development

Time Amount
Hourly Rate $100 / hr
Hours Per Week 21 hours
Number of Weeks 12 weeks
Total $25,200

Hosting

$57 / month (OVH Dedi) and $5 / month (DigitalOcean Spaces) – $744 for 12 months

Total: $25,944

Tipping

Tips Received
???  
ZEC
Accepted without fundingThis proposal has been posted publicly, but isn't being funded by the Zcash Foundation.

Campaign

Started
2 months ago
Requested Funding
$25,944
Open for Community Donations