36
13 Comments

How Taking Back My Privacy Inspired a Product That Became a Business

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.

home

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.

Understand the world better so that you can understand the viability of your app or product outside your bubble.

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.

When I think about where Graphite is now, it's amazing for me to look back at where I was when I started building the app. I was working as an account manager at a software company with no development experience at all. I had HTML and CSS experience, but I had never gotten over the hump of learning JavaScript. Graphite propelled me forward and gave me a real-world reason to learn.

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.

When you see the success of another company or product, don't immediately assume they did something you should have done.

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 it works

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.

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.

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.

Month Revenue
Aug ‘18 20
Sep ‘18 20
Oct ‘18 5000
Nov ‘18 0
Dec ‘18 20000

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.

journalism use case

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?

You can learn more about Graphite on the website, on the blog, or on Twitter @graphitedocs. Now, hit me with your best questions below!

  1. 1

    Great story and congrats! This should scale very easy! Don't take any VC money...be greedy!!

  2. 1

    If you are looking for a good and true hacker who can help you spy on your husband or wife, today I will suggest Cell Tracker.
    It’s really good at doing its job,
    I’ve tried it before and it keeps his promise because with its real help I could find out that my deceitful husband was cheating on me.
    Oh! Thank God I could totally get rid of him. Back to the story my friends, please,
    if you want to hack into the following like Facebook, Whatsapp, iCloud, Twitter, Instagram, Snapchat, Skype and
    all social media network use Cell Tracker. contact [email protected]

  3. 1

    I didn't really understand your business model, nor where the claimed MRR comes from

    1. 1

      This comment was deleted 5 years ago

  4. 1

    Sorry but I'm skeptical. How does trading one identity provider for another (Google for Blockstack) make your data more private. Sure the underlying mechanism is the different but you still need a way to link your data with yourself, so you need this 'revolutionary' concept called an 'ID'. It's game over from there. You're back at the same place you were with Google.

    The following is from
    (https://docs.blockstack.org/browser/ids-introduction.html#why-is-an-identity-not-an-account) which purports to explain the difference between an identity and account.

    "On the internet of today, an account you create for an applications stays with the company providing that app. This company keeps data you enter about yourself and data about how you use their application. When you close your account, the company retains that data."

    This isn't true. You can request a company to delete all your data. GPDR enforces this (https://gdpr-info.eu/art-17-gdpr/), but even without the GPDR in place a company could still delete all your data on request if it was part of their policy. It's not contigent on the underlying technology.

    Can I erase my data from a blockstack Dapp? Or is 'erasure' a transaction on top the blockchain, because that's how I understand blockchains. You can't tamper with previous additions to the chain, since it will invalidate the head of the chain.

    "In decentralized, blockchain software, identity is a combination of username and key. The data associated with that identity stays with it, this means applications or central authorities do not keep our control access to your data."

    This is just FUD exploting the fears that people have with words like 'authority' and 'centralized'. In Blockstack the Dapp you use has control of your data, hence the developer of that Dapp controls your data. Say the Dapp's an email app, and you're writing an email, then there's nothing inherent in the technology of blockstack preventing them from scanning the text for advertising keywords. Granted they'd have to do the scanning while the data is live and being worked on, since at rest it requires a combo of your key and identity, but how is this functionally different from a private/public key setup where the public key encrypts the data and you use the private key to unlock it (note that I said functionally different. I understand that the mechanism is different but the net effect is the same). It's entirely at the discretion of the developer of the Dapp. Further, there's nothing inherent in the technology of blockstack preventing them from making advertising an opt in feature. They can conceivably say 'hey, check this button, and we'll use your emails for advertising and market research'.

    In summary, the fundamental issue about identity doesn't go away just because you've moved from Google to Blockstack which uses a blockchain. It doesn't make things anymore private. It's entirely the discretion of the developer of the application and how they use the data that you give them, and that comes down to old fashioned trust. I don't see how this blockchain effort helps you ensure that the developer of the Dapp you use is trustworthy. All I see from blockchain is a lot of hype, noise and confusion that is bad because it misleads people into thinking things that are not true. Case in point is this (https://docs.blockstack.org/browser/ids-introduction.html#understand-how-identities-function-in-the-blockstack-ecosystem).

    1. 1

      its simple, client side encryption! the key never leaves your laptop or phone. All the data that is stored on the server is encrypted. Blockstack nor Graphite ever see's any keys, the data is encrypted before it ever leaves your computer. Again, nobody has the key except for you. So unless you have a quantum computer you are safe. In the near future most Blockstack apps will support you supplying your own data server (Gaia Hub), so you can store your own encrypted files, put it behind a firewall or whatever you desire.

      Most apps are open source. So can can review the code to see if the app is sniffing out keys and sending to server. You can download most apps and run it on localhost if you want. Also each app that uses Blockstack login is sandboxed. This is because each app gets a separate public/pri key pair using hierarchical deterministic cryptography. I do not see it any different than you trusting your operating systems keychain. Except Mac and Windows does not let you see the keychain code (so you are inherently putting trust in them). On the contrary, Blockstack is 100% open source. I urge you to look at the code that generates keys and come to your own conclusion if you are skeptical.

      Blockchain is only a small component used as a verification and spam prevention mechanism. Encryption and holding your own keys is the real value proposition for this tech. Blockstack just makes it soo easy and user friendly that most end users do not realize they are using advanced cryptography techniques to secure the key. To the untrained eye it looks like you are logging in with a username and password, but I assure you, you are not! Think of it as a more user friendly PGP

      1. 1

        I can do client side encryption with my data as it is, using standard encryption tools, then upload to Google. I think we're talking past each other.

        1. 1

          exactly! but most users are not that saavy. these tools are being built for Grandma too!

  5. 1

    Congrats on the company. I’m a fellow ex-account manager as well, now dabbling in real estate. I love what you say about luck and serendipity. We really are clueless to its role in outcomes and success. I’ve been reading a lot on the subject as well as “hindsight bias”. I think you hit it perfectly when you said just build it. You need to keep trying things for luck to do it’s thing. All the best to you!

    1. 1

      Account manager solidarity!

      And yes, just keep plugging away and eventually if luck finds you great. If not, you still did the work, and that alone is worth something.

      Thanks for reading!

  6. 1

    @jehunter5811 kudos!!! this is a great idea and a great article! Congratulations

    1. 1

      Thanks! Really appreciate it.

  7. 1

    Awesome idea, and grats on the success! I'm guessing the need for services like Graphite will grow as Google becomes increasingly less 'do no evil.'

    1. 1

      Thanks so much! I really do hope people can find alternatives to Google. If Graphite can help, I want to help.

  8. 1

    This comment was deleted 5 years ago