coming soon: peerstate

August 6, 2020
development backstory open source

All of my open source projects start with trying to build something, getting frustrated, saying in my head “I wish I could just do this,” then obsessively investigating what it would take to be able to “just do this.”

Sometimes this inspiration comes on a work project, but more often, it comes when I am working on a side project, or playing with some new open source thing. My first example of such a project, was when I was working on an investment project called Herd. It was my first react native app, and I was frustrated that I couldn’t use environment variables. At the time, react native was very new and I couldn’t find a good way to use environment variables, so I learned how to write a babel plugin, made one for my environment variables (rather quickly), pushed it to npm, and forgot about it.

When I checked on it a couple years later, I noticed that it was getting thousands of downloads a week on npm, but had no GitHub stars. I gave the project a bit more love after this realization, but ever since, I have been trying to make a project I can be passionate and proud of become popular.

This sorta happened when graphql-gun became popular, except in this case, it got lots of GitHub stars, but relatively few npm users. The problem with this project, was that while it was a really cool demo, and could be used practically, it didn’t really solve any fundamental problem that couldn’t be solved by using gundb alone. I suppose it adds a declarative interface to something that was imperative, and if that is your style, it does make a bit of a difference, but it was an island of declarative code in a sea of imperative frameworks.

If I really wanted to make graphql-gun useful for building apps, I would need a simple, declarative, batteries included authentication and authorization framework that goes along with it. Like any good library though, I didn’t want it to be coupled to a particular decentralized system, so I decided to go with a system of packages that can integrate with different things that I am interested in integrating with, like react and gundb, along with a core package to house common code and a server CLI for doing traditional client-server style key management to maintain control over your service while getting all extra robustness of a decentralized system.

The result of all of this is peerstate. It is still in the early stages of development, but I will let everyone know when it is ready and hopefully it will fit well into some existing ecosystems while giving everyone a nice declarative way to do authentication and authorization in their hybrid decentralized apps.

My Mixed Image of Success

October 20, 2020
quirky life backstory

GitHub Inbox Zero

August 14, 2020
development devops quarantine open source

the yin and yang of utility

August 8, 2020
development quirky life shower thoughts philosophy
comments powered by Disqus