Hello! What's your background, and what are you working on?
My name is Justin Hunter. I'm a former account manager, recently turned software engineer, and I'm a writer. That last part is why Graphite exists. I wanted to build something to support my writing, and that's exactly what I did after I finished my MFA program.
Graphite is a decentralized and encrypted productivity suite. It includes document editing and collaboration, spreadsheets, file storage, and contact management. But it started out as a simple document editor so I could move my own writing away from Google Docs. Currently, Graphite has over 5,000 free users, but an enterprise offering is in the works and there's already been a significant amount of interest from businesses and organizations that have been looking for secure alternatives to products like Google Docs and Dropbox Paper.
Graphite is making $12,500 in monthly recurring revenue thanks to Blockstack, a program sponsored by the underlying protocol Graphite uses.
What motivated you to get started with Graphite?
I've always been a writer. For as long as I can remember—whether it was short stories, comic books, novels, blog posts, or journalism—if it was written, I loved it. Toward the end of my MFA in Creative Writing, I started getting really uncomfortable with the idea that every piece of important writing I had was stored with Google. That's when the seed that would eventually grow into Graphite was planted.
When I first started building Graphite, I had no intention of anyone else using it. I just didn't want to go back to writing in Microsoft Word and being locked into accessing my writing only when I had the computer I wrote it on available. Basically, I wanted the convenience of Google Docs with none of the privacy trade-offs. So, I started building it. I had discovered Blockstack's protocol shortly before starting to work on Graphite, and I knew that it would be the perfect solution. Blockstack's value proposition is data ownership. Rather than having applications that maintain a database of all user data, what if each application simply served up data to users from a storage location owned and maintained by that user? That was exactly what I wanted for myself, so I dove into building Graphite for myself on Blockstack.
As I started building Graphite, their community of evangelists and developers got word of the app and responded with such positivity that I decided to make it available for everyone. The response was better than I could have hoped for and drove me to consider Graphite as a commercial product. It was at that point that I decided to start evaluating its potential in the market. While building the free version (the version I had only intended for personal use), I started setting up meetings with journalists, lawyers, NGOs, and more. I wanted to know how they managed collaboration in the workplace and specifically how they managed security.
Most of them didn't have good solutions. It was clear there was a market for a usable, secure alternative to the existing productivity suites on the market. So, with no real technical knowledge and no experience in this domain, I dove into expanding Graphite. From the initial launch in March of 2018 until now, Graphite has grown a lot and it has expanded into something that small to large organizations can use to securely manage their work.
What went into building the initial product?
Initially, Graphite was just a document editor. I focused on building something that could reasonably be used by someone like myself (a writer who works with a variety of document types) without making the user want to instinctively reach back for Google Docs. Fortunately, code is cheap. The only cost to building the first iteration of Graphite was time. I learned as I built and probably took a lot longer than seasoned developers would have. But that time led to more skills and eventually, developing Graphite just became my second job.
The first iteration of Graphite took five months to build. I had a working product within three months, but that version didn't include all the features that were eventually launched to the public in March of 2018. It was difficult deciding what to build and when. As a solo-developer on a project that was never supposed to exist, figuring out the best move was next to impossible. So I just built what I wanted to build and validated its usefulness. Did that lead to some wasted effort? Sure. I build a chat feature that was only part of the app for about a month. But that process also taught me a lot about validating ideas, building smaller versions of an idea, testing use cases, etc.
During this exploratory process, Graphite was entirely self-funded, though that’s a bit misleading. I had to pay for a domain name and that's about it. Netlify provides free hosting to open source projects, and because Graphite doesn't maintain a database or server, there really were no other costs. Besides time, of course.
After the public launch, when it was time to scale Graphite up, a friend and former co-worker provided early funding. This funding allowed me to hire contractors during the summer of 2018. One of those contractors worked on a mobile app that, unfortunately, never came out. The other contractor built the first iteration of real-time collaboration in Graphite. His contribution was incredibly important because it provided one of those must-have features that people expect from apps like Graphite.
In addition to the funding and the contractors, I have had a ton of help along the way. The core engineering team at Blockstack was instrumental in helping me understand the right approach to problems. Blockstack's growth team introduced me to a ton of people that helped me learn how best to market Graphite. I met friends along the way that were building other apps and have always been there when I had questions. An indie developer working on open source software is never really alone.
How have you attracted users and grown Graphite?
I was incredibly fortunate when launching Graphite. A lot of things came together at the right time. Blockstack had invited me to their big event, Blockstack Berlin. So, I was able to present Graphite to a large group of tech enthusiasts, media, and investors. At the same time, I launched Graphite on Hacker News and someone hunted it on Product Hunt. In both cases, Graphite got a ton of visibility.
Those variables led to the initial traction Graphite saw. From there, I focused on growing the user base by attending events. I went to the Oslo Freedom Forum where activists, philanthropists, and technologists come together to help talk through and work on solutions to problems of authoritarianism. Many people around the world need censorship resistant products, so Graphite was well-received there. Later in the year, I went to the Decentralized Web Summit, a Blockstack event in New York, and the Oslo Freedom Forum's NYC event. All of this helped keep Graphite's momentum going.
The decentralized web treats metrics very differently than the traditional web, but there are still numbers available to help visualize Graphite's growth. Perhaps the best source of information is theblockstats.com. I can also share that Graphite users have created over 40,000 documents.
Outside of attending events, the only other marketing I've done has been through active use of Twitter (you can find me @graphitedocs) and publishing blog posts. Both of those come naturally to me as I'm both a Twitter addict and (as we've established) a writer. I would say that if I felt qualified to give any sort of growth advice, it would be to have an active presence on Twitter (or whatever social media makes sense for your app), but don't make that presence feel like marketing. I see people who follow a lot of other users in hopes of getting them to follow them back. That's not a good way to convert a social following into users. If people are interacting with you on social media and following you organically, they are far more likely to also be using your product.
What's your business model, and how have you grown your revenue?
I'd venture a guess that Graphite's revenue model, at least as it is today, is probably one of the more unique models to come across Indie Hackers. In building out the enterprise functionality, Graphite has toyed with a number of pricing models. I landed my first paying customer at the end of last summer but the pricing model was just not conducive to the market I was targeting. So, I refocused on the features necessary to target higher-budget enterprise clients and shifted my revenue attention to alternatives. Because Graphite is built on Blockstack, I qualified for an exciting alternative revenue path: Blockstack App Mining.
Graphite was part of the pilot run of App Mining in October and led the vote for that month. Now in its alpha run period, Graphite has led the voting in both December in January. Whether Graphite continues to lead in the months to come is yet to be seen, but I have no doubt that revenue will continue through this program.
Blockstack is incentivized to grow their network, and the App Mining program is a unique and smart way to do this. It encourages app developers to build on the platform, but it also encourages quality apps. And while the App Mining program is not a permanent source of revenue, it is planned to operate for four years. So as long as apps like Graphite show improvement and participate, they have a source of bootstrapping money to help them bridge the gap from free app to paid app or from idea to product.
What this has specifically meant for Graphite is that I have been able to focus on building a better product before rushing it into a paid market. It has also allowed me to focus on customers rather than fundraising, unlike a lot of other early-stage startups.
When building a new product, revenue is important, but equally important is considering other sources of that revenue. This is especially true when building decentralized apps. The market is still very new, so getting from product to profitability may take significantly longer than traditional apps. Alternative revenue sources insulate apps like Graphite.
What are your goals for the future?
I plan to offer a new version of Graphite to enterprise customers that allows those customers to stand up a storage hub anywhere they'd like. This means Graphite can run behind a company firewall if necessary. In addition to the product, the plan is to offer services for enterprise customers. These services might include configuration of the storage hub for a company, custom middleware services, support agreements, and more.
A big part of accomplishing the enterprise goals for 2019 is scaling up the Graphite team. Using some of the revenue from App Mining and early customer contracts, I plan to expand the engineering team and hopefully hire someone for business development.
Now, being that Graphite operates in the decentralized web space, the biggest obstacle to these plans is simply adoption and interest. I believe it will be important for me to position Graphite as a security solution before it's positioned as a decentralized app in order to help drive adoption.
What are the biggest challenges you've faced and obstacles you've overcome? If you had to start over, what would you do differently?
I think many people in the Indie Hackers community will relate to this, but one of the hardest things I've faced with Graphite is trying to be taken seriously as a solo founder. Whether it was in big meetings with prospective clients or when trying to raise funds (which I did way too early in the process), not having a team in place, right or wrong, gives the impression of inexperience.
If I could start over, I would have likely tried harder to find a co-founder. Of course, that would have required hindsight that I was going to be building a product and not just an app for myself. I also would not have tried to build a mobile app. I made the mistake of jumping into that initiative without considering it thoroughly. I'm building a product that changes daily and uses technology that is often not compatible with mobile SDKs. And frankly, it's not necessary at this stage.
Have you found anything particularly helpful or advantageous?
I'm a huge proponent of NOT working a million hours a week. So, what does that mean when you're working on something in addition to your day job? It means finding a rhythm and dedicated time to work without taking away from the time you spend with loved ones. For me, that was waking up early to work on Graphite. Working on it during my lunch and other breaks, and working on it at night either while relaxing with my wife or after she had gone to sleep.
I would recommend any of the books written by Jason Fried and David Heinemeier Hansson. Their most recent one, It Doesn't Have to Be Crazy at Work is incredible, but Re/Work still tops my list as most influential books.
I think it's also important to understand luck plays a big role in any company or product. I was lucky in some areas (Hacker News, Product Hunt), but I've been unlucky in other areas. When you see the success of another company or product, don't immediately assume they did something you should have done. It's very possible, likely even, that a portion of their success was a product of luck. We don't want to admit how much of a role luck plays, but as soon as you do admit it, you free yourself to focus on what is in your control.
What's your advice for indie hackers who are just starting out?
The biggest piece of advice I can give is to just build your product. Someone much smarter than me told me early on with Graphite that I didn't yet have a company. I didn't yet even have a product. I had an app. For me to have a product, I had to keep building. Once I had a product, I could have a company because I could sell that product. But you can't get from app to company without building.
As for learning, I'd suggest people spend less time listening to product podcasts and reading product blogs. Indie Hackers and other similar sites provide valuable information about real experiences, but I'd encourage people to read widely. Listen to podcasts about world events. Understand the world better so that you can understand the viability of your app or product outside your bubble.
Where can we go to learn more?
—, Founder of Graphite
Want to build your own business like Graphite?
You should join the Indie Hackers community! 🤗
We're a few thousand founders helping each other build profitable businesses and side projects. Come share what you're working on and get feedback from your peers.
Not ready to get started on your product yet? No problem. The community is a great place to meet people, learn, and get your feet wet. Feel free to just browse!
—, Indie Hackers founder