Papyrs: A Web3 Blogging Platform on the Internet Computer
Introducing an open-source, privacy-first, decentralized blogging platform that lives 100% on-chain.
I have developed a new open-source, privacy-first, decentralized blogging platform that lives 100% on-chain — and today I am making it available to anyone. I call it: Papyrs.
What a ride!
Last year, I was lucky enough to receive grants from the DFINITY Foundation to port our web editor for slides, DeckDeckGo, to the Internet Computer. But while I completed all milestones, I did not migrate it yet.
Along the way, I had the idea of extending the platform to support documents. One thing led to another, and I ended up developing my own rich text editor library, Stylo, and decided to focus first on this new format; which is why I’m now launching a new blogging platform.
On the one hand, thanks to this approach, I limit the number of features I launch on the IC, which allows me to gain experience to later deploy our presentation editor more serenely.
On the other hand, I like to develop new ideas, and thus double the fun 😜.
So, why launch another blogging application? After all, there are already many platforms that allow you to write articles, right 🤷♂️?
Yes, but none are following the guidelines that drive me.
Decentralization & blockchain
The concepts of decentralization and Web3 are linked to a certain form of romanticism for developers that Chris Dixon summarizes in the following terms:
“The lesson is that when you compare centralized and decentralized systems you need to consider them dynamically, as processes, instead of statically, as rigid products. Centralized systems often start out fully baked, but only get better at the rate at which employees at the sponsoring company improve them. Decentralized systems start out half-baked but, under the right conditions, grow exponentially as they attract new contributors.”
As a programmer, this idea appeals to me. I also think that blockchain technology might lead to interesting new perspectives for the future.
I can, for instance, imagine that consensus and other certification mechanisms could potentially be useful to prove the validity of the articles that would be shared with Papyrs — i.e., they could be used to prevent fake news and misinformation.
But that is for the future. Right now, my main commitment is empowering users’ ownership of their data by taking advantage of smart contracts.
Between ad networks that I cannot stand and Big Tech companies that exploit our private data, I developed a bit a pessimist view on the what the internet has become. Furthermore, as my parents say when they are pessimistic, it also feels that “the best is not to come.”
That’s why I developed Papyrs with a true privacy-first approach.
The editor works primarily offline and requires no sign-in. The blog posts can be loaded and exported to the file system. There is a Chrome plugin to convert these to markdown.
If you are interested in storing and sharing your blog posts online — on-chain — then an authentication with Internet Identity is required. However, unlike any other auth providers, using this powerful password-less method preserves anonymity!
Finally, as currently implemented, I — as the admin of the platform — have absolutely no privileges to read your data. As long as you do not share any content publicly, it remains fully private.
Your data are your own, period.
In my opinion, there can be no privacy without open-source code. It is a matter of trust. Therefore, here are all of the links to each and every single line of code that I wrote for Papyrs:
- Papyrs: the main repo — the web application
- IC: canisters and sign-in providers
- CDN: libraries and assets used across the platform
- Unsplash-proxy: a proxy used to query Unsplash
- Stylo: another kind of rich text editor
- Kit: the templates for the posts that are published on chain
- Papyrs to markdown: a Chrome plugin to convert to markdown
- DeckDeckGo: various web components, utilities and the providers for the offline persistence and synchronization of the data
As the saying goes, “sharing is caring” 🤗. I hope what I implemented can help any developer start building on the Internet Computer. Furthermore, I am also looking forward to feedback and contributions (🤞) in order to improve the project.
Besides my opinionated point of view and the fact that I am the first user of my own project, I should admit that I have also some small hopes for Papyrs to generate revenue in the future.
This cannot happen without users, but if some would be interested, I am convinced there is a way to find a model that can be profitable both for Papyrs and the content creators while absolutely making no concession on my values.
As mentioned previously, I myself use the platform for blogging. That is why I designed it the way I want with the features I often need — e.g., browsing Unsplash to select images for presentation.
Adding GIFs from Tenor for comic relief.
Showcasing code snippets and editing these with the Monaco editor.
Sketching hand-draw like diagrams with Excalidraw.
And more to come…
Call for writers
Today, my blogging platform is becoming accessible to everyone, but that doesn’t mean that it really lives. It needs a community, it needs content, it needs writers — it needs YOU!
Get started now to write your next blog posts: https://app.papy.rs
To infinity and beyond,