Four years ago, Justin Hunter was a process analyst at an insurance company who moonlit as a writer and dabbled in HTML and CSS. Today, he is lead developer and Founder of Graphite, a decentralized and encrypted collaborative creative suite that poses a serious challenge to the Google G-Suite/MS Office hegemony.
If you haven’t read Justin Hunter’s fiction, you should. His work has been published in Front Porch Review, Down in the Dirt Magazine, and Centum Press, among others. But that’s not why we are talking to him today. Well, not entirely.
It was during his MFA program at Arcadia University that Justin came to an unexpected crossroads. He realized his entire body of work was stored in Google Docs. Published work, non-published work, notes, rejects, secrets — the whole output and process of his writer’s mind was living in a place he did not control. Not only that: every word, in some way, was potentially being used to sell something back to him. This realization led the writer to become a developer, and the seed for Graphite was sewn.
We caught up with Justin to learn how a writer, driven by the principles of digital privacy and ownership, saw a universal problem and took it upon himself to create the solution.
What was the moment when you were sufficiently fed up with Google Docs, and decided do something about it?
JH: Truthfully, there wasn’t one catalyst. The realizations piled on over time. It was Google accidentally locking people out of their Google Docs accounts. It was Twitter blocking accounts for what seemed like arbitrary policy violations. It was the guy in my MFA cohort who refused to use cloud apps, browsed the web with DuckDuckGo, and used ProtonMail for his email. All of that, combined with my passion for writing, culminated in the genesis of a project that would eventually become Graphite.
What were the first steps you took to get Graphite out to the community?
JH: I built Graphite with the open source software Blockstack created, so I also had access to Blockstack’s engineers. Naturally, as I had questions, I reached out to the Blockstack community. That led to a demo of the app for one of Blockstack’s engineers. He loved it, and really encouraged me to continue. He also suggested getting Graphite listed on the Blockstack Browser.
Initially, you created Graphite for your own personal use. When did you realize you had created something much bigger, something that could change the way we create, collaborate, and communicate?
JH: A lot of projects begin when someone creates something for their own use, but then realize they’re solving a problem everyone else had too. That’s how it was with Graphite. I never had any intention of people using this app. I was building a tool to move all of my writing off of Google Docs. And I desperately didn’t want to go back to saving all my files in Word on my desktop.
I didn’t realize Graphite could be something more until it was released on the Blockstack Browser. Shortly after releasing the first version of Graphite, which was nothing more than a basic version of the documents component, I connected with Alex Gladstein at the Human Rights Foundation. When I explained Graphite, I realized the true impact decentralized documents could have, especially for journalists and activists living in authoritarian regimes. Owning their data in this way was a powerful thing.
What was the development process like on Blockstack? What were the biggest challenges and surprises?
When I discovered Blockstack, I was blown away by how simple everything was compared to working with a full-stack application. Of course, building Graphite hasn’t been simple. But it has been a lot more seamless because of the developer tools Blockstack has created. Building a serverless app, naturally, is easier than building something with a full backend. The Blockstack API is incredibly powerful.
The biggest challenge for me was shifting my newly-wired coding brain away from a traditional database structure and to this new serverless model that Blockstack allowed me to adopt. But learning was fun because Blockstack’s open source community is the best open source community I’ve ever been a part of.
What would you say to encourage others who may want to sake a stab at creating on Blockstack, but have limited coding expertise?
JH: Combine a few Udemy courses and the Blockstack tutorials, and you’ll have an app up and running in no time. Even if you’ve never coded before. I’m not going to say you can just jump right in and build something, but I literally had never built an app in my life as of last summer. Use the Blockstack Forum, interact with the community, be dedicated — and you’ll be fine.
For writers and creatives, the application and efficacy of Graphite is pretty clear. Let’s talk about other use cases. Journalism for instance. We all remember the cloak and dagger game played by Glenn Greenwald and Edward Snowden to get the NSA files published. If Graphite had been around then, could that process have been streamlined?
JH: Definitely, but it goes deeper. We’re in a world that extends far beyond people needing a safe way to leak to journalists. We also need to solve for journalist safety. Increasingly, journalists are imprisoned and killed for reporting facts. For those of us in the United States, we tend to think of those situations happening far away from us, in countries we rarely think about. But just last year, six journalists were killed in Mexico. Newspapers closed their doors out of fear. Worldwide, last year, 42 journalists were murdered for doing work that is necessary and important.
Encryption is the easy answer here, but there also needs to be mechanisms to hide a byline for a story to protect the actual journalist who wrote it. In these cases, not writing all data to a public blockchain is especially important. Because Blockstack only writes key components — like identity and metadata — to the blockchain, data can still be obfuscated and sources protected. This is especially important for foreign correspondents and their sources.
Journalists have already used Graphite to write their stories. Check out this WIRED piece by Tom Simonite about the decentralized Internet. He wrote it on Graphite.
What about Graphite for academia?
Because students own their data, that data can stay with them as they progress through school and into a career. They can accumulate a timeline of progress, and have the means to visualize their improvements, share that history, and learn from their mistakes. This is only possible in a world where data does not live with the app or the administration, but with the individual who created that data in the first place.
Graphite for NGOs?
JH: Similar to the journalism use-case, Graphite can provide a level of privacy for people working in sensitive NGO atmospheres. Many of the activists NGOs work with — as well as employees within the NGOs — are working in hostile environments or putting themselves in danger to further a cause. Sometimes, their activities must be hidden entirely to protect the people they are trying to help. By providing encryption by default and anonymous user IDs, NGOs can better work with activists and people in the communities they serve. The major hurdle for privacy-first activities is actually enforcing that privacy. Since anyone using Graphite doesn’t have to take any additional steps to encrypt data, that hurdle is non-existent.
Graphite for Enterprise?
JH: Graphite provides important security safeguards for enterprises. A medical clinic, for example, can modernize the way they take notes about a patient all while protecting those patient notes. Prior to decentralized documents and collaborative suites like Graphite, there were few secure and modern options. Encrypted data, full data ownership, and security policy controls allow medical offices, law firms, and businesses to protect the patients, clients, and customers they serve.
Graphite recently integrated with Stealthy, a private messaging app built on Blockstack. How did that come about, and what possibilities has it unleashed?
JH: I met the founders of Stealthy in Berlin during Blockstack’s developer summit. We hit it off immediately, and when I found out they had won Blockstack’s second bounty for an encrypted P2P messenger, I knew Graphite and Stealthy could be the perfect partnership. While Graphite had a very basic email/chat hybrid communication component, I knew that was not a long-term solution and had been thinking about an integration for a while. When I spoke to the Prabhaav and Alex, the founders of Stealthy, they loved the idea. We went to work on it immediately.
By having a truly encrypted and decentralized chat application built into Graphite, a whole new level of collaboration is unleashed. While working on a document shared with a colleague, you can pop open the Stealthy module and have a conversation while never having to leave the document. And the data is shared in a fully decentralized way.
What does the development roadmap look like for Graphite?
JH: Many of the enterprise use cases we discussed earlier are in active development or almost done. Releasing those features is a high priority in terms of garnering paid subscriptions, but there’s also an entire community of people using the free, open source version of Graphite. Beyond the features you would expect — like real-time collaboration and a notification system for edits — data portability will also be an inherent feature, ensuring users can send their Graphite data anywhere. Even to centralized applications, if they want.
What does Graphite’s current user-base look like, and what will it take to reach critical mass?
JH: I don’t know who is using Graphite. As a decentralized application, Graphite belongs to the community, and I don’t track data and user information in the way centralized applications do. As soon as I have paying users, which should be very soon, I will invariably know who those organizations are. But individual users are difficult or impossible to track. And that’s by design.
At the same time, I know there needs to be some sort of proof of concept to demonstrate that people are actually using Graphite. To that end, there are anonymized usage statistics available through an open source analytics provider Graphite uses. Those numbers show a nice upward trend in adoption.
In order to reach critical mass, any decentralized app needs its users to forget that it’s decentralized, and provide a seamless user experience that is comparable if not better to its centralized alternatives. Developers want people to understand that they own their data, which remains fully encrypted and ultimately inaccessible to the apps themselves. But people using the apps just want similar experiences that they are used to on the traditional web. Graphite isn’t 100% there yet, but we’re getting close.
Every transformational technology needs its Killer App. What will it be for the decentralized web? Do we have it with Graphite?
JH: This is not a sexy thing to say in crypto — but I think we need to stop looking for a killer app, and instead embrace the idea that a killer new Internet is being developed. I think people assume there needs to be one app that drives adoption of something new, but that’s not how I see it. If we hark back to the 90s and the rise of the dotcom era, it gained traction with the masses because of a plethora of options. Those early web apps — even as they failed as a result of the Dotcom bubble — helped drive the adoption of the internet.
This is what we need to be working toward for the decentralized web. We need more innovation in the applications being launched and more variety. Because the truth is, the killer app for the decentralized web isn’t going to be crowned until the decentralized web explodes like the traditional web did.
Watch Justin’s talk on Graphite at Blockstack Berlin 2018.